Cooperative Linux

提供: miniwiki
移動先:案内検索

Cooperative Linuxは、Microsoft Windows上で動作するLinuxカーネルである。Dan Aloniが開発した。略称はcoLinuxWindows 2000Windows XPWindows VistaWindows 7で利用できる。エミュレータ仮想マシンではなく、本物のLinuxカーネルがWindows上で動作することが大きな特徴である。TAP-Win32WinPcapといったネットワークツールを経由して外部のネットワークへ接続が可能。

Dan AloniはcoLinux以前にUmlwin32と言うものを開発していた。これはLinuxUML技術をMicrosoft Windowsに実装しようとしたもので、Dan AloniはUmlwin32をより実用的に発展させたものとして、UMLとは違う切り口からcoLinuxの開発を始めた。

動作原理

  • WindowsアプリケーションとしてLinuxカーネルが動作する
  • Windows用ドライバとしてlinux.sysがLinuxカーネルからの/への入出力を行う
  • 補助記憶装置は実パーティション又はディスクイメージを利用する
  • メインメモリは一般的なアプリケーションと同様、Windowsのユーザー空間の一部を利用する(起動時に設定ファイルの記述により割当量を決定する)
  • 現時点ではディスプレイアダプタおよびサウンドアダプタは実装されていない。そのため、GUIを利用するにはX Window SystemVNCを使ってリモートコンピュータのように接続する。音声はサウンドサーバを利用することで再生できる。

特徴

仮想マシンとの比較

  • 入出力のオーバーヘッドが少なく高速である。
  • 通常のBIOSやブートローダを用いないため、起動が高速である。
  • NTサービスとしてLinuxを稼動させることができる。
  • coLinuxはカーネルバージョンを変更できない。

Cygwinとの比較

  • coLinux は「本物の」Linuxであるため、Linux用の通常のバイナリが利用できる。すなわち豊富な既存のLinux用ソフトウェアが利用できる。
  • Debian GNU/LinuxUbuntuといった、一般のLinuxディストリビューションを、ほぼそのままcoLinux上で利用できる。
  • 入出力のオーバーヘッドで課題の大きいCygwinと比較して高速である。

Windows/Linuxデュアルブート環境との比較

  • Windows上で動作するソフトウェアとLinux上で動作するソフトウェアを同時に並行して利用できる。
  • 同時に複数のcoLinuxを起動できる。

外部リンク

テンプレート:FLOSS-stub