差分

移動先: 案内検索

プロセス管理

4 バイト追加, 2007年10月25日 (木) 11:24
/* プロセス・タスク・スレッド */
スケジュリング実行リソースを個々のプログラム実行に割り当てて、実行単位プロセスの説明は済みました。しかし、今度はプロセスを実際にCPUに割り当てていく必要があります。その割り当てるためにスケジュール(予定)を立て処理を進めていく必要があります。それがスケジュリングです。スケジュリングはこう少し先で説明します。
 
=== プロセス・タスク・スレッド ===
ここでの説明では実行実体の単位のことをプロセスと呼んでいます。厳密に定義をすると次のようになります。
 
* リソース中でCPUリソースとして処理の流れを作るものをスレッド
* 1つのタスクに1つのスレッドしかないものをプロセス
 
タスクは複数のスレッドを持つことができます。スレッドに関しては後に説明しますが、スレッドは80年代にUNIXに入って来た、わりと新しい技術です。特にタスクが1つのスレッドしか持たない時、これはUNIX の伝統的な実行実体のプロセスと同等の意味を持ちます。ここでの説明の範囲では「プロセス=タスクのこと」と考えても間違いではありません。UNIXが生まれた当時の処理の粒度と今のLinuxでの処理の粒度は違うので、これから先はプロセスという言葉は廃れてタスクという言い方が主流になるかも知れません。
:;補足| : 複数のプロセスが動くことをマルチタスクと呼びます。なんでマルチプロセスではないのかというと60年代に最初にマルチタスクが出来たオペレーティングシステムでは実行実体の単位をタスクと呼んでいたからです。なのでマルチタスクと呼びます。
=== プロセスの状態 ===
匿名利用者