プリエンプション
読み:プリエンプション
外語:preemption

 実行中のタスクを一時的に中断し、他のタスクに強制的に切り替えること。
目次

概要
 オペレーティングシステム(OS)などにおける、タスクスケジューリングに関する機能の一つである。
 複数のタスクを並行して実行するためには、タスクスケジューラーが決定した時刻に、実行中のタスクAから他のタスクBへと強制的に切り替えることが必要となる。これを「プリエンプションを行なう」と言う。この機能を有した仕組みを「プリエンプティブマルチタスク」という。
 Windows 3.1以前や、Mac OS 9以前のMac OSなどではプリエンプションの機能を持たないので、「ノンプリエンプティブマルチタスク」といい、これは疑似マルチタスクOSと呼ぶこともある。

特徴

カーネルの対応
 WindowsカーネルやLinuxカーネルなどリアルタイムカーネルでないカーネルの場合、カーネルが処理中の場合は他の処理に切り替えない設計である。
 こういったものでもアプリケーションタスクを強制的に切り換えられるものを「プリエンプト」ということが多いが、リアルタイムとしての用語では、カーネルが処理中であっても他の処理にCPUを割り当てることを「プリエンプト」という。

優先度
 プリエンプションでタスクが切り替わる際、優先度(プライオリティ)の高いタスクが実行可能になったとき、優先度の高いタスクを先に実行する。
 このように、時分割だけではなく、優先度にも応じたタスクスケジューリングを持ったOSを、リアルタイムオペレーティングシステムという。

再検索