
・分かりやすいように、イメージ画像くれや
・例題も欲しいな~
・結局キモはなんなんや?
今回の記事では、このような方でも満足できるように、「3コマ漫画」「例」「例題」「何を理解しておく必要があるのか」を用いて、丁寧に解説しています。
この記事が読み終わる頃には、プリエンプションについての理解ができているだけでなく、試験問題も解けるようになっています。
※ここで説明するプリエンプションは、スケジューリング方式の1つである「プリエンプション方式」とは異なります。
プリエンプションとは
プリエンプションは要するに、他のタスクに割り当てられていたCPUを奪い取ることです。タスクの状態遷移と深い関わりがある用語です。
ちなみに、プリエンプト(preempt)は、「~を人より先に手に入れる」「代わりをする」を意味する英単語です。
プリエンプションを3コマ漫画でイメージ
プリエンプションのイメージは以下の通りです。
このように、実行中のタスクから無理やり実行を奪い取るようなイメージです。
タスクの状態遷移における位置付け
タスクの状態遷移では、下記のように実行状態のタスクがプリエンプションが起きて実行可能状態に変わるときの説明として用いられます。
基本・応用情報技術者試験では、タスクの状態遷移と絡めて出題される用語です。必ず合わせて理解するようにしましょう。
タスクの状態遷移については、【イラストでわかる】タスクの状態遷移で分かりやすい例を用いて詳細に解説しています。ぜひご覧ください。
具体例:どういうときに起こるか
例えば、
- 0で割り算を行った場合などの例外発生時などの内部割込み
- ユーザーがプログラムを強制停止させた場合などの外部割込み
などの場合にプリエンプションは発生します。
例題で学ぶ(応用情報技術者試験過去問)
理解できているのかの確認も兼ね、プリエンプション絡みの国家試験問題を解くことで理解を深めましょう。

応用情報技術者平成29年秋期 午前問16
解説
タスクの状態遷移を理解していたら即答の問題です。実行中のタスクはプリエンプションが発生されると、割り当てられていたCPUが奪われ、実行可能状態に遷移します。
ちなみに、入出力処理やタスク間の同期のための停止であれば、待ち状態に遷移します。
まとめ
プリエンプションは、他のタスクに割り当てられていたCPUを奪い取ること。
タスクの状態遷移と合わせて理解しておく必要がある。
以上となります。お疲れ様でした。
おすすめアプリランキング
コメント