Cooperative
Linux、通称co
Linuxは、
Microsoft Windows上で動作する
Linuxカーネルです。Dan Aloni氏によって開発され、Windows 2000からWindows 7までの環境で利用できます。この技術の最大の特徴は、
エミュレータや仮想マシンとは異なり、本物の
LinuxカーネルがWindows上で直接動作することです。
開発の背景
開発者のDan Aloni氏は、co
Linux以前にUmlwin32というプロジェクトを手掛けていました。これは
LinuxのUML(User-Mode
Linux)技術をWindowsに実装しようとするものでしたが、Aloni氏はこれをさらに発展させ、UMLとは異なるアプローチでより実用的なco
Linuxの開発に着手しました。
動作原理
co
Linuxは、Windowsアプリケーションとして
Linuxカーネルを動作させます。
Linuxカーネルとの入出力は、Windows用ドライバlinux.sysを介して行われます。補助記憶装置には、実パーティションまたはディスクイメージを使用します。メインメモリは、Windowsのユーザー空間の一部を利用し、起動時に設定ファイルで割り当て量を指定します。
現在のバージョンでは、ディスプレイアダプタとサウンドアダプタは実装されていません。そのため、GUIを利用する場合は、
X Window SystemやVNCのようなリモート接続ツールを使用する必要があります。音声はサウンド
サーバを利用することで再生可能です。
特徴
仮想マシンとの比較
- - 高速性: 入出力のオーバーヘッドが少ないため、仮想マシンと比較して高速に動作します。
- - 高速起動: 通常のBIOSやブートローダを使用しないため、起動時間が短縮されます。
- - NTサービスとしての実行: LinuxをWindowsのNTサービスとしてバックグラウンドで稼働させることができます。
- - カーネルバージョンの制限: coLinuxは、カーネルバージョンを自由に変更することはできません。
デュアルブート環境との比較
- - 同時利用: WindowsとLinuxのソフトウェアを同時に並行して利用できます。
- - 複数起動: 複数のcoLinuxインスタンスを同時に起動することができます。
ネットワーク
co
Linuxは、TAP-Win32やWinPcapなどのネットワークツールを介して外部ネットワークに接続できます。これにより、Windows環境にいながら
Linuxのネットワーク機能を利用することが可能です。
まとめ
co
Linuxは、Windows上で
Linuxを効率的に利用するための優れたソリューションです。高速性、豊富なソフトウェア、デュアルブート環境の代替としての利便性など、多くのメリットを提供します。特に開発環境や
サーバー環境において、その能力を最大限に発揮します。
外部リンク