メインコンテンツへ
ソフトウェアリアルタイムOS

ハードリアルタイム(Hard RT)とソフトリアルタイム(Soft RT)の違いとして正しいものはどれか。

ア.ハードリアルタイムは処理速度が高速で、ソフトリアルタイムは処理速度が低速である
イ.ハードリアルタイムはデッドラインを1回でも超えると重大な損失・危険が生じるが、ソフトリアルタイムはデッドラインを超えると性能が劣化するものの破滅的な結果にはならない正解
ウ.ハードリアルタイムは汎用 OS で実現可能だが、ソフトリアルタイムは専用 OS が必要である
エ.ハードリアルタイムは応答時間が数秒以内であれば良く、ソフトリアルタイムはマイクロ秒以内の応答が必要である

解説

ハードRTは「心臓ペースメーカー」—— 0.01秒遅れたら命に関わる。ソフトRTは「動画ストリーミング」—— フレームが少し遅れれば映像がカクつくが、死亡事故にはならない。デッドライン超過の「代償の重さ」が根本的な違い。

なぜ イ が正解か

ハードリアルタイム: デッドライン(期限)を1回でも超えると系全体が機能不全・人命危険・重大損失につながる。航空制御システム、自動車の ABS、原子炉制御などが例。デッドライン保証が絶対要件。ソフトリアルタイム: デッドラインを超えても系が壊滅的障害にはならないが、サービス品質が劣化する。動画再生、オンラインゲーム、取引システムなどが例。デッドライン遵守は望ましいが超過が致命的ではない。

なぜ ア は間違いか

処理速度の高低でハード/ソフトを区別するわけではない。同じ処理速度でも、デッドライン超過の結果の重大性でハード/ソフトが決まる。速度の誤解による誤り。

なぜ ウ は間違いか

逆。ハードリアルタイムシステムはデッドライン保証のため専用 RTOS(μC/OS, FreeRTOS 等)が必要。汎用 OS(Windows, Linux)はリアルタイム保証が困難。

なぜ エ は間違いか

応答時間の絶対値でハード/ソフトを区別するわけではない。ハードRTが必ずマイクロ秒で、ソフトRTが必ず秒単位とは限らない。デッドライン超過の影響の深刻度が基準。

出典: AI生成問題(学習用)