パスワードを忘れた? アカウント作成
11100 story
OS

MINIXの新バージョン3がリリース 74

ストーリー by yoosee
マイクロカーネルはモノリシックカーネルより信頼性が高いのじゃよ 部門より

flutist曰く、"Linuxカーネルがモノリシックとして誕生するきっかけともなった、タネンバウム教授の教育用OS MINIX のバージョン3 がリリースされた。教授の主張を踏襲して、当然マイクロカーネル。これまでの教育志向に加えて、組み込み用途を視野に入れた「使いやすく信頼性の高い」OSを目指した、とされている。"

Minix3 に関しては slashdot.org にも記事が出ている。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by koshian (6999) on 2005年10月25日 23時22分 (#820300) ホームページ 日記
    タレコもうとトップページを翻訳してたら、先を越されてしまいました orz
    もったいないのでここにポストしちゃいます。おかしなとこあったらdiffでもつけてください^^;

    MINIX 3 は、高い信頼性とセキュリティを実現するためにデザインされた新しいオープンソース・オペレーティング・システムです。 多少は以前のバージョンのMINIXをベースにしていますが、多くの重要なところで根本的に違っています。 MINIX 1と2は教育用ツールを意図していました。MINIX 3は限られたリソースや組み込み用途のコンピュータ、そして高い信頼性が要求されるアプリケーションに使えることを新しいゴールとして設定しました。

    この新しいOSは、カーネルモード部で走るものは4000行未満の実行コードという、極めて小さいものです。ユーザーモードで走る部分は小さなモジュールに分割されており、他のものからきちんと隔離されています。 例えば、めいめいのデバイスドライバは一つのユーザーモードプロセスに切り離されて走っており、(バグのある巨大なソースのOSとは段違いに)ドライバのバグがOS全体を巻き込むことはありません。実際、だいたいドライバがクラッシュしたときは、ユーザーの介入の必要もなく、再起動の必要もなく、走っているプログラムに影響を与えることも無く、それが自動的に置き換わります。これらの機能は、小さなカーネルコードの帰するものであり、他の面でも優れた信頼性を増すシステムです。

    MINIX 3 は以下のようなものを初期ターゲットとしてます:

    • とても高い信頼性が求められるアプリケーション
    • 第三世界の子供たちのための、シングルチップ、小さなメモリ、省電力な$100ラップトップ
    • 組み込みシステム(カメラ、DVDレコーダ、携帯電話等)
    • きつい制限のかかったGPLのアプリケーション(MINIX 3 はBSDタイプのライセンス)
    • 教育 (大学のオペレーティングシステムコース等)

    MINIX 3 Features

    • POSIX準拠
    • TCP/IPネットワーキング
    • 二つのANSI Cコンパイラ(ACKとgcc)
    • 300以上のUNIXプログラム
    • V2からの多くの改良
    • 完全なマルチユーザーとマルチプログラミング(マルチタスク?)
    • 4G以上のメモリをサポート
    • デバイスドライバがユーザープロセスで走る
    • 完全なCソースコードを供給
    • 386, 486, Pentium等で動作
    • by hideyuki (4998) on 2005年10月25日 23時47分 (#820320)
      これらの機能は、小さなカーネルコードの帰するものであり、他の面でも優れた信頼性を増すシステムです。
      →これらの機能・小さなカーネルコード・その他の点によってシステムの信頼性が大幅に向上しています。

      (バグのある巨大なソースのOSとは段違いに)ドライバ
      →(OSにおいて断トツで最大のバグ発生源である)ドライバ

      きつい制限のかかったGPLのアプリケーション
      →GPLでは制限がきつすぎるアプリケーション
      親コメント
    • by Average (3404) on 2005年10月26日 0時34分 (#820343) 日記
      デバイスドライバがユーザー空間で動いていると言うことは、ソースをユーザーが書いてちょろっとコンパイルすると、新しいデバイスを(OSを再起動することなく)動的にマウント出来たりする・・・・事が原理的に可能なはず。

      ・・・・いや、OSにその手の機能を組み込む事を考えてないと駄目でしょうけど。
      --
      -----------------
      #そんなワタシはOS/2ユーザー:-)
      親コメント
      • デバイスドライバがユーザー空間で動いてる事はドライバを動的に付けたり外したりするための必須条件じゃないよ。カーネル空間に読み込んでもいいんだし。ドライバをユーザー空間で動かすメリットとデメリットは付けたり外したりとは別。
        # 実際、付けたり外したりはLinuxでもできるし。
        親コメント
        • by Average (3404) on 2005年10月26日 2時03分 (#820374) 日記
          いやユーザーが直接ドライバを弄れる(かもしれない)のがポイントな訳ですよ、しかも生きたまま。

          ホントに出来るかどうかはさておいて:-)

          ユーザーが再起動せずに自分でドライバをデバッグしつつ組み込んだり、外したりできたりとか、ユーザーが動的にファイルシステムを拡張したりできる訳っす。

          たとえばzipを直接読み書きできるファイルシステムをカーネル落とさずにユーザーがコンパイルして組み込め、なおかつドライバをデバッガで追っかけられるという変態的な開発が可能になる・・・かも、という話です。
          やりたいかどうかはさておいて:-)。

          で、これが究極まで行くと、MINIXでMINIXを動かすという変態的な技も可能になると思います・・・というかHurdで可能になる、等と言われていた筈:-)
          --
          -----------------
          #そんなワタシはOS/2ユーザー:-)
          親コメント
          • by amura (15484) on 2005年10月26日 3時40分 (#820385) 日記
            ちょっとminix3をいじってみました。

            /sbin、/usr/sbin にデバイスドライバのバイナリが普通の実行ファイルとして置いてあります。ブートに必要が無いデバイスは /etc/rc で実行していくみたい。
            たとえばzipを直接読み書きできるファイルシステムをカーネル落とさずにユーザーがコンパイルして組み込め、なおかつドライバをデバッガで追っかけられるという変態的な開発が可能になる・・・かも、という話です。
            ドライバと普通のプロセスの区別が無いようなんで、割り込みが絡まない場合は、ひとまず普通プログラムとして開発して、完成度が上がったらドライバに仕立て直すのが一般的になるんじゃないでしょうか。

            普通に動かすとwgetのようなダウンローダだけど、実行オプションによってはwebdavfsとして動く変態的プログラムもできそうです。
            --
            なんちゃってプログラマ?
            親コメント
          • by tarosuke (2403) <webmaster@tarosuke.net> on 2005年10月26日 10時18分 (#820463) 日記
            >しかも生きたまま。

            モノリシックでもそれはできるよ。例えばLinuxのドライバ書く時はモジュールで作っておいてinsmodで組み込んで、rmmodで取り外してるし。(大抵は)再起動なしに。

            マイクロカーネルとモノリシックの差は、ドライバが腐ってる時にカーネルごと死ぬ確率とか割り込みに対する応答時間とかそういう性能っぽい部分であって、動作中に付けたり外したりできるかどうか、というか可能/不可能という部分じゃないよ。

            >MINIXでMINIXを動かすという変態的な技

            Linuxの例ばっかでアレだけど、UML(ユーザーモードリナックス)っつーのがあるね。LinuxでLinuxを動かすって奴。
            親コメント
      • > デバイスドライバがユーザー空間で動いている
        FUSE [linux.com] がそれだし、原理的には NFS を使えばいける。

        マイクロカーネルの利点って言ったらやっぱり設計なんじゃないかなぁ。

        モノリシックカーネル内部での関数の呼び出しが
        マイクロカーネルの各ドライバ間でのメッセージ送受信に相当するはず。
        OOP のポリモーフィングを、
        関数テーブルで実装するか、メッセージの書き換えで実装するかの
        違いと言ってもいいのかも知れないな。

        メッセージの書き換えで実装するほうが、たいていは
        より柔軟にできる可能性があると思われる。(その分遅くなるけど)
        --
        # mishimaは本田透先生を熱烈に応援しています
        親コメント
  • 日本語記事 (スコア:4, 参考になる)

    by Anonymous Coward on 2005年10月25日 22時56分 (#820278)
    日本語の記事としては、MYCOM PCWEBの記事 [mycom.co.jp]が出てます。MacOS上のスクリーンショットあり。
    • by flutist (16098) on 2005年10月25日 23時06分 (#820285)
      > 米国人のAndrew S. Tanenbaum教授 (MYCOMより)

      驚き。
      てっきりオランダ人だと思い込んでいました。
      だから"Geheim"もオランダ語だろうと思ってましたが、もしかして違うのかな。
      親コメント
      • by chiba-f (6867) on 2005年10月25日 23時31分 (#820305)
        フリイエ大学はオランダの大学なんですけどね.どっちなんでしょう?
        Andrew S. Tanenbaum, Professor of Computer Science [cs.vu.nl]
        フリイエ大学 [www.vu.nl]

        #わざわざ「米国人の」と書くのも変な気がするけど.
        親コメント
        • Re:日本語記事 (スコア:5, 参考になる)

          by flutist (16098) on 2005年10月25日 23時40分 (#820313)
          ACKってそういえばアムステルダム・コンパイラ・キットだったよなぁ、と思ってググってたら、<A href="http://www.cs.vu.nl/~ast/home/faq.html">ご本人FAQ</A>のページがありました。

          My paternal grandfather was born in Chorostkow, currently in Ukraine, historically in Poland, at the time under Austro-Hungarian management. He came to the U.S. in 1914. I was born in New York and grew up in White Plains, NY. I went to Amsterdam as a postdoc and have sort of hung around ever since.

          アメリカの生まれ育ちで、ポスドクからオランダ、だそうです。
          親コメント
      • by monaka (4489) on 2005年10月26日 0時58分 (#820356)
        > だから"Geheim"もオランダ語

        "秘密"って言う意味のオランダ語です。
        っていうのは1版バイブルの訳注か何かに書いてありませんでしたっけ?
        ほかの本だったかな。もう記憶が曖昧…。
        --
        from もなか
        親コメント
  • VMWareイメージも (スコア:3, 参考になる)

    by garland (19916) on 2005年10月25日 22時44分 (#820273)
    本家でもふれられていますが、
    LiveCDやVMwareイメージでの提供もされているようですね。
    20代の自分にはMINIXというと、名前だけ聞いたことのある
    過去のモノ、という印象が強かったのですが、こういう
    配布形態を用意してきたということで、それが若干
    払拭されたような気がします。

    それとも、元々教育用であったことを考えるとこの配布形態は
    至極当たり前なのでしょうか。
    • by Average (3404) on 2005年10月25日 22時48分 (#820275) 日記
      Minix2.0までのライセンスは確か改変したソースを配布するのはNGだったと思いました。
      だもんで、386化するのに大いに難儀したといういきさつからLinuxが支持を得た、という経緯があったと思います。

      それはさておき、デバイスドライバがユーザー空間で走るなど、OSとしても意欲的な構成じゃないですか。
      GNU Hurdもこっちに乗り換えて欲しかったり:-)
      --
      -----------------
      #そんなワタシはOS/2ユーザー:-)
      親コメント
      • by goji (949) on 2005年10月26日 0時47分 (#820351) ホームページ 日記
        デバイスドライバがカーネルと別空間で走ると言うのはMinixやMachとかマイクロカーネルの流行していた時代に当然のように採用された方式です。初期のWindowsNTもね。
        しかし当時はそれでは性能が出なかった。
        というのもLinusがモノリシックカーネルに固執した理由の一つでしょう。
        バーチャルマシンブームの今なら、ハードウェアのサポートも期待できるし、また流行するかも知れませんね。
        親コメント
      • by hohehohe (11394) on 2005年10月25日 22時56分 (#820279)
        Minix3のライセンスはBSDなんですね
        --
        AVG anti-virus data base out of date
        親コメント
        • by tarosuke (2403) <webmaster@tarosuke.net> on 2005年10月26日 0時40分 (#820346) 日記
          むむ?
          モノリシック=GPL、マイクロカーネル=BSDな傾向が?
          # そういやMonaも...
          親コメント
          • by cyber205 (4374) on 2005年10月26日 9時36分 (#820444) ホームページ 日記
            研究用途のOSは、BSDベースで、それを改造した方式で実装されることが多いようですね。
            OSそのものに「研究者が愛用してきたOS」という感じがしますよ。
            そして、マイクロカーネルは結構「歴史が浅い」わけですから、
            「研究用途から発展したものが多い」のだと考えると、
            BSD系が多いというのはそれなりに納得できるような気がします。

            UNIXという区分で元祖BSDと本家SystemV系を比較対象にもってきてGNUシステムを見た場合、
            GNUが目指していたシステムの利用感、いわゆる古いLinuxで実現されている環境は
            かなりBSDっぽいという意見も聞いたような気がします。
            もしかするとSlackwareあたりのことを言っているのかもしれませんが。
            親コメント
        • by 4geru (10338) on 2005年10月26日 13時53分 (#820537)
          2.x の頃に BSD License に変わりました。

          http://groups.google.com/group/comp.os.minix/msg/d12a0dde04b7f232?hl=en
          親コメント
      • by Anonymous Coward on 2005年10月26日 13時17分 (#820524)
        そんなデマを堂々と書かないでください。386化なんて1.5.xのときになされていますし。パッチもちゃんと配布されています。

        Linuxが支持されたのはMInixはあくまで教育用なので教育用として無駄な機能追加などは行わないという方針を貫き通したからです。

        Minixに触れた多くの人は教育用ではなく実用に供することのできるUnixクローンが欲しかったのです。386BSD, FreeBSD, NetBSD が誕生してからはそちらに期待がかかったわけですが、例の訴訟で開発停滞があって Linux がその間隙を縫って伸びてきたってな感じです。
        親コメント
    • by flutist (16098) on 2005年10月25日 23時21分 (#820299)
      > 元々教育用であったことを考えるとこの配布形態は至極当たり前

      当たり前とは言えないけど、お金のない学生に取って、MINIX用のマシンを用意しなくてすむから敷居はだいぶ低くなりますよね。今も非常に強い教育志向だと思います。

      もう15年も前、ASCIIから出ていたMINIX本を見ながら「メッセージ・パッシングの現場の様子を目で見る」のが楽しかったのを思い出します。MINIX 3もサイズは"extremely small"だそうで、完全なOSとして必要なこと全体を把握しやすいように作られているんだろうと思います。

      ちょっと見てみようかな。

      # 4000行か...。科研費を書き終わったら見てみよう。
      親コメント
    • by RX-178 (2626) on 2005年10月25日 23時56分 (#820325)
      すみません、VMware使ってませんので呆かましているかも知れませんが
      MINIXの配布しているイメージは先日の無償バージョン [srad.jp]で使えるのでしょうか
      これを期にMINIXを…、と言うわけではないのですが
      このような配布の時に使えるものなのかな~って思ったもので
      親コメント
  • by Anonymous Coward on 2005年10月25日 23時09分 (#820288)
    アスキーがPC-9800シリーズで動く奴をリリースしてましたよね(1991年頃でv1.5だったか)
    アレを買って四苦ハックしたのを思い出して
    久々にMINIXも触ってみたくなったよ

    当時はWindows3.0が出始めた頃だったと思いますが
    MINIXでもX-Windowを起動できた事で
    Windows3.0よりは安定してたけど
    X-Windowって華やかさが無いなとも感じたものでした
    • by monaka (4489) on 2005年10月26日 0時49分 (#820353)
      1.5.10ベースだったはず。
      Amoebaをしゃべれるようにするパッチを作ったり、古田さんからi386版パッチを譲り受けてリリースしたり、1.6.24辺りまで追いかけたり。1.7のMMとFSに1.6.25のkernelというキメラなバージョンを出したりとか。途中でNifty版が出たり私自身がLinuxの実用性にヒヨったりしたりした頃も、X68kの方々が結構活発にやっておられました。

      あれから15年。
      対象カーネルは変われど、やってることに全く進歩がないと気づき愕然。

      #いまだに257倍ページ復活キボンヌとか責められるID。
      --
      from もなか
      親コメント
      • by Anonymous Coward on 2005年10月26日 2時07分 (#820375)
        あー、そういえば Minix/X68k は '95 の突然のクリスマスプレゼントでしたね。
        Install してみたはいいけど root の Password がわからーんて叫んでみたり、
        1.5.10 ベースで 1.7.x への作業が細々となされてたり、
        TCP/IP とか使いたくてごぞごぞやって挫折してみたり、
        そんなこんなで 2 年もしたら海の向うでは MINIX 2.0 の
        68k Atari への移植が進んでたり、なかなか熱かった時ですねー。

        というわけで、257 倍のページ復活キボンヌ :)

        親コメント
    • by monaka (4489) on 2005年10月26日 1時19分 (#820364)
      ところで、MINIXでXが動いたのは、かなり後じゃないかなと思うのですが…。たぶんVMD [minix-vmd.org]以降。Nifty版が最後の頃どこまで進化したのか追いかけていないのですが…PC-98版ではそこまでたどり着かなかったのではないかと。
      MINIXでGUIというと、XよりもMGRのほうが注目度が高かったのではないかと。こちらも、PC-98版は多分日の目をみていないです。

      もしや時期的に近いPANIXとか386BSD(98)とかと記憶が混じっているのでは…?
      --
      from もなか
      親コメント
    • by koyo (4409) on 2005年10月26日 13時17分 (#820522) 日記
      98用が無かったので、AT互換機用に当てるパッチを
      日経MIXのMINIX会議の人が作ってました。Ver.1.3位だったかな?
      CUJJの付録で見た覚えはあるけど使いませんでした。

      って、わしゃ死語の辞典かいな
      親コメント
  • by Anonymous Coward on 2005年10月25日 23時08分 (#820286)
    タネンバウム教授とリーナスが、Net Newsで大激論を繰り広げたのは確かでしょうけど、だからと言って、MINIXが「Linuxカーネルがモノリシックとして誕生するきっかけともなった」と言うのは、何か違うような気がします。

    #つーても、おいらも、「それがぼくには楽しかったから」に書かれてた事
    #くらいしか知らないので、詳しい方のツッコミ大歓迎。
    • by cyber205 (4374) on 2005年10月26日 9時21分 (#820437) ホームページ 日記
      有名なFrame Warの内容ってのはこういうことみたいですが、 [oreilly.co.jp]
      「タネンバウム教授でもLinusを説得しきれなかった」という意味では、
      「Linuxをモノシリックカーネルとして開発させるきっかけになった」というのは
      間違っていないだろうと思います。

      でも、実際に当時のMINIXユーザたちが不満に思っていた点は、
      マイクロカーネル方式であることそのものにあったのではなくて、
      モノシリックカーネルでは普通に実現できる機能だった、
      「マルチスレッドで動く高速なファイルアクセスサービス」が
      きちんと実装されていなかったことらしいですね。

      さっきのリンク先にこんな投稿が収録されています。

      >Minixを使っている際、単一スレッドのファイルシステムが非常に苦痛だと感じています。
      >(猛烈に遅い)フロッピーディスクからファイルを読み込んでいる間も
      >何か行ないたいと思うことがよくあります。
      >大きなCプログラムやLispをコンパイルして待っている間、rogueで遊んでいたいのです。
      >プログラムをコンパイルしている間にエディタの1つのバッファでファイルを眺めていたいのです。

      UNIXアプリケーションを使っていろいろしたい人から見れば、
      確かに「ロクでもない制限をつけてくれたものだ」と思うでしょう。
      親コメント
    • by Anonymous Coward on 2005年10月25日 23時51分 (#820322)
      当該書籍には、MINIXでMINIXを手本にOSを勉強していたが、実用性の無さに不満を感じた、 [linux.or.jp]
      だから作ったというような箇所があったように思います。反面教師として、ウェイトは少なくないでしょう。
      なにをどう間違えたのか、移植した [srad.jp]という虚報もあったなあ…
      ま、別書籍の記憶かも知れないので、当該書籍にも引用
      されているはずのメールのやり取り [oreilly.co.jp]でも貼っておくかな。

      Minixをフリーに入手可能にしていただければ、
      Minixに対する私の最も大きな不満の1つはなくなります。

      と技術的な不満だけでは無い事もかかれてますけどねw

      親コメント
      • by Anonymous Coward on 2005年10月26日 1時37分 (#820367)
        > Minixをフリーに入手可能にしていただければ、
        > Minixに対する私の最も大きな不満の1つはなくなります。

        これは、当時の Network 事情が大きいですよね。
        低コストで Internet に接続できる環境がまだ一般的では
        ありませんでしたから、版権に縛られてフリーで入手できなくても、
        書籍として出版することで多くの人の手に行き渡ることを選んだわけですよね。

        ただその後も MINIX はあくまで教育用だとして、ユーザからの
        大きな改変要求を拒み続けた結果、その不満が Linux を生んだってのは、
        まぁなるべくしてなったかと思いますが。
        親コメント
      • by 4geru (10338) on 2005年10月26日 13時35分 (#820531)
        虚報というかマイクロソフトの陰謀ですな。
        親コメント
  • SMP に期待かな。

    この構造だとチューニング次第で、かなり面白くなりそうな気がする。

    マルチコアの挙動を把握することも、必要だしね。
  • by nemunemu (19747) on 2005年10月26日 13時35分 (#820530) 日記
    Ciscoの大型ルータ用の新OSである"IOS-XR"も、部門名にもある理由から、マイクロカーネルにしたという話 [cisco.com]もあります。
    世の中の流行なんですかね。

    ちなみに、従来のOSであるIOSはモノリシックです。
typodupeerror

私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike

読み込み中...