Web教材一覧>
ハードウェアとソフトウェア
ジョブとプロセス(タスク)
キーワード
ジョブ、プロセス(タスク),スレッド、マルチタスク、マルチユーザ
- ジョブとタスク
-
- コンピュータに処理を行わせる単位で、利用者の立場での単位をジョブといい、コンピュータの内部での単位をタスクといいます。
例えば、「売上一覧表の出力処理」はジョブです。その処理を行うには、コンピュータの内部では、「売上ファイルからデータを読み込む」「CPUで売上の計算をする」「プリンタに印刷する」などの処理を繰り返して行っています。それぞれの処理単位がタスクです。
タスクは、ジョブ管理のイニシエータにより生成され、タスク管理に引き渡されます。また、タスクの実行が終了して消滅すると、ジョブ管理のターミネータに引き渡されます。
- タスク、プロセス、スレッド
- これらの関係はあいまいです。厳密性にこだわらなければ、タスク≒プロセスであり、特に並行処理を重視してプロセスを細分化したものがスレッドであると理解しておけばよいでしょう。
タスクをさらに細分化して、細分化のレベルにより、スレッド ⊆ プロセス ⊆ タスク とする場合もありますし、汎用コンピュータではタスクといっていたのを、オープン系ではプロセスといっていることもあります。また、スレッドもタスクと似ていますが、共有メモリを利用しながら複数の処理を行なうように、プロセスを細分化したものがスレッドといいます。
- マルチタスク
- 音楽のダウンロードをしている間に表計算ソフトを使うというように,A、Bのタスクが発生したとき、Aが入出力を行っておりCPUを使っていない場合には、BがCPUを使うようにすれば、全体の効率が向上します。このように、複数のタスクを並行して行うことができる機能をマルチタスク(マルチプロセス、マルチプログラミング)といいます(同時に一つのタスクしか実行できない方式をシングルタスクといいます)。現在のパソコンOSはマルチタスク機能を持っています。
なお,プリンタへの出力を直接行わずに,出力データをディスクに書き出しておき,他の処理と並行して専用の出力プログラムでプリントするのも一種のマルチタスクですが,これは特にスプーリングといいます。
- マルチユーザ
- Webサーバのように,同時に複数の人(ユーザ)からの仕事を処理できる機能をマルチユーザといいます。ログオフせずに他人が利用できる機能でもあります。UNIXやWindowXPなどはマルチユーザ機能を持っていますが,Windows95などはシングルユーザでした。