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

UNIXプログラミングはこの20年間で変わっただろうか」記事へのコメント

  • やっぱり機能拡張とともに、大きく重くなったんじゃないでしょうか。
    必要なライブラリもでかくなってますし、種類も増えた。
    また、富豪的プログラミングが可能になってビンボ臭さが消えてきたと思います。
    perlが普及しだしたあたりから、KISSの思想は薄れたかなと。

    大型のハイエンドマシンから、小型のラップトップ、いやマイコンに至るまで移植されて、
    「何でもできるOS」を目指してどんどん開発されていった経緯がありますので、
    多分これで方向性は間違ってないのだと思いますが。

    カーネルに関してはいまだに、
    マイクロカーネルを主流にする動きは噸座したままのようですね。
    柔軟なモジュラー構造は採り入れるとしても、
    • UNIX vs. MULTICS (スコア:2, 参考になる)

      本来、UNIX は小さく分かりやすいことを目標にしていたような 気がします。V7 のマニュアルはコンパクトで分かりやすい ですが、4.2BSD ぐらいになるとずぶの初心者には読めなかった ような気がします。今、UNIX とは何かを知ろうとすると、 どのドキュメントをどの順番に読
      • by Anonymous Coward
        世の中にはマンモスより巨大な恐竜のようなOSも存在しますが…
        • by tag (10007) on 2004年06月03日 11時04分 (#561855) 日記
          大きくなり過ぎて絶滅しないように、小さくして見とおしよくし、 かつ効率的に動くようにしようとした動きもありました。 結果をどのように捕らえるかは異論もあるでしょうけど、結局、 マイクロカーネルは研究用、実験用のベースにしかなり得なかった のだろうと思います。カーネルを小さくしたため、どうしても オーバヘッドになり、実用にはならなかったのですよね。ひところ、 WinNT系がマイクロカーネル構造だと売り文句にされたことが あったように覚えていますが、これもかなりの部分にモノリシック 的な抜け道が多かったように聞いています。

          小さくしすぎてもダメ、大きくなりすぎてもダメ、微妙なバランス があるのでしょう。

          親コメント
          • MacOSX で採用されてるMachはマイクロカーネルの成功例じゃないですか?

            今後のトレンドとしてマルチプロセッサ化が進みそうですが、
            OSそのものをマルチスレッド化する、という方向になれば、
            マイクロカーネルなOSの方が有利になってくると思います。
            親コメント
            • Mac OS X はマイクロカーネルじゃありません
              • いい加減なことを言わないように。

                Mac OS XはMachベースのマイクロカーネル。FreeBSDサーバはカーネル空間に存在するが、これはco-locationと呼ばれるマイクロカーネル高速化のための技術。
                親コメント
              • マイクロカーネルって何?

                サーバをカーネル空間に置くのじゃ単にモジュール化された
                モノリシックOSと区別できなそうだけど。
              • by tag (10007) on 2004年06月03日 18時16分 (#562160) 日記
                googleしただけですけど、リンクしておきます。
                デジタル用語辞典 [nifty.com]
                ただしOSをマイクロカーネル化すると、サブシステム間での呼び出しや、カーネルモードとユーザモード間の遷移のオーバーヘッドなどのために、従来の一体型のカーネルに比べると若干パフォーマンスが低下する。そのためWindows NTでは、カーネルモードにNT Executiveという中間的な層を設け、サブシステム呼び出し時のコンテキスト切り換えを抑える工夫をして、パフォーマンス低下をある程度補っている。
                IT用語辞典 [e-words.jp]
                当初のMachはまだ多くの機能を自身の中に抱え込んでおり、事実上モノリシックカーネルだったが、バージョンアップするたびに機能を外部に出し、そのたびにパフォーマンスが下がっていった。このため、いったん外に出した機能をカーネル空間に戻したり、ライブラリでエミュレートしたりすることを余儀なくされた。
                親コメント
              • そういう状況はある程度しっています。
                その上で、それはマイクロカーネルなのか? と。
                # Machはマイクロカーネルではない、という説もありますし。

                正しいマイクロカーネルの定義(あるいは条件)は何でしょう。
              • by tag (10007) on 2004年06月03日 18時44分 (#562183) 日記
                定義は、デジタル用語辞典の冒頭3つの段落で言われているような 定義でいいと思います。

                結局、サービスを独立させると言っても無理があるのでしょう。 ちょうど企業の情報部門をアウトソーシングした時の利点と欠点 に似ているような気がします。「アウトソーシング」して良いこと ばかりあるわけではありません。

                マルチプロセッサ環境で効率が上がると言いますが、これも口で 言うほど簡単ではありません。リソースの競合を制御するのは やはり至難の技のようです。BSD の SMP 対応の作業を見ている とそういう感じがしませんか。

                親コメント
              • > BSD の SMP 対応の作業を見ているとそういう感じがしませんか。

                これを見ていて、なおかつ、MacOSX とか WindowsNT があっさりとSMPに対応しているところを見ると、
                「OSをSMPに対応させるなら、マイクロカーネルの方が有利なんだな」
                と思ってしまいます。

                #外から見えてないだけで、 apple や MS の 社内では SMP 対応に苦労していたのかもしれませんけど…
                親コメント
              • >これを見ていて、なおかつ、MacOSX とか WindowsNT があっさりとSMPに対応しているところを見ると、
                >「OSをSMPに対応させるなら、マイクロカーネルの方が有利なんだな」
                >と思ってしまいます。

                で、使いたい機材が XP 対応などと言いつつドライバが SMP に対応していなくて泣く、と。

                OS のコアの部分での SMP 対応やスレッドの実装などと同時に、
                現実世界との接点であるドライバの実装で苦しんでる部分も多いのではないかと。
                親コメント
              • > 定義は、デジタル用語辞典の冒頭3つの段落で言われているような定義でいいと思います。

                デジタル用語辞典 [nifty.com]より
                > 従来のOSでは、カーネル内部に置かれていたような数多くのサービスを、
                > なるべくカーネル内部から分離/独立させて、カーネル部分のサイズを可能
                > なかぎり縮小したOS。

                何をもって分離/独立というかですね。カーネル空間に置いたまま
              • by Average (3404) on 2004年06月04日 17時50分 (#563034) 日記
                でも結局BSDサーバーがマイクロカーネルにべったりと張り付いている状況ですから、これマイクロカーネルの利点を生かしているのかというとかなり疑問な気がしますが・・・・
                つまり構造はマイクロカーネルなんでしょうが、BSDサーバー自体の作りはあんまりカーネルから独立してなくて、モノリシックな作りになっているんじゃないでしょうか。
                --
                -----------------
                #そんなワタシはOS/2ユーザー:-)
                親コメント
          • by Pen2 (18210) on 2004年06月03日 17時33分 (#562139)
            AmigaOS、BeOS とか 技術以外の要素も大きいですし
            マルチコアのプロセッサの普及で条件が変わるかも
            親コメント

ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家

処理中...