エンベデッドシステムスペシャリスト 2024年 午前2 問06
問題文
プロセスの切替えに関する記述のうち、ディスパッチャの説明として、適切なものはどれか。
選択肢
ア:主記憶に保存されている選択したプロセスの情報を、CPUにロードしてプロセスを起動する。(正解)
イ:次に起動すべきプロセスを、優先順位に従ってプロセス群の中から選択する。
ウ:プロセスに与えられたタイムクウォンタムが経過したことを、OSに通知する。
エ:プロセスの実行を中断した後、CPUの情報を主記憶に保存して、あらかじめ定義された処理に制御を移す。
🔒 解説は解答すると表示されます
プロセス切替えとディスパッチャ【午前2解説】
正解の理由
ディスパッチャは、スケジューラが選んだプロセスにCPUを割り当て、実行を開始させる機能です。具体的には、選択済みプロセスの実行状態などを主記憶からCPUに読み込み、そのプロセスへ制御を移します。
この役割を説明しているのはアです。
解法ステップ
- 選択肢が「プロセスの選択」「CPUへの割当て」「タイマ通知」「実行中の状態保存」のどれを説明しているか確認します。
- プロセスを選ぶのはスケジューラ、選ばれたプロセスを実行状態にするのはディスパッチャ、と役割を分けます。
- 選択済みプロセスの情報をCPUに読み込んで実行させる説明を選びます。
選択肢別の誤答解説
- ア:正しい説明です。選択済みプロセスの情報をCPUに読み込み、そのプロセスの実行を開始します。
- イ:次に実行するプロセスを選ぶ処理です。これはディスパッチャではなく、スケジューラの役割です。
- ウ:タイムクォンタムの経過を検知してOSに知らせるのは、タイマ割込みなどの仕組みです。ディスパッチャの役割ではありません。
- エ:実行中のプロセスのCPU状態を保存し、割込み処理などへ制御を移す説明です。主に割込み処理やコンテキスト切替えに関係します。
よくある誤解
- プロセスを選ぶ処理と、実行を開始させる処理を混同する
プロセスの選択はスケジューラ、選択後にCPUを割り当てるのがディスパッチャです。 - コンテキスト切替えの処理をすべてディスパッチャの役割だと考える
実行状態の保存や復元などは切替えに伴って行われますが、設問ではディスパッチャの中心的な役割を捉えることが重要です。 - タイムクォンタムの経過をディスパッチャが検知すると考える
経過を検知して割込みを発生させるのはタイマであり、その後にOSが切替え処理を行います。
補足コラム
プロセス切替えは、概ね「タイマ割込みなどで現在のプロセスを中断する」「スケジューラが次に実行するプロセスを選ぶ」「ディスパッチャが選ばれたプロセスにCPUを割り当てる」という流れで行われます。
試験では、選ぶのはスケジューラ、実行に移すのはディスパッチャと整理しておくと、選択肢を判別しやすくなります。
FAQ
Q. ディスパッチャは、次に実行するプロセスも選びますか?
A. いいえ。次に実行するプロセスを選ぶのはスケジューラです。ディスパッチャは、選ばれたプロセスにCPUを割り当てて実行を開始させます。
A. いいえ。次に実行するプロセスを選ぶのはスケジューラです。ディスパッチャは、選ばれたプロセスにCPUを割り当てて実行を開始させます。
Q. プロセスの情報をCPUに読み込むとは、何をすることですか?
A. プロセスの実行状態に関する情報を復元し、CPUがそのプロセスの処理を続けられる状態にすることです。
A. プロセスの実行状態に関する情報を復元し、CPUがそのプロセスの処理を続けられる状態にすることです。
関連キーワード: ディスパッチャ、スケジューラ、プロセス切替え、コンテキスト切替え、タイマ割込み

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

