基本用語・概念 オペレーティングシステム 第4回 時 分 割 処 理(復 習) オペレーティングシステムは,CPUなどの資源を 各利用者にごく短時間ずつ順番に割り当てる(時 分割) 利用者からは自分ひとりで計算機を使っている かのようにみえる 複数のプログラムが同時処理されているかのよ うにみえる 一人で複数のプログラムを同時に実行している かのようにみえる タイムスライス (1) タイムスライス(time slice) TSSで,各利用者に計算機資源を割り当てる時 間 タイムスライス (2) タイムクオンタム(time quantum) 割当て単位時間 その整数倍がタイムスライス タイムスライスとタイムクオンタムを区別しない場 合もある 正しくはプロセス (後述) タイムスライス (3) TSSでは,すべてのプログラムに同じ時間を割り 当てているとは限らない 処理を優先するプログラムには長い時間を割り 当てる プロセススケジューリング (後述) プ ロ セ ス(1) 実行中のプログラム 単なる文字の並びであるプログラムとは別 プロセスは動的な概念 プログラムの実行が始まると生成され,終了 すると消滅 生成されてから消滅するまでの間,その状態 はいろいろ変化(遷移) プ ロ セ ス(2) プログラムを実行するための計算機資源(CPU など)が必要 ただし,物理的なものでなくても,論理的(仮想) のものでもよい 仮想計算機 プロセスを考えているとき, 実行しているコンピュータを 想定している プ ロ セ ス(3) 本当に実行されているプロ セスの数は少ない 存在するプロセスの数だけの物理的計算機資源 はない オペレーティングシステムが,必要な数の論理的 (仮想)計算機資源を用意 その各々に物理的計算機資源を割り当てる 時分割で割り当てれば,TSS プロセスの状態(1) 実行中(状態) 実行可能状態 待ち状態 プロセスの状態(2) 実行中(running state) 物理的CPUが割り当てられている 実際に処理が進行中 プロセスの状態(3) 実行可能状態(ready state) 物理的CPUの割当て待ち 割り当てられれば,直ちに実行中になる プロセスの状態(4) 待ち状態(waiting state) 何か(事象)が起きるの待つ 事象の例 データの入力終了 物理的CPUが割り当てられても,実行中にならな い データが入力されなければ, 処理を進めることができない! プロセスの状態(5) 状態遷移図(後で再度取り上げる) プロセスの切換え(1) プロセスの切換え(process switch) コンテクストスイッチ(context switch)ともいう 物理的CPUで処理するプロセスの変更 プロセスの切換え(2) 物理的CPUの割当てが解除されたプロセスに, 再度CPUを割り当て,処理を再開 その際に必要な情報(実行環境)をコンテクスト 各種レジスタの内容など プロセスの切換え(3) プロセスAからBへの切換え プロセスAのコンテクストを保存 保存してあるプロセスBのコンテクストを(物理 的計算機に)設定 プロセスBの実行 ス レ ッ ド(1) thread ライトウェイトプロセス CPUの利用単位 プロセスみたいなものである 同時に複数のスレッドが実行される ス レ ッ ド(2) プロセスとは異なり,複数のスレッドは同じメモリ を使う スレッド間のデータ共有が簡単 スレッドの切換えが簡単 割 込 み(1) 割込み(interrupt) もっとも理解してもらいたいこと 今のコンピュータを特徴付けるものかも知れない (言い過ぎ?) 割 込 み(2) プログラムの実行中に それとは関係なく(非同期的)起きることや 実行中のエラーなど 事象(要因event) 場合により, 事象の対応処理を 先に行わなければならない 割 込 み(3) このプログラムが 割り込まれた 現在の実行中のプログラムを中断 (コンテクストスイッチ) 事象を処理する別のプログラムを実行 (コンテクストスイッチ) 元のプログラムの実行を再開 割り込まれたプログラムが, 何もなかったかのように先に進む このプログラ ムが割り込 んだ 割 込 み(4) CPUと入出力装置の同時実行(効率化) TSSの実現 障害時の適切な処理 割込みの詳細は次回
© Copyright 2024 ExpyDoc