注目の書籍

好評発売中!

知識ゼロから始めるLinuxサーバーの作り方

Linux初心者でも
本格 サーバーが“即席”で 完成!自宅サーバー
クラウド化も!

必聴講座ご紹介

Cloud Days Tokyo 2012
クラウド時代を勝ち抜く企業戦略を考える

エムオーテックス


Cloud Days Tokyo 2012
クラウド時代の企業インフラとユーザー環境の姿

ヴイエムウェア


Cloud Days Osaka 2012
クラウドでIT維新を〜ビジネスを加速させるベストプラクティス

アマゾン データ サービス ジャパン

オープンソース/Linux

オープンソース

日経Linux

[特選フリーソフト]Windows上でLinuxを動かすCooperative Linux(上)

2004/08/25
出典:2004年7月号  90ページ
(記事は執筆時の情報に基づいており、現在では異なる場合があります)

ジャンル:Linux実行環境  作者:Dan Aloni氏
ライセンス:GNU GPL  URL:http://www.colinux.org/

Cooperative Linuxは,Windows上でLinuxを稼働させるソフトウエアである。Linuxカーネルをはじめ,コンソール・ベースのLinuxコマンドを実行できる。VNCやCygwin/Xを併用すれば,Linux向けのGUIソフトウエアも実行可能である。

 これまでWindows上でLinuxを稼働させる場合,PCエミュレータと呼ばれるソフトウエアが用いられてきた。これは,PC AT互換機のハードウエアをソフトウエアでエミュレートするソフトウエアで,代表的なものには米VMwareの「VMware」やマイクロソフトの「Virtual PC」などがある。

 PCエミュレータは,PCのハードウエア環境すべてをエミュレートするため,PCで動作するOSならば(原理的には)すべて稼働できる利点がある。その半面,実装に手間がかかり,実行性能も低下しがちなのが難点である。

 イスラエルの大学生,Dan Aloni氏が開発したCooperative Linux(以下,coLinux)は,PCエミュレータとは別の方式でLinuxを稼働させる。

 coLinuxでは,Windows用の特殊なデバイス・ドライバを使って,WindowsカーネルとLinuxカーネルを短い間隔で切り替えることで,Windows上でLinuxを稼働させる。LinuxカーネルもWindowsカーネルと同じくプロセッサの特権レベルで動作し,ネイティブ実行時と同様にあらゆる操作が可能である。実行時のオーバーヘッドも少ない。仕組み的には,Linux上でLinuxを稼働させるUML(User Mode Linux)と似ている。原理的にLinuxしかゲストOSとして稼働できないが,実装の手間や性能低下の問題を大幅に軽減できる利点がある。

写真1●coLinuxのインストール画面
Cygwinがすでにインストールされている場合は,「Cygwin DLL」のチェックを外す。
写真2●ネットワーク・アダプタの設定
Windowsで利用するネットワーク・アダプタと,仮想ネットワーク・アダプタの「TAP-Win32」をブリッジ接続する。

 ただしネイティブ実行時とは,アクセスするメモリー領域がWindowsと重ならないように,実行切り替え時にMMU(Memory Management Unit)の設定が変更される点が異なる。これに対応するため,Linuxカーネルに多少の変更が必要である。また,Windowsとハードウエアを協調利用できるよう,Linuxからのハードウエアへの直接の入出力は禁止されている。すべての入出力はWindows(のデバイス・ドライバ)を経由する。これを実現するには,coLinux側でデバイスのエミュレートが必要になるが,現時点ではエミュレーションは完全ではない。そのため,XサーバーをcoLinux上で稼働させることができない。Xアプリケーションを稼働させるには,VNC(Virtual Network Computing)や,Cygwin環境などで動作するXサーバーが別途必要である。

 coLinuxの稼働環境は,Windows 2000あるいはWindows XPである。また,フリーのWindows互換OSである「ReactOS」(http://www.reactos.com/)でも動作する。

coLinuxのインストール

 それでは,必要なパッケージを入手してWindows XPにcoLinuxをインストールしてみよう。まず,coLinuxのWebページ(http://www.colinux.org/)または,本誌付録DVD-ROMからcoLinuxのインストーラ・ファイル「coLinux-0.6.0.exe」を入手し,それをWindows上で起動する。

 インストールはウイザード形式で実施できる。途中,導入するパッケージを聞かれる。WindowsにCygwin環境をすでにインストールしている場合は,ここでCygwinのDLL(Dynamic Link Library)をインストールしないように「Cygwin DLL」のチェックを外す(写真1[拡大表示])。

 インストールの最後には「TAP-Win32 Adapter」を導入するかを聞かれる。TAP-Win32は,仮想ネットワーク・アダプタで,coLinuxからネットワークを利用する際に必要なパッケージである。「続行」ボタンをクリックすれば導入される。これでインストールは終了である。

 インストール作業後,Windows XPで利用するネットワーク・デバイスとTAP-Win32をブリッジ接続する。これには,Windowsの「コントロールパネル」から「ネットワーク接続」を開く。そこで,Windows XPで利用するネットワーク・デバイスとTAP-Win32アダプタを両方選択してから,マウスの右クリックをして「ブリッジ接続」を選択する(写真2[拡大表示])。

(ライター 福田 和宏)


(中)に続く

この記事に対するfacebookコメント

nikkeibpITpro

読みましたか? 〜 未読記事をご紹介