基本情報技術者試験「プリエンプティブとノンプリエンプティブ」の問題
プリエンプティブ(横取り)方式のタスクスケジューリングの特徴を説明したものはどれか。
ア実行中のタスクをOSが強制的に中断し他のタスクへCPUを割り当てられる
イ実行中のタスクが自発的にCPUを解放すると宣言するまでは決して切替えが起こらない方式である
ウ全タスクを到着順に最後まで途切れず実行する方式に限られる
エ優先度を一切用いず常に均等な時間だけ各タスクを実行する
正解
ア.実行中のタスクをOSが強制的に中断し他のタスクへCPUを割り当てられる
プリエンプティブ方式はOSが実行中のタスクを強制的に中断(横取り)し、優先度のより高いタスクやタイムスライスの満了に応じてCPUを別タスクへ割り当てられる。応答性を高められるため正しい。
?選択肢ごとの解説
ア ○プリエンプティブ方式はOSが実行中のタスクを強制的に中断(横取り)し、優先度のより高いタスクやタイムスライスの満了に応じてCPUを別タスクへ割り当てられる。応答性を高められるため正しい。
イ ×実行中タスクが自発的にCPUを手放すまで切り替わらないのはノンプリエンプティブ方式の特徴であり、強制中断するプリエンプティブとは逆である。
ウ ×到着順に途切れず最後まで実行するのはFCFS(ノンプリエンプティブの一例)の説明であり、横取りを行うプリエンプティブの定義ではない。
エ ×優先度を一切用いず均等時間で実行する説明はラウンドロビンの一面に過ぎず、プリエンプティブ方式全般の特徴を正しく表していない。
✎くわしく
プリエンプティブは実行中タスクを中断できる方式で、ラウンドロビンやSRTF、プリエンプティブ優先度が該当する。ノンプリエンプティブはFCFSやSJF・ノンプリエンプティブ優先度が該当する。横取りの可否で両者が分かれる点が核心である。
✓本番での押さえどころ
試験のコツ
『OSが強制中断できる=プリエンプティブ』『自発的に手放すまで待つ=ノンプリエンプティブ』の対比で判定する。
覚え方
preempt=『先取り・横取り』。実行権を途中で取り上げられるのがプリエンプティブ、と語源で覚える。
よくある誤り
プリエンプティブ=ラウンドロビンだけと狭く捉える誤りや、ノンプリエンプティブと特徴を取り違える誤りが多い。
ソフトウェアの他の問題
OS(オペレーティングシステム)が担う最も中心的な役割を説明したものはどれか。実行状態のタスクが、自らの入出力要求の完了を待つために移る状態はどれか。3つのタスクP1・P2・P3が時刻0に同時に到着し、処理時間はそれぞれ8・4・6である。FCFS(到着順)方式でP1→P2→…4つのタスクが時刻0に同時到着し、処理時間はそれぞれ6・2・8・4である。処理時間の短い順に実行するSJF(ノンプリエンプテ…3つのタスクP1・P2・P3が時刻0にこの順で実行可能列に並ぶ。処理時間はP1=5・P2=3・P3=7で、タイムクウォンタム…4つのタスクPA・PB・PC・PDが時刻0に同時到着する。処理時間はPA=6・PB=2・PC=4・PD=8で、優先度はPB・…
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0213