【プリエンプティブスケジューリング】
プリエンプティブスケジューリング とは?
💡 先生が「はい交代!」と強制的にバトンタッチさせる司会者型スケジューリング
📌 このページのポイント
プリエンプティブスケジューリングって何なの?
どうやって「交代」のタイミングを決めるの?
強制的に止められたプロセスはどうなるの?
コンテキストスイッチという仕組みで、レジスタやプログラムカウンタの状態をメモリに退避しておくんだ。だから次にそのプロセスの番が来たら、中断したところからそのまま再開できるよ。
全部のOSがこの方式を使っているの?
リアルタイムOSでも同じ仕組みなの?
リアルタイムOSではさらに厳密で、優先度の高いタスクが発生したら即座にコンテキストスイッチが起きるように設計されているよ。車のエアバッグ制御や医療機器のように、数ミリ秒の遅れが許されない場面では「いつでも最優先タスクにCPUを渡せる」保証がとても重要なんだ。
プリエンプティブにも弱点ってあるの?
まとめ:ざっくりこれだけ覚えればOK!
「プリエンプティブスケジューリング」って出てきたら「OSが強制的にプロセスを切り替える方式」と思えればだいたいOK!
📖 おまけ:英語の意味
「Preemptive Scheduling」 = 先取り・横取りスケジューリング
💬 preemptは「先取りする・横取りする」という意味で、OSがプロセスからCPUを横取りするイメージだよ