OSと割り込み

先週のジョブ・プロセス・スレッドの説明に引き続き、 プロセスの実行方式の説明から、割り込みなどを中心とした説明を行う。

プロセスの実行方式には、ジョブ方式やTSS方式、リアルタイム方式があることを 説明し、マルチタスクでのメモリ量による処理速度の違いを説明する。 例えとして、主記憶4GBのマシンで、メモリ使用量1GBのプロセスA,B,Cを実行する。 この場合、プロセスが入力待ちなどがあると動かせないので、ジョブ方式では あらかじめ入力データは随時よみこめるようにする必要がある。 ジョブ方式では、1つが終わったら次の処理を起動するので、問題がない。 しかしTSS方式では、みかけ上並行処理をしているようにプロセスの切り替えを するので、若干遅くなる。 しかし、主記憶が2GBという状態では、TSS方式では3つめのCの処理では、 メモリが不足し仮想メモリ機能が必要となる。これに伴い一時停止中の プロセスを補助記憶に保存したり復活させたりという処理が加わるため、 とたんに処理速度が低下する。

こういったOSの処理では、割り込み機能が重要となる。 割り込みとは処理速度の違うものの間での受け渡し時に重要。 割り込みでは、信号が入ったら割り込み許可を確認後、 処理番地(PC)保存・CPU内情報(レジスタ)を行なってから、割り込み処理に切り替わる。 割り込み処理が終了すれば、CPU情報・処理番地情報を元に戻し、本来の処理にもどる。 割り込みには、入出力割り込み・タイマ割り込み・エラー割り込み、ソフトウェア割り込みなどがある。

マルチタスク機能は、タイムスライス時間後にタイマ割り込みが発生するように設定することで実現する。 タイマ割り込み時には、OSが実行待ち行列からプロセスを選んで処理を切り替える。 中断したプロセスは待ち行列の最後尾にいれられ、順次処理が繰り返されることになる。 入出力処理が行われる場合は、プロセスは入出力待ち状態となり、スケジューラは 待ち行列より処理を選んで実行する。時間が経過して入出割り込みが発生すると、 OSが入出力待ちのプロセスを実行状態に戻す。

 

2015年12月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

アーカイブ

Google

このブログ記事について

このページは、T-Saitohが2011年11月 7日 12:02に書いたブログ記事です。

ひとつ前のブログ記事は「現時点なら中学お受験で...(11/06)」です。

次のブログ記事は「専攻科・生産システム実験で...」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。