基本情報技術者 2010年 春期 午前(科目A) 問18
問題文
エンジン制御、ハードディスク制御などの制御系ハードリアルタイムシステムでリアルタイム OS を活用する理由はどれか。
選択肢
ア:ウイルス侵入の防御のためにメモリ保護機構が必要だから。
イ:定められた時間内にイベントに対応した処理を完了させる機構が必要だから。(正解)
ウ:システム全体のスループットを向上させる機構が必要だから。
エ:複数の独立したプログラムを並行して動かす機構が必要だから。
🔒 解説は解答すると表示されます
リアルタイムOSの応答制御【午前解説】
正解の理由
正解: イ
制御系ハードリアルタイムシステムでは「ある時刻までに必ず応答・処理を終える」ことが要求されます。リアルタイムOSはタスクの優先度管理、確定的な割り込み応答、スケジューリング(例: 固定優先度やEDF)を提供して、デッドライン遵守を保証する仕組みを持ちます。従って「定められた時間内にイベントに対応した処理を完了させる機構が必要」という選択肢が最も直接的かつ本質的な理由です。
制御系ハードリアルタイムシステムでは「ある時刻までに必ず応答・処理を終える」ことが要求されます。リアルタイムOSはタスクの優先度管理、確定的な割り込み応答、スケジューリング(例: 固定優先度やEDF)を提供して、デッドライン遵守を保証する仕組みを持ちます。従って「定められた時間内にイベントに対応した処理を完了させる機構が必要」という選択肢が最も直接的かつ本質的な理由です。
解法ステップ
- 問題文のキーワードを確認:「制御系」「ハードリアルタイム」「リアルタイムOS」→ 時間制約(デッドライン)が鍵。
- 各選択肢を「時間的性質(時間保証)」と「機能的要求(セキュリティ・スループット等)」で分類する。
- 「期限内に処理を完了させる」が直接的に時間制約を満たす記述なので正解と判断する。
選択肢別の誤答解説
- ア: ウイルス侵入の防御のためにメモリ保護機構が必要だから。
解説: メモリ保護は安全性や安定性に寄与しますが、ハードリアルタイム採用の主要理由ではありません。多くの組込み機器はリソース制約や応答保証が優先されます。 - イ: 定められた時間内にイベントに対応した処理を完了させる機構が必要だから。
解説: 正解。ハードリアルタイムはデッドライン遵守(時間的保証)が最重要であり、リアルタイムOSはそのための機構を提供します。 - ウ: システム全体のスループットを向上させる機構が必要だから。
解説: スループット向上は一般的なOSの目的ですが、制御系ハードリアルタイムではスループットより応答時間の確定性が優先されます。場合によってはスループットを犠牲にしてでも応答保証が必要です。 - エ: 複数の独立したプログラムを並行して動かす機構が必要だから。
解説: 並行実行は必要な場合が多いですが、並行性自体はリアルタイムの本質ではありません。重要なのは各タスクの優先順位とデッドライン管理です。
よくある誤解
- 「リアルタイムOS=高速スループット」と考える誤解:リアルタイムOSはスループット向上が目的ではなく、応答時間の確定性(デッドライン遵守)が目的です。
- 「並行実行できればリアルタイムになる」との誤解:単なる並列・並行性は必要条件に過ぎず、期限保証がなければハードリアルタイム要件は満たせません。
- 「メモリ保護が主目的」との誤解:メモリ保護は安全性向上に寄与しますが、ハードリアルタイム導入の主因ではありません。
補足コラム
- ハードリアルタイム vs ソフトリアルタイム:ハードはデッドライン破りが致命的(例: エンジン制御)、ソフトは多少の遅延が許容される(例: メディア再生)点で区別されます。
- スケジューリング手法:固定優先度(Rate Monotonic)、最早期限優先(EDF)などがあり、タスクの応答性や分析容易性で使い分けられます。
- 優先度逆転と対策:低優先度タスクが資源を握り続け高優先度タスクが待たされる優先度逆転が発生しうるため、優先度継承やプロトコルで対処します。
- 理論的指標:最悪実行時間(WCET)とデッドラインを使ってスケジューラが実行可否を解析します。
FAQ
Q: 一般的なOS(Linuxなど)ではダメですか?
A: 一般OSは決定論的な応答を保証しないため、ハードリアルタイム要件を満たせないことが多いです。リアルタイムカーネルやRTパッチを利用するケースもあります。
A: 一般OSは決定論的な応答を保証しないため、ハードリアルタイム要件を満たせないことが多いです。リアルタイムカーネルやRTパッチを利用するケースもあります。
Q: 並列処理だけではリアルタイムにはならないのですか?
A: その通りです。並列処理は利点ですが、デッドライン保証と優先度制御がなければハードリアルタイムとは言えません。
A: その通りです。並列処理は利点ですが、デッドライン保証と優先度制御がなければハードリアルタイムとは言えません。
Q: リアルタイムOSは常に高性能CPUが必要ですか?
A: 必ずしも高速CPUは不要です。重要なのは応答時間の予測可能性とスケジューリングの適切性であり、低消費電力CPUでも要件を満たすことは可能です。
A: 必ずしも高速CPUは不要です。重要なのは応答時間の予測可能性とスケジューリングの適切性であり、低消費電力CPUでも要件を満たすことは可能です。
Q: 優先度逆転はよく出題されますか?
A: 出題頻度は高く、概念と優先度継承などの対処法は押さえておくべきです。
A: 出題頻度は高く、概念と優先度継承などの対処法は押さえておくべきです。
関連キーワード: リアルタイムOS、ハードリアルタイム、組込みシステム、デッドライン、スケジューリング、優先度逆転、WCET

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

