プリエンプティブ方式とは?ぷりえんぷてぃぶほうしき
プリエンプティブ方式とは、実行中のタスクからOSが強制的にCPUの実行権を取り上げ、別のタスクへ切り替える方式。与えた時間を使い切ったときや、より優先度の高いタスクが実行可能になったときに切替えが起こるため、1つのタスクが暴走してもほかのタスクや利用者の操作まで巻き込んで止まることがない。
最終更新:2026-10-09
この語が出る過去問を解く →背景
タスクが自分から実行権を手放す約束にすると、その約束を守らないプログラムが1つ紛れ込むだけで、ほかのすべてが動かなくなる。無限ループに入った処理を外から止める手段もない。素性の分からないプログラムを同時に動かす以上、割込み(実行中の処理を一時止めて別の処理を先にさせる仕組み)を使ってOSの側から実行権を取り上げられる形にしておく必要があり、汎用OSはこの方式を採る。
具体例
WindowsやLinux、macOSはこの方式で動くため、応答しなくなったアプリが1つあってもほかの窓は操作でき、タスクマネージャからそのアプリだけを終了できる。ノンプリエンプティブでは、この終了操作自体ができなくなる。
試験での引っ掛け
ノンプリエンプティブ方式との取り違えが定番。実行権を取り上げるのがOS側ならプリエンプティブ、タスク側が自ら手放すならノンプリエンプティブである。切替えのたびに、レジスタ(CPUの中にある値の一時置き場)の中身を保存し(退避)、切り替え先のものを戻す(復元)負荷がかかる点もあわせて押さえる。
関連用語
出た過去問
出典:平成29年度 秋期 基本情報技術者試験 午前 問18(IPA)解説で登場
優先度に基づくプリエンプティブなスケジューリングを行うリアルタイムOSで、二つのタスクA, Bをスケジューリングする。Aの方がBよりも優先度が高い場合にリアルタ…
正解:Bの実行中にAに起動がかかると、Bを実行可能状態にしてAを実行する。
要点:プリエンプションで奪われたタスクは待ち状態でなく実行可能状態へ
プリエンプティブなスケジューリングでは、実行中のタスクより優先度の高いタスクが実行可能になった時点で、OSが実行中のタスクからCPUを取り上げて切り替える。取り上げられたタスクはCPUさえ空けばすぐ動ける状態なので「実行可能状態(ready)」へ移る。入出力完了などの事象を待つ「待ち状態」へは移らない点が要点である。
出典:令和元年度 秋期 基本情報技術者試験 午前 問18(IPA)解説で登場
優先度に基づくプリエンプティブなスケジューリングを行うリアルタイムOSで、二つのタスクA、Bをスケジューリングする。Aの方がBよりも優先度が高い場合にリアルタイ…
正解:Bの実行中にAに起動がかかると、Bを実行可能状態にしてAを実行する。
要点:プリエンプションで奪われたタスクは待ちでなく実行可能状態へ
プリエンプティブ方式では、実行中のタスクより優先度の高いタスクが実行可能になった時点でCPUが強制的に奪われる。奪われた側は入出力などの完了を待っているわけではないので「待ち状態」ではなく「実行可能状態」に移り、CPUが空けばすぐ再開できる。優先度の低いタスクが起動しても実行中のタスクは中断されない。
出典・参考
公式シラバスの2 コンピュータシステム > 1. オペレーティングシステム > (4) タスク管理に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。