neverjpのぶらり日記

コンピューター関連の記事とぶらりと出かけた先の写真など

OS?タスクのコントロール



タスクとはたとえばEXCELとかWORDとかPhotoShopとかその他CPUの計測プログラムとかを実行したとき、メモリーに乗りCPUの実行対象になったものを指します。またWORDなどのアプリケーションプログラムでプリンターを出力装置として使う場合、プリンターには直接出力しないで一時的にプリントイメージをディスク装置に出力します。このときのプリントイメージファイルをプリンターに出力するのもタスク(スプーラー)です。 一台のコンピュータで同時に複数の処理をこなすマルチタスク処理の実現方法のうち、CPUをOSが管理する方式をプリエンプティブなマルチタスク処理といいます。OSがCPUの処理能力(CPU Time)をそれぞれのアプリケーションソフトに割り当てて同時実行させるマルチタスク方式です。OSはハードウェアタイマーを参照しながら(タイムスライスヴァリュー)、実行待ち命令のあるアプリケーションソフトに短時間ずつCPUの実行権限を与えます。これをラウンドロビン方式と呼びます。OSが完全にCPUの割り当てを管理しているため、高い負荷のかかるアプリケーションソフト(入出力処理をあまり使わず、演算処理を多く行う)が動作していても他のアプリケーションソフトを動作させることが可能です。また、一つのアプリケーションソフトが異常終了してもシステム全体が影響を受けることはありません。このタスクのスイッチングロジックをスイッチャまたはディスパッチャと呼びます。ディスパッチャはOSの中核部分です。プリエンプティブマルチタスクを実装するとOSの処理が複雑になり、CPUを占有するアプリケーションソフトを切り替えるごとに処理が必要になりますが、現在のCPU性能ではこれらの処理によって生じる負荷は問題にならないほど小さいものとなっています。これに対してOSがCPUを管理せずに、実行中の各アプリケーションソフトで、自分が処理を行なわない「空き時間」を自発的に開放することによって、他のアプリケーションソフトと同時実行できるようにする方式は「ノンプリエンプティブマルチタスク」といいます。ノンプリエンティブなOSとしてはWindows3.1以前のもの、Mac OS 9以前のものなどがあり、OS/3、Windows/XP、Mac OS XUNIXなどがプリエンプティブマルチタスクといえます。

人気blogランキングへ←人気blogランキングに参加しています。よろしければ1票を!