ノンプリエンプティブマルチタスク【non-preemptive multitasking】擬似マルチタスク
別名 :pseudo multitasking/協調的マルチタスク/cooperative multitasking
概要

一つのCPUが実行するプログラムを極めて短い時間ごとに切り替え、複数のプログラムの処理を少しずつ並行して進める実行方式をマルチタスクという。ノンプリエンプティブマルチタスクはその実現手法の一つで、OSが実行プログラムの切り替えを強制しない方式を指す。
実行中のプログラムは自主的にOSにCPUの制御を返却し、OSは次のプログラムの実行を始める。CPUの実行状態をOSが管理しないため、OSの構造はシンプルで済み、実行プログラムの切替(コンテキストスイッチ)時の処理の負荷も小さい。
しかし、OSへ制御を渡す頻度やタイミングは各プログラム任せとなるため、なかなかCPUを明け渡さない「行儀の悪い」プログラムがいると、OSや他のプログラムの処理が滞ってしまう。また、プログラムに不具合が発生し、特定の箇所で無限ループするなどして正しく切り替え処理を行わなくなってしまうと、OSごとシステム全体が停止してしまうという弱点がある。
Windows 3.1以前や旧Mac OSなど、マルチタスクを実装し始めた初期のOS製品などがこの方式を利用していた。OSの安定性を強化する必要性や、CPUの機能・性能の向上を受け、現在ではOSが強制的にタスク切り替えを実施する「プリエンプティブマルチタスク」(preemptive multitasking)が主流になっている。
(2025.10.13更新)
「ノンプリエンプティブマルチタスク」の関連用語
他の用語辞典による「ノンプリエンプティブマルチタスク」の解説 (外部サイト)
- ウィキペディア「ノンプリエンプティブ」
- Insider's Computer Dictionary「nonpreemptive multitasking」
- Techopedia (英語)「Non-Preemptive Multitasking」
- PC Magazine (英語)「non-preemptive multitasking」
資格試験などの「ノンプリエンプティブマルチタスク」の出題履歴
▼ 基本情報技術者試験
【平27春 問19】 ノンプリエンプティブなスケジューリング方式の説明として,適切なものはどれか。