ICDロゴ

マルチタスク (multitasking)

最終更新日: 2001/06/07

 1つのコンピュータシステムにおいて、複数の処理(タスク)を同時に実行すること。このような処理を可能にするオペレーティングシステムは、マルチタスクOSなどと呼ばれる。

 本来、コンピュータは、プログラムコードを逐次処理することしかできず、厳密にはまったく同時に複数の処理を行うことはできない。ただし逐次処理は非常に高速に実行されるため、あるタスクをごく短い時間だけ処理し、次に別のタスクを短時間だけ処理し…、ということを繰り返し行うことで、人間の目からはあたかも複数の処理が同時実行されているように見えるようになる。

 マルチタスクOSでは、複数タスクの管理などのオーバーヘッドが発生するので、パーソナルコンピュータの処理性能が低かった時代のMS-DOSでは、マルチタスクはサポートされていなかった(このようなオペレーティングシステムは、マルチタスクOSに対して、「シングルタスクOS」と呼ばれた)。その後発表されたWindowsオペレーティングシステムでマルチタスクがサポートされ、現在ではパーソナルコンピュータ上でもマルチタスクOSが主流になっている。

 マルチタスクの実現方式には、ノンプリエンプティブ(non-preemptive)方式とプリエンプティブ(preemptive)方式の2種類がある。このうち前者のノンプリエンプティブ方式は、同時実行されるアプリケーションが、一定時間ごとに自主的に処理を解放することで、他のアプリケーションが動けるようにするものである。この方式では、オペレーティングシステム側に強制力がなく、アプリケーションが何らかの理由で処理を解放しなければ、永遠に他のタスクは実行されないという大きな欠点がある一方で、オペレーティングシステム側の処理はほとんど必要がなく、比較的低性能のシステムでも実用的な環境を実現可能という長所がある。これに対しプリエンプティブ方式では、同時実行されるタスクをオペレーティングシステムが完全に掌握し、ハードウェアタイマに従って、それらを強制的に切り替えていく。この方式では、オペレーティングシステムの負担が重くなるが、アプリケーションの自主性によらずにシステムを制御できるので、より信頼性の高いオペレーティングシステムを実現できるという長所がある。

 現存するオペレーティングシステムとしては、Ver.3.1までのWindowsが前者の方式を、Windows 95/Windows 98、Windows NT、UNIXなどが後者の方式を採用している。

Copyright (C) 2000-2007 Digital Advantage Corp.

アイティメディアの提供サービス

キャリアアップ