動的/静的優先順位方式とは?
動的/静的優先順位方式とは、OS(オペレーティングシステム)において
CPUをどのプロセスに割り当てるかを決定する
CPUスケジューリング方式の一種です。
プロセスに「優先順位」を設定し、その値に基づいて実行順序を制御します。
優先順位の扱い方によって「静的優先順位方式」と「動的優先順位方式」に分類され、
システムの特性や目的に応じて使い分けられています。
目次
静的優先順位方式とは
静的優先順位方式は、プロセス生成時に設定された優先順位が
実行中に変更されない方式です。
常に優先順位の高いプロセスがCPUを優先的に使用します。
静的優先順位方式の特徴
- 優先順位が固定されている
- 制御が単純で実装しやすい
- リアルタイム処理に向いている
静的優先順位方式の課題
低優先度のプロセスが長時間実行されない
スタベーション(飢餓状態)が発生しやすい点が欠点です。
動的優先順位方式とは
動的優先順位方式は、プロセスの実行状況や待ち時間に応じて
優先順位を動的に変更する方式です。
公平性を重視したスケジューリングが可能になります。
動的優先順位方式の特徴
- 待ち時間が長いプロセスの優先度が上昇
- スタベーションを防止できる
- 対話型システムに適している
代表的な仕組み
一定時間CPUを使用できなかったプロセスの優先順位を引き上げる
エージング(aging)が代表的な制御手法です。
動的優先順位方式と静的優先順位方式の比較
| 項目 | 静的優先順位方式 | 動的優先順位方式 |
|---|---|---|
| 優先順位 | 固定 | 変動 |
| 公平性 | 低い | 高い |
| 実装の難易度 | 低い | やや高い |
試験対策・実務での重要性
動的/静的優先順位方式は、
基本情報技術者試験や
応用情報技術者試験で頻出のテーマです。
また、OS設計やサーバ運用、リアルタイムシステム開発においても
理解が不可欠な知識となります。
まとめ
静的優先順位方式はシンプルで予測性が高く、
動的優先順位方式は公平性と柔軟性に優れています。
それぞれの特徴と使いどころを理解することで、
CPUスケジューリングの全体像が把握しやすくなります。
コメント