マルチタスクOSにおけるプロセス管理
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/22 09:52 UTC 版)
「プロセス」の記事における「マルチタスクOSにおけるプロセス管理」の解説
詳細は「プロセス管理」を参照 マルチタスクオペレーティングシステムでは多くのプロセスを並行実行するためにプロセス間でコンテキストスイッチを行うことがある。ただし1つのシングルコアCPUにおいては、ある一時点にひとつのプロセスしか実行できない(ハードウェアマルチスレッディングなどの技術を使っていない場合)。 主プログラムを1つのプロセスとし、それ以外を並列に動作するプロセス群として独立させ、非同期に動作するサブルーチンとして実装することもある。プロセスはリソースを所有しており、メモリ上のプログラムの「イメージ」はそのようなリソースの1つと言える。マルチプロセッシングシステムでは多くのプロセスが同じリエントラントなプログラムのメモリ上のコピーを共有しているが、プログラムの「イメージ」は個々のプロセスが所有していると言える(多重仮想記憶)。 組み込みシステムのオペレーティングシステムでは、プロセスをタスクと呼ぶことが多い。「プロセス」(あるいはタスク)という用語は「時間を占める何か」であり、対照的に「メモリ」は「空間を占める何か」である。また、ジョブがユーザーから見た処理の単位であるのに対し、「プロセス」は、コンピュータ側から見た処理の単位である。 以上の説明はオペレーティングシステムに管理されるプロセスにも、プロセス計算で定義されるプロセスにも当てはまる。 プロセスが中断された状態ならば、ディスクにスワップアウトすることができるが、仮想記憶システムではこれは透過的であって、あるメモリブロックの内容がディスク上にあってメモリ上にないという状態は正常な状態である。動作中プロセスの「未使用」部分もディスクにスワップアウト(ページアウト)することができる。実行中プログラムやそのデータのいかなる部分も、対応するプロセスを実行するにあたって物理メモリ上に存在する必要はない。しかし、プロセスがディスク上のコードやデータを必要としたとき(対応する仮想アドレスにアクセスしようとしたとき)、実行が中断されてページングとして知られている方法でその内容が物理メモリに移動される。
※この「マルチタスクOSにおけるプロセス管理」の解説は、「プロセス」の解説の一部です。
「マルチタスクOSにおけるプロセス管理」を含む「プロセス」の記事については、「プロセス」の概要を参照ください。
- マルチタスクOSにおけるプロセス管理のページへのリンク