Operating System Lecture 5/16

Operating System Lecture 5/16

プロセス

Operating System上にはいろいろなプロセスがあり、それらを一つの CPUが順に実行していく。

このうち、いくつかの処理は、特別な扱いを受ける。

* Interrupt                      CPUに信号が伝わった時点で行われる処理
* DMA (direct memory access)     CPUを経由しないデータ転送
* Kernel Process                 Operating System 自身が必要とする仕事
これ以外の処理は、平等に時間分割(Time sharing)されて実行される。

しかし、仕事のないプロセスにCPUを割り当てても意味がない。プロセス には決まった状態があり、そのうち、実行可能な状態のプロセスのみが 実行される。

* new                プロセスが生成された
* ready              実行可能な状態
* running            実際に実行されている
* waiting            何かを待っている
* terminated         終了中


fork and exec

fork は、同じメモリ空間上で、異なるコンテキスト(context)を生成する。 exec は、同じコンテキストで別なプログラムを実行する。


相手のプロセスの待ち合わせ(join)は、Unixではwait という システムコールを使っておこなわれる。




宿題

情報工学実験Iの課題 4.2 プロセスの生成を来週までに、おこなう こと。レポートはメールで

    Subject: Operating System Lecture 5/16
というように、課題を出した日付をサブジェクトに入れたメールで 提出して下さい。なお、実験の時間は特に決めませんが、レポート の締め切りは守ること。