プリエンプティブ・マルチタスクをサポートしたシステム
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/02/24 14:33 UTC 版)
「プリエンプション」の記事における「プリエンプティブ・マルチタスクをサポートしたシステム」の解説
プリエンプティブなオペレーティングシステムとしては、AmigaOS、NEXTSTEP、Windows NT系(XPやVistaを含む)、Windows CE、Linux、BSD系、macOS(iOSを含む)、BeOS、Windows 95/98(32ビットアプリケーションのみ)がある。UNIXやその系統のシステム、VMSなどの科学技術計算用や大規模ビジネス用のシステムも古くからプリエンプティブ・マルチタスクをサポートしていたが、高価なライセンス料やハードウェアが必要であったため、一般ユーザーの手に届くものではなかった。 ノンプリエンプティブ(協調的)オペレーティングシステムの例としては、Windows 1.x, 2.x, 3.x、Windows 95/98(16ビットアプリケーションの場合)、NetWare、Mac OS(System 5.0 以降)がある。マルチタスクでないオペレーティングシステムとしては、古い Mac OS、MS-DOS、コモドール64のOSがあり、一度に1つのプログラムしか実行できない。 AmigaOSは、TRIPOSというプリエンプティブ・マルチタスクシステムに基づいており、一般ユーザー向けに広く利用可能となった初期のプリエンプティブ・マルチタスクシステムであった(1985年)。68000ベースのAmiga上で動作し、仮想記憶ではなかったため、再配置可能なコードブロックによる動的ロード機能を使い、全プロセスを単一のフラットなアドレス空間に置いていた。 初期の IBM PC 用オペレーティングシステムであるMS-DOSやDR-DOSはマルチタスクを全くサポートしていなかった。NetWare、Windows、OS/2がPCに協調的マルチタスクを導入したが、プリエンプティブ・マルチタスクはサポートしていなかった。PCの場合、採用が遅れたのは過去のソフトウェア資産(Intel 8086ベースのPC向けソフトウェア)との互換性を維持する必要があったためである。しかし、Amigaは当初からマルチタスクを考慮して設計されていた。 Windowsで最初に限定的なプリエンプティブ・マルチタスクをサポートしたのはWindows 2.1xでのIntel 80386の仮想86モードを使ったものである。これは、DOSボックスまたは仮想DOSマシン (VDM) と呼ばれる仮想8086マシン上でアプリケーションを動作させるもので、その仮想8086マシンがプリエンプション可能であった。Windows 95とその後継であるWindows 98およびWindows Meでは、32ビットアプリケーションはそれぞれ個別のアドレス空間で実行され、プリエンプション可能だったが、16ビットのアプリケーションは協調的マルチタスクのままだった。Windows NT では最初からプロセスを32ビットアドレス空間で実行し、常にプリエンプティブ・マルチタスクをサポートしていた。これはNT系列のWindowsに引き継がれている(Windows 2000、Windows XP、Windows Vista)。 Classic Mac OSでは、協調的マルチタスクをプリエンプティブ・マルチタスクに改良する計画があったが、Mac OS Xへの移行によって立ち消えとなった。Mac OS XはBSDの流れを汲むDarwinカーネルに基づいており、前身のNEXTSTEPの時代から完全なプリエンプティブ・マルチタスクをサポートしている。 OS/2 Warpは、IBMがマイクロソフトと共同開発したOS/2を改良したもので、386システムをターゲットとして、ネイティブアプリケーションにはプリエンプティブ・マルチタスクをサポートしていた。また、複数のウィンドウセッションをプリエンプティブに実行可能であった。
※この「プリエンプティブ・マルチタスクをサポートしたシステム」の解説は、「プリエンプション」の解説の一部です。
「プリエンプティブ・マルチタスクをサポートしたシステム」を含む「プリエンプション」の記事については、「プリエンプション」の概要を参照ください。
- プリエンプティブ・マルチタスクをサポートしたシステムのページへのリンク