パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Cooperative Linuxプロジェクト」記事へのコメント

  • by Anonymous Coward on 2004年01月26日 22時14分 (#481497)
    トップページの適当な翻訳。誰かちゃんと直して。

    coLinuxとは何か

    ... "Linuxが全てのアーキテクチャ上で動作するなら、別のオペレーティングシステム上でも動作すべきでないか?"...

    Cooperative LinuxはMicorsoft Windows上でネイティブにLinuxを最適に実行できる最初の動作するフリーでオープン
    ソースな手法です。より一般的には、Cooperative Linux(略称coLinux)はLinux kernelの移植の一つで、一つのマシン上で
    別のオペレーティングシステムとともに協調的に動作するようにします。例えば、VMwareのような商用のPC仮想化ソフト
    なしに、Windows 2000/XP上でLinuxを自由に実行でき、汎用PC仮想化ソフトを使用するよりより効率的に実行できます。
    現在の状況は、KNOPPIX 日本語版をWindows上で実行できます(スクリーンショットを参照)。

    動作手法

    UML(や前述のVMware)等の他のLinux仮想化手法と異なり、ホストオペレーティングシステム上で特別なドライバソフトを
    使って、coLinux kernelを特権モードで実行します(リング0やスーパバイザモードとして知られている)

    ホストOSの状態とcoLinux kernelの状態間でマシンの状態を定期的に切り換えることにより、coLinuxは自身の特別に割り
    当てられたアドレス空間内で物理マシンのMMUの完全な制御(つまり、ページングや保護)を提供し、ネイティブカーネルの
    ように振る舞うことが可能で、同じマシンのスタンドアロン状態で実行する通常のLinuxから期待されるのとほぼ同じ
    性能や機能を獲得しています。

    coLinuxはユーザスペース実行可能プログラムにネイティブLinuxと同じバイナリフォーマットを使用しているので、
    coLinuxはホストOSと同時に既存の無改変のLinuxディストリビューションを読み込み、実行できます。

    ハードウェア仮想化

    ホストオペレーティングシステムとハードウェアを協同的に共有するために、coLinuxはI/Oデバイスを直接アクセスしません。
    代わりに、ホストOS内のcoLinuxドライバが提供するエミュレーションデバイスと接続します。例えば、Windows内の通常の
    ファイルがcoLinux内ではブロックデバイスとして使用できます。全ての実ハードウェア割り込みは透過的に透過的にホスト
    OSに送られ、そのため、ホストOSが実際のハードウェアを制御する方法は妨害されず、それゆえスムーズに実行を続けます。

    移植性

    User Mode Linuxと異なり、coLinuxは全てのLinuxプロセスに対して常にホストOSで単一のプロセスになり、ホストOSに実装
    されている方法とは独立した手法で、独自にスケジューリングやリソース、フォールトを管理します。実は、coLinuxは動作
    するためにホストOSカーネルから共通してエクスポートされるプリミティブの大変小さなセットのみ必要とし、それゆえ、
    SolarisやLinux自身など他のどのオペレーティングシステム下で動作するようにかなり簡単に移植できます。

    coLinuxはオープンソースWindowsクローンReactOS下で動作するよう移植されています。
    • ん、WinNTにおける Win32サブシステムのような感じで
      ReactOS上で linuxサブシステムを実装している... とは
      違うのかな。

      ReactOSカーネル上でカーネル? むむぅ..
    • つまり,ドライバに渡った制御を利用してLinuxカーネルを実行するイメージではないかな。
      (Winの)カーネルドライバとして実行されれば、特権モードで任意のコードを実行することが出来る=カーネルも動くしMMUも触れる、

コンピュータは旧約聖書の神に似ている、規則は多く、慈悲は無い -- Joseph Campbell

処理中...