430 likes | 503 Views
基 本 用 語. オペレーティングシステム 第4回. 時 分 割 処 理・ TSS. 時 分 割 処 理(復 習 1). オペレーティングシステムは, CPU などの資源を 各利用者に短時間 ずつ順番に割り当てる(時分割). 時 分 割 処 理(復 習 2). 利用者からは自分ひとりで計算機を使っているかのようにみえる 1台の計算機を複数の利用者で同時に使う ↓ 複数のプログラムが同時に実行されているかのようにみえる ↓ 一人で複数のプログラムを同時に実行しているかのようにみえる(現在のパソコン).
E N D
基 本 用 語 オペレーティングシステム 第4回
時 分 割 処 理(復 習 1) • オペレーティングシステムは,CPUなどの資源を各利用者に短時間ずつ順番に割り当てる(時分割)
時 分 割 処 理(復 習 2) • 利用者からは自分ひとりで計算機を使っているかのようにみえる • 1台の計算機を複数の利用者で同時に使う ↓ • 複数のプログラムが同時に実行されているかのようにみえる ↓ • 一人で複数のプログラムを同時に実行しているかのようにみえる(現在のパソコン) 実際に実行されているプログラムの数は 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) • プロセスとは異なり,複数のスレッドは同じメモリを使う • スレッド間のデータ共有が簡単 • スレッドの切換えが簡単 • Javaでは,スレッドを扱うことができる
ジ ョ ブ と タ ス ク • ジョブ(job),タスク(task) • プログラムと処理するデータを一緒にしたもの • “ジョブをコンピュータに入力して,処理する”というように使う • まさに,コンピュータの“仕事” • “プログラム”だけでは,“処理”できない
割 込 み 重要! 重要!
割 込 み(1) • 割込み(interrupt) • もっとも理解してもらいたいこと • 今のコンピュータを特徴付けるものかも知れない(言い過ぎ?)
割 込 み(2) • 事象(要因event) • プログラムの実行中に • それとは関係なく(非同期的)起きることや • 実行中のエラーなど 場合により, 事象の対応処理を 先に行わなければならない
割 込 み(3) このプログラムが 割り込まれた • 現在の実行中のプログラムを中断 (コンテクストスイッチ) • 事象を処理する別のプログラムを実行 (コンテクストスイッチ) • 元のプログラムの実行を再開 このプログラムが割り込んだ 割り込まれたプログラムが, 何もなかったかのように先に進む この仕組みを 割込み
割 込 み(4) コンテクスト スイッチ コンテクスト スイッチ
割 込 み(5) • CPUと入出力装置の同時実行(効率化) • TSSの実現 • 障害時の適切な処理 • 割込みの詳細は次回
割 込 み(6) • 第2回ハードウェアの基礎知識 • c = a + b; ↓ • LDGR1, A ADDGR1, B STGR1, C こういったところで 割込みが発生して 中断する可能性がある “困ったこと”になる 場合もある
割 込 み(7) • 機械語の1命令 • いくつかのステップに分かれている • しかし,途中で中断することはない
ま と め • タイムスライス(タイムクオンタム) • プロセスとその状態 • 複数のプロセス • コンテクストスイッチ • 割込み(次回)
パソコンを起動する • 電源スイッチをオン • Windowsの起動画面(OSが動作している) • OSはメモリにある • パソコンのメモリは電源オフにすると内容が消える(のが普通)
一般のプログラムの場合 • プログラムはHDDに保存 • OSが,メモリに読み込む • メモリに読み込んだプログラムを起動
OSの場合 • OSはHDDに保存 • しかし,メモリにOSはない
I P L • Initial Program Loader • 電源不要なメモリに記録 • かっては,手で入力 • IPLがOSの一部を読み込む • 読み込んだものが,残りの必要な部分を読み込む • ブート(boot)
電 源 オ ン • “DEL”キーを押す
B I O S • Basic Input Output System
Boot Device • この順番でOSを探して,読み込む
ちょっと注意 • 設定の保持とか時計を動かす • 電源が必要
ボタン電池 • 電池なので寿命がある