応用情報技術者 2011年 秋期 午前2 問19
問題文
タスクのディスパッチの説明として、適切なものはどれか。
選択肢
ア:あるタスクの実行中に、別のタスクに切り替え、かつ実行権を渡すこと(正解)
イ:各タスクの実行順序を決定すること
ウ:タスクの内部状態、置かれた状況、与えられた条件など、タスクの実行に必要な各種情報のこと
エ:複数のタスクを同時に実行しているかのように見せかけた状態のこと
タスクのディスパッチの説明 +【午前2 解説】
要点まとめ
- 結論:タスクのディスパッチとは、実行中のタスクから別のタスクへ切り替え、実行権を渡す操作を指します。
- 根拠:OSのタスク管理では、CPUの実行権をあるタスクから別のタスクに移すことを「ディスパッチ」と呼びます。
- 差がつくポイント:単なる実行順序の決定や状態管理ではなく、実際にCPUの制御を切り替える動作である点を理解することが重要です。
正解の理由
ア: あるタスクの実行中に、別のタスクに切り替え、かつ実行権を渡すことが正解です。
これは「タスクディスパッチ」の定義そのものであり、CPUの実行権を現在のタスクから別のタスクへ移す操作を指します。
他の選択肢はディスパッチの一部要素や関連概念を説明していますが、ディスパッチそのものの意味とは異なります。
これは「タスクディスパッチ」の定義そのものであり、CPUの実行権を現在のタスクから別のタスクへ移す操作を指します。
他の選択肢はディスパッチの一部要素や関連概念を説明していますが、ディスパッチそのものの意味とは異なります。
よくある誤解
「タスクの実行順序を決めること」や「タスクの状態管理」をディスパッチと混同しやすいですが、ディスパッチは実際の切り替え動作を指します。
また、「複数タスクを同時に実行しているように見せる」ことはマルチタスクの特徴であり、ディスパッチの説明ではありません。
また、「複数タスクを同時に実行しているように見せる」ことはマルチタスクの特徴であり、ディスパッチの説明ではありません。
解法ステップ
- 問題文の「タスクのディスパッチ」の意味を確認する。
- 選択肢の内容を「実行権の移譲」という観点で比較する。
- 「実行中のタスクから別のタスクへ切り替え、実行権を渡す」説明が正しいか判断する。
- 他の選択肢がディスパッチの定義と異なることを確認する。
- 正解を選択し、根拠を明確にする。
選択肢別の誤答解説
- イ: 「各タスクの実行順序を決定すること」はスケジューリングの役割であり、ディスパッチとは異なります。
- ウ: 「タスクの内部状態や条件などの情報」はタスクコンテキストや状態管理の説明で、ディスパッチの意味ではありません。
- エ: 「複数のタスクを同時に実行しているかのように見せかけた状態」はマルチタスクの特徴であり、ディスパッチの説明ではありません。
補足コラム
タスクディスパッチはOSのコンテキストスイッチの一部であり、CPUのレジスタやプログラムカウンタなどの状態を保存・復元してタスクを切り替えます。
スケジューラが次に実行すべきタスクを決定し、ディスパッチが実際にCPU制御を移す役割を担います。
スケジューラが次に実行すべきタスクを決定し、ディスパッチが実際にCPU制御を移す役割を担います。
FAQ
Q: ディスパッチとスケジューリングの違いは何ですか?
A: スケジューリングは実行順序を決めることで、ディスパッチは決定されたタスクにCPUの実行権を渡す操作です。
A: スケジューリングは実行順序を決めることで、ディスパッチは決定されたタスクにCPUの実行権を渡す操作です。
Q: マルチタスクとディスパッチは同じ意味ですか?
A: いいえ。マルチタスクは複数タスクを同時に扱う仕組みで、ディスパッチはその中でタスクを切り替える具体的な操作です。
A: いいえ。マルチタスクは複数タスクを同時に扱う仕組みで、ディスパッチはその中でタスクを切り替える具体的な操作です。
関連キーワード: タスクディスパッチ、コンテキストスイッチ、スケジューリング、マルチタスク、CPU制御

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

