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

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

  • by magicME (10732) on 2004年01月26日 20時57分 (#481435)
    Cygwinや逆で言えばwineなどと同じようなものなのでしょうか?
    少しはググったのですが素人な私にはちょっと違いがわからなくて・・・
    無知を承知での質問ですが識者の方からお教え頂ければと思います。

    (質問の方向性からしてぜんぜんはずれてたらゴメン)
    • by Anonymous Coward on 2004年01月26日 21時34分 (#481467)
      Cygwin = Windows上に用意した変換DLL (cygwin1.dll) を通して Linux API (主に POSIX) を間接的に利用できるように目指しているもの。
      coLinux = Windows上に用意したデバイスドライバを利用して Linux カーネル自身をエミュレーションするもの。
      VMware/bochs = x86環境そのものをエミュレーションするもの。
      wine = Windows API をエミュレーションするもの。
      ということになります(coLinuxだけはドキュメントからの情報)。

      Cygwinはソースコードレベルでの互換性しかなく、ネイティブLinuxでコンパイルされたバイナリは動作できないのに対して、coLinuxは同一のバイナリが動作するとのことです。
      また、VMware/bochs はx86環境そのものをエミュレーションするため何らかの方法でインストラクションコードを変換する必要がありますが、coLinux は単にLinuxのAPIとシステムコールをエミュレーションするだけのようです。

      あくまでも推測ですので間違ってたら修正お願いします。
      親コメント
      • by Anonymous Coward on 2004年01月26日 21時51分 (#481477)
        VMwareは基本的にネイティブCPUをそのまま使ってコードを実行します。
        bochsはCPUもエミュレートします。
        親コメント
      • by Anonymous Coward on 2004年01月27日 0時52分 (#481609)
        #481467> Cygwin = Windows上に用意した変換DLL (cygwin1.dll) を通して Linux API (POSIX) を間接的に利用できるように目指しているもの。

        「Linux API を利用できるようにする」という言い方だと *BSD の Linux Emulation のような実装を指すのではないでしょうか。

        まだ「POSIX 風 API を間接的に利用できるようにする」といったほうが良いかと思います。
        (Windows と UNIX の機能の差から、POSIX で規定されているいくつかの関数がかつての Cygwin では実装できてなかった記憶があります)

        比較的近い実装は Services for UNIX 2.0 についてきた MKS Toolkit だと思います。
        (SFU 3.0 の Interix サブシステムは Windows NT Micro Kernel のフェイスとして実装されているので、ちょっと違うでしょう。Interix サブシステムと同じような実装で Linux API を直接解釈できるサブシステムを作ることができると思いますが、かなり実現は難しいと思います)

        親コメント
        • ええと、LINE [sourceforge.net]とはどう違うのでしょう?
          • LINEはアプリケーションレベルのLinux API(システムコール)エミュレータだと思います。

            #481467の例にならってまとめるとこんな感じになるのでしょうか。
            (一応、より低いレベルでエミュレーションを行っているものから順に並べたつもりです)

            • VMware/bochs
              アプリケーションレベル(user mode)でPCそのもののエミュレーションをおこなう。
              (VMwareでは安全なコードをそのままCPUに実行させて速度を稼いでいるが、bochsはCPUのエミュレーションも行っているため遅い)
              要、ゲストOS。
              VMware/bochs上で動いているプログラムはホストOS(Windows)上から個別に認識できない(←あたりまえ)。

Stay hungry, Stay foolish. -- Steven Paul Jobs

処理中...