Presentation is loading. Please wait.

Presentation is loading. Please wait.

第2回 プロセス管理 ジョブ、プロセスとは? プロセスの状態遷移 プロセス制御ブロック スケジューリング.

Similar presentations


Presentation on theme: "第2回 プロセス管理 ジョブ、プロセスとは? プロセスの状態遷移 プロセス制御ブロック スケジューリング."— Presentation transcript:

1 第2回 プロセス管理 ジョブ、プロセスとは? プロセスの状態遷移 プロセス制御ブロック スケジューリング

2 タスク、ジョブ、プロセス ジョブ: ユーザから見た仕事の単位 タスク: コンピュータシステム稼動の基本単位
ジョブ: ユーザから見た仕事の単位 タスク: コンピュータシステム稼動の基本単位 プロセス: OSが管理する基本制御単位 cf)スレッド タスク(ジョブ)の実行過程の制御もOSの仕事 タスクスケジューリング ジョブスケジューリング プロセススケジューリング

3 プロセス管理とは? OSが依頼されたユーザからの仕事の管理をすること
近年の多重化(仮想化)されたマシン環境では複数のタスクを同時に扱わなければならない 具体的には、 資源(CPU,メモリ)の割り当て、管理 実行管理 スケジューリング 状態管理

4 並行処理と並列処理 並行処理(Concurrent Processing)
1つのCPUを持つコンピュータシステムにおける同時実行(並行処理)とは、プログラムを切り替えながら交互に実行すること … コンテキストスイッチ 並列処理(Parallel Processing) 複数のプロセッサ上で、(本当に)同時に実行する プログラムA プログラムB

5 プロセスの状態遷移 CPUの獲得 CPUの解放 入出力の完了 入出力待ち Ready Queue 新規 実行可能状態 実行状態 停止
待ち状態

6 プロセスの構造 プロセスは、PCBと呼ばれるデータ構造で管理される
PCB (Process Control Block) … プロセス制御ブロック プロセスID プロセスの状態 プログラムカウンタ 優先度(プライオリティ) CPUレジスタ 退避されたプロセッサ状態語(Processor Status Word) 記憶管理情報 使用する計算資源に関する情報(ファイル、入出力装置)

7 スケジューリングの目的 スループット(処理効率)の向上 応答時間(レスポンスタイム)の短縮 公平な割当て 応答時間が予測可能であること

8 スケジューリング 実行順序管理 Ready 状態(実行可能状態)にあるプロセスのどれを実行させるかを決定 優先度(priority)
横取り(preemption) preemptive … 横取り可能 nonpreemptive … 横取り不能

9 スケジューリングアルゴリズム FCFS(first come first service) … 到着順
SJF (shortest jobs first) またはSPT(shortest processing time first) … 処理時間順 期限付きスケジューリング(deadline scheduling) リアルタイム処理 優先度順(priority) ラウンドロビン(round-robin)

10 FCFS (first come first service)
プロセスの到着順に処理していく nonpreemptive … 横取りなし ready queue の先頭から順に処理する ready queue job の投入 CPU へ

11 SJF (shortest job first)
処理時間の短いプロセスから順にCPUに割り当てる 横取りなし 全プロセスの平均応答時間を最小にする 処理時間の長いプロセスほど後ろのプロセスの待ち時間を長くしてしまう 一般には、予めそのプロセスの処理時間はわからない ユーザによる処理時間の指定 統計による処理時間の予測

12 SRPT (shortest remaining processing time first)
残余処理時間順 新しいプロセスが実行可能になるたびにその時点で残っているプロセスの処理時間を比較して最も小さいものを優先的に実行 横取りあり(preemptive) SJFと同様、プロセスの処理時間を正確に予測するのが難しい

13 優先度順(priority) 各プロセスに優先度をつけ、優先度の順に実行 preemptive
優先度は、使用するメモリの大きさ、CPU処理時間、入出力時間などの基準で定義される 優先度は、OSが動的に割り当てることもある 入出力の多いものは高い優先度 SRPTやdeadline schedulingも優先度順スケジューリングの一種

14 優先度順 横取り 到着 終了 優先度順に並ぶ 100 CPU 中断 100 88 65 40 93 65 40 88 88 65 40
優先度順  横取り 到着 100 CPU 終了 中断 100 88 65 40 93 65 40 88 88 65 40 100 88 65 40 93 65 40 88 65 40 88 100 93 優先度順に並ぶ 93 40

15 優先度順 starvation と aging
優先度順では、優先度の低いプロセスがいつまでもCPUを獲得できないという状態がおこる(飢餓状態:starvation) プロセスの優先度を待ち時間の長さに応じて徐々に上げていく(時効化:aging)

16 ラウンドロビン(round-robin)
一定の時間ごとにプログラムの実行を切り替える preemptive 実行時間が一定時間を過ぎたプロセスは、実行を中断され、待ち行列の最後に回される 待ち行列を巡回しながら実行されていく TS (Time sharing)システムに適している 全てのユーザに公平に一定の応答時間を保証する

17 その他のスケジューリング手法 多重レベル待ち行列 多重レベルフィードバック待ち行列
優先度ごとに待ち行列を設け、各優先度のレベルでそれぞれ異なったスケジューリング手法を適用する リアルタイム処理、バッチ処理、対話処理の混在が可能 多重レベルフィードバック待ち行列 優先度の付いた複数の待ち行列を用意 ある待ち行列で一定のCPU時間、実行されたプロセスは優先度の低い待ち行列にフィードバックされる 各待ち行列では、ラウンドロビンを適用 処理時間の長いプロセスは飢餓状態になるが、UNIXなどでは、時効化によってこれを解決している 多くのTSSで用いられている


Download ppt "第2回 プロセス管理 ジョブ、プロセスとは? プロセスの状態遷移 プロセス制御ブロック スケジューリング."

Similar presentations


Ads by Google