ソフトウェア

基本情報技術者試験プリエンプティブとノンプリエンプティブ」の問題

テクノロジ系ソフトウェア難易度:normal
プリエンプティブ(横取り)方式のタスクスケジューリングの特徴を説明したものはどれか。
実行中のタスクをOSが強制的に中断し他のタスクへCPUを割り当てられる
実行中のタスクが自発的にCPUを解放すると宣言するまでは決して切替えが起こらない方式である
全タスクを到着順に最後まで途切れず実行する方式に限られる
優先度を一切用いず常に均等な時間だけ各タスクを実行する
正解
実行中のタスクをOSが強制的に中断し他のタスクへCPUを割り当てられる

プリエンプティブ方式はOSが実行中のタスクを強制的に中断(横取り)し、優先度のより高いタスクやタイムスライスの満了に応じてCPUを別タスクへ割り当てられる。応答性を高められるため正しい。

?選択肢ごとの解説

ア ○プリエンプティブ方式はOSが実行中のタスクを強制的に中断(横取り)し、優先度のより高いタスクやタイムスライスの満了に応じてCPUを別タスクへ割り当てられる。応答性を高められるため正しい。
イ ×実行中タスクが自発的にCPUを手放すまで切り替わらないのはノンプリエンプティブ方式の特徴であり、強制中断するプリエンプティブとは逆である。
ウ ×到着順に途切れず最後まで実行するのはFCFS(ノンプリエンプティブの一例)の説明であり、横取りを行うプリエンプティブの定義ではない。
エ ×優先度を一切用いず均等時間で実行する説明はラウンドロビンの一面に過ぎず、プリエンプティブ方式全般の特徴を正しく表していない。

くわしく

プリエンプティブは実行中タスクを中断できる方式で、ラウンドロビンやSRTF、プリエンプティブ優先度が該当する。ノンプリエンプティブはFCFSやSJF・ノンプリエンプティブ優先度が該当する。横取りの可否で両者が分かれる点が核心である。

本番での押さえどころ

試験のコツ

『OSが強制中断できる=プリエンプティブ』『自発的に手放すまで待つ=ノンプリエンプティブ』の対比で判定する。

覚え方

preempt=『先取り・横取り』。実行権を途中で取り上げられるのがプリエンプティブ、と語源で覚える。

よくある誤り

プリエンプティブ=ラウンドロビンだけと狭く捉える誤りや、ノンプリエンプティブと特徴を取り違える誤りが多い。

ソフトウェアの他の問題

この問題を、AIの8-ways解説つきで。

基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0213

【基本情報技術者試験】プリエンプティブとノンプリエンプティブの問題 — 解答・解説|ukamiru 過去問