差分

移動先: 案内検索

プロセス管理

108 バイト追加, 2007年10月25日 (木) 12:06
/* プロセスの状態 */
オペレーティングシステムは実行すべき、たくさんのプロセスを同時に抱え込んでいるわけですが、それよりも少ない数のCPUでどうにかこうにか、やりくりしなければいけません。
そこでプロセスの状態に着目して、その動きを見てみましょう。LinuxカーネルではTASK_RUNNING、TASK_INTERRUPTIBLE、  そこでプロセスの状態に着目して、その動きを見てみましょう。まず、その前に、たとえばLinuxカーネルではTASK_RUNNING、TASK_INTERRUPTIBLE、 TASK_UNINTERRUPTIBLE、 TASK_STOPPEDなどの状態をもちます
<ref>
include/linux/sched.h
</ref>
が、それをそのまま説明するとLinuxのタスク処理の説明になってしまいます。そこで、下の説明は必ずしもLinuxそのままというわけではないですが、より理解しやすいプロセス状態の基本モデルを考えて説明したいと思います。それをそのまま説明するとLinuxだけのタスク状態の説明になってしまいますので、下の説明は少しLinuxを離れてプロセス状態のモデルとして説明したいと思います。
ここでのプロセスを説明するためのモデルは基本的に5つの状態を持つとします。ここでのプロセスを説明するために5つの状態を持つモデルを考えます。
* (1) 実行中(RUNNING): プロセスがCPUを使用し実行している状態
匿名利用者