【基本情報】スケジューリングの種類まとめ_ラウンドロビン・優先度順・プリエンプションとは?

エンジニア

もちろんです!以下に、基本情報技術者試験に頻出する「スケジューリング」について、ラウンドロビン方式・処理時間順方式・イベントドリブンプリエンプション方式・優先度順方式をわかりやすく、ブログ風にまとめました。


【スケジューリングの種類まとめ】ラウンドロビン・優先度順・プリエンプションとは?【基本情報技術者試験対策】

こんにちは!
今回は、基本情報技術者試験に頻出する「スケジューリング方式」について解説します。

コンピュータの中では、複数の処理(タスクやプロセス)が限られたCPUを使って実行されます。その順番を決めるのが「スケジューラ」の役割です。

試験ではよく、

「次に実行されるプロセスはどれか?」
といった問題が出題されます。

この記事では、よく出てくる代表的なスケジューリング方式をわかりやすく紹介していきます!


🔰 そもそもスケジューリングとは?

スケジューリングとは、CPUの処理時間を複数のプロセス(処理)にどう割り当てるかを決める仕組みのこと。

マルチタスクな環境では、プロセスは同時に実行されているように見えますが、実際にはCPUが高速に切り替えて処理しています。

スケジューリング方式には複数あり、それぞれの特性によって処理の順序・優先度・待ち時間が変わってきます。


① ラウンドロビン方式(Round Robin)

🌀 特徴

  • 各プロセスに同じ時間(タイムクォンタム)だけCPUを割り当てる
  • タイムクォンタムが過ぎると次のプロセスに強制的に切り替える
  • 公平性重視のスケジューリング方式

📝 イメージ

「順番に並んで1人ずつ同じ時間だけ話せる座談会」みたいな感じ。

✅ メリット・デメリット

メリットデメリット
全プロセスが平等に扱われる処理が細切れになるため、文脈切り替え(コンテキストスイッチ)が多くなりがち

② 処理時間順方式(Shortest Job First)

🔽 特徴

  • 処理時間(CPUバースト時間)が短い順に実行する方式
  • 別名:最短作業時間優先方式(SJF)

📝 イメージ

「すぐ終わる用事から先に済ませる」戦略。

✅ メリット・デメリット

メリットデメリット
平均待ち時間が短くなる長い処理が後回しになり続ける(飢餓状態のリスク)

③ 優先度順方式(Priority Scheduling)

🎖️ 特徴

  • 各プロセスに優先度を設定し、優先度が高いプロセスから実行
  • OSやユーザーが設定する優先度に基づいて順番を決める

✅ メリット・デメリット

メリットデメリット
重要な処理をすぐに実行できる低優先度の処理がずっと待たされる(飢餓状態)

※ 対策として「エージング(優先度を徐々に上げる)」などもある。


④ イベントドリブン・プリエンプション方式(イベント駆動型プリエンプション)

⚡ 特徴

  • 割り込み(イベント)によって強制的にCPUを奪う方式
  • 外部からのイベント(例:割り込み要求)が来たとき、現在のプロセスを一時停止し、優先すべき処理へ即座に切り替える

📝 イメージ

「緊急の電話がかかってきたら、今の作業を中断して対応する」

✅ メリット・デメリット

メリットデメリット
即応性が高く、リアルタイム性に優れる処理が頻繁に切り替わるため、オーバーヘッドが大きい場合もある

🧠 試験対策ポイントまとめ

方式名特徴キーワード
ラウンドロビン同じ時間ずつCPUを割り当て公平・タイムクォンタム
処理時間順方式処理時間が短い順最短ジョブ・平均待ち時間が短い
優先度順方式優先度が高いプロセスから優先順位・飢餓状態
イベントドリブン・プリエンプション割り込みで強制的に切り替え割り込み・即時応答

✅ 例題(基本情報技術者試験)

Q. 複数のジョブに同じ時間ずつCPUを割り当てて順番に処理する方式はどれか?
→ A. ラウンドロビン方式

Q. 割り込みにより高優先度の処理へ即座に切り替えるスケジューリング方式はどれか?
→ A. イベントドリブンプリエンプション方式


✍️ まとめ

  • スケジューリング方式は「CPUの時間をどう配分するか」のルール
  • ラウンドロビンは公平性、優先度順は重要処理の即時実行、処理時間順は効率重視
  • イベントドリブンプリエンプションはリアルタイム性が高く、OSの割り込み処理に使われる

自分の頭の中で「どんな順番で、どのタイミングで処理が切り替わるのか?」をイメージしながら覚えると、理解がグッと深まりますよ!

タイトルとURLをコピーしました