1 :
Be名無しさん :
03/10/12 15:34 一度本気で語ってみたい題目。リーナスvsタネンバウムで いろいろネタは出てるが、時代は変わっている。もう一度 語ってみようじゃないか。 ・性能の違い ・実装の違い ・リーナスとタネンバウム 何でもいいので語ろう。
おいおいおい・・・2getかよ
初2getキタ━━━(゚∀゚)━( ゚∀)━( ゚)━( )━(゚ )━(∀゚ )━(゚∀゚)━━━!!!!!
4 :
Be名無しさん :03/10/12 15:41
このスレはマジに語れるのか??????
5 :
Be名無しさん :03/10/12 15:42
マイクロカーネルが、モノリシックカーネルより、いくつかの点で 「よい」とか言う主張だって、いい加減さは同じだよ。 良いというならば、具体的に数値化して示さなきゃ、学問ではない。 論理的に帰結を得られないならば、実測でもいいが、そのどちらも 書かずに、「よい」とか「悪い」とか書いたんでは、科学じゃない。 物理学などは、大学での研究が信頼性はかなり高いと思う。なぜなら、 全部理詰め、論理、数式などで精密に導いているから、実験を全く しなくても、ほとんどの場合、正しい結果を得られる場合が多いと 考えられるから。 しかし、今の日本の工学の教科書みたいな論理(?)の進め方だと、 実験もロクにしていない癖に、精密な論理も用いてないので、 高頻度で間違いが入ってしまう。 実際、大学の試験で間違ったことを書かせることさえ、あり得るのでは ないかと思ってしまう。 つまり、主観をテストで問うようなことがあり得ると言うこと。 こんなものを、学生にイレジエしては困る。 大学教育が進めば進むほど、日本の技術が間違った知識が蔓延したりね。 現場で実際にやってみると、間違ってたら動かないので気付くんだけど、 工学を馬鹿真面目にやってるだけでは気付かずに、馬鹿知識蔓延するよ、 まじで。
組み込み向けにはマイクロカーネルがいいと思われ モノリシック&モジュールは便利だが、モジュールがこけると カーネルごとこけるのがいただけない
前にも書いたと思うけど、Tanenbaum教授は、マイクロカーネルを 信奉している人。一方、Linusは、マイクロカーネルに大した価値を 見出さない人で、むしろ、モノリシックカーネルを信奉している人。 この二人の意見は真っ向から対立する。 世界的にも、工学の教科書では、どうやら、「マイクロカーネル」の 方が次世代の形態で、「よい」とされているようだが、しかし、 教科書を書いた人の何割が、それを深く理解しているのだろうか。 実際問題、商用UNIXでも、マイクロカーネルに移行する機会があったの にもかかわらず、速度パフォーマンスの面などを考慮した結果だと 思われるが、結局、採用されなかった。 マイクロカーネル代表の、Machでも、Minixでも、いろんな問題を 含んでおり、未だ解決されていない。 実際にOSを作っている人たちには、モノリシック派は、かなりの割合で 存在しているように思える。しかし、恐らくだが、他人のOSを研究したこと はあっても、自分で作ったことはないであろう人が書いたOSの教科書 には、マイクロカーネルが賛美されてしまっている。 一見、事情を知らない人、例えば政府役人などが見れば、大学研究者 の方が、頭もよくて、最先端の知識があるから、現場の 「デジタル・ドカタ」であるところの、プログラマの言うことが 間違いで、大学研究者の方が正しいと見なしてしまい、ちゃんと 勉強して出直せと命じてしまうだろう。 しかし、実体はそうではないと思うのだ。
> 実際問題、商用UNIXでも、マイクロカーネルに移行する機会があったの > にもかかわらず、速度パフォーマンスの面などを考慮した結果だと > 思われるが、結局、採用されなかった。 Solarisより遥かに頑丈なTru 64 UNIXを知らんのだな。 OSF-1から連綿と続く系統なんだが。
Machは複雑になりすぎてるという論調はあるみたいだが、OSの研究 としては高く評価されているのでは?
> Solarisより遥かに頑丈なTru 64 UNIXを知らんのだな。 > OSF-1から連綿と続く系統なんだが。 HP-UXへ統合という名目で葬られましたが何か? セットだったAlphaもItaniumへ統合って名目で葬られたしね。 で、結局Mach出身でシェアトップなのはOS Xだね。 ∴Darwin <<<<<<<<<<<<<<< HP-UX <<<<<<<<<<< Tru64 <<<<<<<<<<<<<<< Solaris <<<<< *BSD <<<<<<<<<<< (超えられない壁) <<<<<<<<<<< 犬糞
確かに理論だけでは語れない部分が多々あるのは確か。 実際に日本でOSの開発をしている開発者はどう思うので しょうかねぇ
マイクロカーネルの例として、Minix, Mach, WindowsNTについて。 Minixは、マイクロカーネルだが、MMUを使っておらず、保護が全くない (と思う)。また、教材用のため(というか、学者が作ったOSで、学者は そういうことを理由にしがちなのだけど)、遅いらしい(MMUを使わずに マイクロカーネルにするという、意味不明なことをやっていて、個人的に は方針が見えない。MMUなしのOS作りは、MMUありよりかなり簡単なので、 余り勉強にならず、教材としても余り意味がないかも。) Machは、高速化するために恐ろしく難しくなっているというLinusの コメントがある。マイクロカーネルの当初の目的は、作りの単純さに あったはずなので、本末転倒だと言えるのではないか。 WindowsNTは、ネットでの資料によれば、比較的高速らしいが、真偽 のほどはよく分からない。速度測定や比較は、やり方を適切にして、 考察を正確に行わなければ正しいことは言えないので、余りネットや 雑誌の資料は当てにならない。実感として特に遅い事はないと思うが、 WindowsNT系は、Windows9x系よりも明らかに遅いことは事実。 よって、このケースでもマイクロカーネルの方がやはり遅い。 しかも、遅さも無視できる程度ではない。
Minixで、MMUを使わずにマイクロカーネルを採用する意図が、私には全く 理解できない。 MMUを使わなければ、そもそもデータ保護ができない。 そもそも、「カーネルモード」と「ユーザーモード」の区別がなく、 また、別のタスクのメモリを簡単に読み書きできてしまう。 そもそも、OS作りで大変なのは、保護をしたいからこその複雑さ。 保護しなくて良いなら、ずっと簡単に書けてしまう。 マイクロカーネルにしたところで、保護しやすくなるわけはない(保護 がそもそもできないのだから。)。 マイクロカーネルの遅さの1つは、メモリ空間が異なるバッファ間のコピー にある。MMUを使って保護目的にメモリ空間を故意に分離しているのだから、 普通にmemcpy()で済ませられず、通常、ページテーブルを書き換えて、 アドレス変換マッピングを変更する必要がある。 しかし、MMUを使わないなら、memcpy()で済ますことができるから、 この遅さは有り得なくなる。 よって、MMUを使っていないところの、Minixが仮に遅くないとしても、 マイクロカーネルの速度に関しては、何の根拠にもならない。
保護するために複雑になる例 : メモリ確保 保護なしで済む例:malloc()関数。 malloc()関数は、確保したメモリブロック の前後にヘッダを持つ。ユーザープログラムに間違いがあると、そのヘッダ 情報が破壊され、ヒープメモリシステム自体が崩壊する。 しかし、崩壊は、そのタスク内で留まる。 保護有りの例:保護機能を持つOSのシステムレベルでのメモリ確保 メモリブロックのヘッダ情報を、保護ページに格納することで、 アプリケーションが破壊することができないようになっている。 しかし、構造上、メモリブロック本体とヘッダの二種類が存在する ことになり、適切に組まないと、メモリ空間を全部使い切ることが できなくなったり、物理メモリ容量が余っているのに、ブロックの個数 制限があって事実上メモリ不足のようになってしまうことになるかも しれない。前述のmalloc()に比べるとアルゴリズムが難しい。
一応念のため:「マイクロカーネル」とは、ファイルシステム、タスクロード、 GUIシステムなどのOSの基本機能を、「タスク(プロセス)」にほぼ等価な形態で 実装する方式のことを言います。 次の理解は間違いです: 1. モジュール化したOSをマイクロカーネルという」 2. OSの一部をユーザーモードで実行できるようなものをマイクロカーネルという 1. については、多くの方が理解されているようですが、2.については誤解が 多いようです。 CPUの種類によっては異なるかも知れませんが、基本的には、特権レベルと タスク(プロセス)は、概念が全く別で、タスクはメモリ空間の分離単位 ですが、ユーザーモードかカーネルモードは、特権レベルの違い、つまり、 保護上の差でしかありません。 従って、本当のタスク(プロセス)にしなくても、ファイルシステムをユーザー モードで動かすことは可能です。 わかりやすく言えば、システムコールを、呼び出し元のタスクと同じメモリ 空間で実行する形態をモノリシックカーネル、メモリ空間を切り替えてから 実行する形態がマイクロカーネル、と言うことになると思います。 例えば、read()コールを発行すると、モノリシックなら、キャッシュに載って いれば、タスク切り替えなしで単にmemcpy()で済むでしょうが、 マイクロカーネルならば、必ずFSのタスクに切り替わる必要があると 思います。
Minixを書いた教授(Tanen.)が、Linusへ送った批判の言葉: 「私は、特定のハードウェアに密接に関係した、特にIntel系のような 奇妙なCPUに依存したオペレーティングシステムを新たに書くことは、 基本的に間違っていると指摘しているだけです。OSそのものは、新しい ハードウェアのプラットフォームに簡単に移植できるものでなければな りません。25年前にIBM 360用にアセンブラでOS/360を書いても、おそ らく大目に見てもらえたでしょう。しかし、10年前、8088用にMS-DOSを 書いた愚考を、IBMやMicrosoftは今になって認識しています。 1991年に386用のためだけの新しいOSを書くということは、今学期の成績 でもう1つ「不可」をもらうことにつながります。もちろん、期末試験で うまくやれば、まだ単位を取得できるかもしれませんが。」 逆にLinusが教授なら、Tanen.には、不可を与えたことでしょう(苦笑)。 個人的には以前から、Linusの言葉の方が、心に届く言葉であるように 思えていたのですが、最近、Minixの実情を知ってからは、ますます、 感情的に、Linusを応援したくなってきています。 どうみてもLinusの方が色んな意味で歴史に残る人物なのに、この人 は、全く、、、。
>「特にIntel系のような 奇妙なCPUに依存したオペレーティングシス >テムを新たに書くことは、 基本的に間違っていると指摘しているだけ >です。」 心の奥底から、煮えくりかえりそうな嫌な感じを受けました。 "庶民の世界のパソコン"は、互換性を保ちつつ、徐々にスライドさせ ていきながら、進化していく原則があるので、事実上、Intel以外の プラットフォームが庶民に行き渡ることは当面ないんですよね。 工学の目的は、「物作りの手法を分析し、実際に役立てる」こと だと私は思っているので、税金などから高いマシンを買って貰って、 悦に浸ってる工学研究者が許せません。 宇宙の研究とか、科学の基礎理論の研究をしている人なら、大いに 高いマシンを前提にすることも結構だと思うのですが、コンピュータ のOSに関する工学的研究は、実際に今手に入る材料や環境で如何に 上手くやりくるするか、も当然重要になってくるはずで、訳の分か らない独自SPECのマシンで遊んで偉そうにイバズリかえっている この人のような人間は全く好きになれません。 こういう人種は人類にとってマイナスなんじゃないですかね。
>> 16 でも、Linuxに関して言えば、カーネルには専用のメモリ空間が ありますよね?つまり、2.はある意味正論になる?
> 物理学などは、大学での研究が信頼性はかなり高いと思う。なぜなら、 > 全部理詰め、論理、数式などで精密に導いているから、実験を全く > しなくても、ほとんどの場合、正しい結果を得られる場合が多いと > 考えられるから。 ご冗談でしょう?
今目の前にあるマシンに、もっといいOSを載せたい、というのが、 自然な動機だと思います。 そして、それにはどうすればいいかを考え、解決策を提供するのが 本来の「工学」の姿ではないでしょうか。 「学問」は、実際に役立たなければ意味がありません。ただ、 基礎理論は、実際に役に立つんです。複雑な数式によって書かれている ので一見理論の遊びのように見える人もいるかも知れませんが、 実際、かなり色んな事に応用が利くので、重宝しています。 しかし、工学は基本的にその場しのぎ的な教訓にどうしてもなってしまう 性質を持っているので、現実に即したことを前提にしないとほとんど 応用が利かないんです。物理学などでは、運動方程式を、惑星に対しても、 野球のボールに対しても適用できてしまうので、何にでも応用が利くので すが、工学では、10年前の教科書の大部分が、実は今は役に立たないこ とも実際にあります。なので、前もって研究するのではなく、なるべく 今の現実に沿わして常に調整しながら研究していかないと、誰も 役立てることが出来ないような、無駄な学問ばかりが出来てしまいます。 数百年前にできた古典物理学が今でも現役で利用できるのが、基礎理論 の凄いところですが、工学はなかなかそうはいきません。蒸気機関 の工学的な理論は、そのままでは今ではほとんど利用できないでしょう。 なぜなら、基礎理論を、具体的に「適用」した後の「結果」だからです。 なので、適用を実際に沿わせないと、今も十年後も全く利用価値のない 「ゴミ」の学問だけが遺ってしまいます。その点で、Linusの方が、 工学をよく理解していると思いますね。
Tanen.教授の主張は、どこを見ても狂ってるように思えます: >しかし、10年前、8088用にMS-DOSを書いた愚考を、IBMやMicrosoftは >今になって認識しています。 そもそも、そんなことを認識していると誰から聞いたんですかいな。 それに、当時、一番人気のあるのがIntel系でした。もともと、 8BITのIntel-8080Aが人気があり、Zilog社にZ80として移植され、 日本でもNECのTK80Aに8080A相当品、PC-8801シリーズには、Z80相当品 が用いられたことが有名です。それを16BITに拡張したのが、8086で、 それの安価版が8088です。しかし、当時、それを載せたパソコンは、 30万円〜50万円したので、それ以上のCPUを望むことは出来ませんでした。 68000シリーズもあって設計はよいのは知られていましたが、 8080A,Z80,8086,8088系統とは全く互換性がないので余り人気がありま せんでした。ですので、MSやIBMが、8086,8088を対象にしたのは、 正しい選択だったと思います。市場に受けいられるにはそれしかなかった とも言えます。実際、68000シリーズは、マニア受けは良かったのですが、 余り大きな潮流にはならず、大して普及しなかったのです。 基本的に、市場=民意なので、市場が欲しがるものは、世の中で必要とされて いるものなのです。互換性を維持し続けないと、過去の資産が全く使えなく なり、もし互換性を無視していたなら、ソフトウェアの実際的な運用に基づ く発展は阻害されていたと思います。そもそも、市場で売れなかったと 思いますし、そうなれば、Tanen.教授の今の立場も無かったと思います。 市場が発展したからこそ、コンピュータサイエンスが政府などからも 支援の対象になって来たのでしょう。もし、互換性を全く考えずに 来ていたなら、今日のような発展はなかったと思います。 Tanen.教授の考え方は、全く的はずれで、どこか研究者の我が儘を感じ させます。
LCって誰?OSの開発者?
>>21 そもそも、OS研究に限っては、大学でも、大して「アカデミック」では
無いと思う。全然大したことやってない。
それから、半導体の分野でも、企業の方が大学より5年は進んでいる
と聞いたことがある。
実際問題、Intelの技術より上回っている自信がある日本の大学
研究室はどのくらいあるだろう。
というよりも、ないんじゃなかろうか。
実装技術は、デジタル・ドカタにやらせておいて、高度な理論(笑)は、
学者である自分たちのみが考えられ得る、みたいに傲慢になっている
人までいるようで、馬鹿げています。
>>24 そうだよ。ってゆーか、知らんかったんかい。(w
> 例えば、read()コールを発行すると、モノリシックなら、キャッシュに載って > いれば、タスク切り替えなしで単にmemcpy()で済むでしょうが、 > マイクロカーネルならば、必ずFSのタスクに切り替わる必要があると > 思います。 はいはい、それは70年代の真実な。 readの先がキャッシュ可能でローカルにあるものとは限らないのが現実だ。 マイクロカーネルかモノリシックかなんて議論、いまどきナンセンスなんだよ。 こんなスレで嬉々としているLCよ、教科書の範囲で水遊びしていることに気付け。
>>14 タネンバウムが本当にやりたかったのはMinixみたいな糞じゃなくてAmoebaだったんだけどなー
UNIXの次は分散OSってことでPlan9やAmoebaが出てきた
PS3によってようやく分散OSが市民権を得るって時代になってんだけどなー
分散OSをさらに発展させるのは次世代プロセッサCELLになり得るか。 ちなみに、CELLで動くOSはモノリシックカーネルになるのだろうか、 それともマイクロカーネルか?
マイクロカーネルが性能面で劣ることはタネンバウム自身 認めているので、そこを突いても無駄。 拡張性・生産性・ネットワーク透過という面の比較キボンヌ。
>>30 あぁ、LCってLightConeの略か!「OSを作ろう」スレにも登場してた
人ですね。失敬。。。
でも、2chから手を引いたのなら何故このスレにいるのでしょうか?
お話は非常に面白いし参考になります、はい。
>>33 だから本人じゃなくてどっかの厨が過去ログからコピペしてるだけっつってんじゃん
失敬。
>>34 の名前はミスです。
本当は30でした。
拡張性は、理論的にはマイクロカーネルがの方が上のはずだが、 実際、モノリシックカーネル+モジュールという形式の方が上 に見えるが、いかがでしょう?
38 :
Be名無しさん :03/10/12 17:24
コピペであれ何であれ、 LightConeが一番しっかりしたこと書いてるように感じるのは気のせい?
>>38 気のせい。(Linusさん信者だったのね。ふーん(´_ゝ`)
つか、どっかでNWSOSをマイクロにしたいとか逝ってなかった?
∧||∧
( ⌒ ヽ
>>38 ∪ ノ お前が感じている感情は精神的疾患の一種だ。
∪∪ 鎮める方法はない。逝ってよし。
>>39 855 名前: LightCone ◆sSJBc30S5w 投稿日: 03/06/21 23:04
NWSOSの開発を続行するかどうかよく分からないのですけど、取りあえず
メモリ取得の速度のオーダーを順番に確保していくときはO(1)程度に
高速化して、さらに、セクタバッファの探索にハッシュを用いたり、
ライブラリでファイルバッファをかまして高速化したりしたので、
ファイルやデータを扱うようなアプリは、かなり高速になったのですが、
さらに遅延書き込みも仮サポートしてみたおり、いっそ、マイクロカーネルに
しようかと思ったのですが、その利点に、かなり疑問があり、悩んでます。
なにか、ご意見有りませんか。
>>41 なんか他所でも逝ってた様な気がする。(つか、何が"かなり高速"だよ。(w
>>42 この頃のLタソは互換ライブラリを締め出した頃よりずっと良くなってたんだけどなー
今はわけわかんない精神世界に逝っちゃったから技術者としてはおしまいだーね
あんたも文句ばっか言ってないで簡単なゲームでいいから作ってみなー
>>43 そんなことしたいので、とりあえず図書館でまた本借りてきますた。
>>44 できない奴はできないよ。
センスが無いんだから諦めろ。
46 :
Be名無しさん :03/10/12 19:25
Minix使ったことある人っている?
オブジェクト指向との親和性でマイクロカーネル優位。 これを生かすためにはオブジェクト指向言語が不可欠。 それもObjective-Cみたいな原始的なものがベスト。
>>47 しかしパフォーマンスが悪いわな。
プロセス間通信によるオーバーヘッドをどう回避するか。
>>49 だからDarwinではMachの純粋性を諦めて、
ファイルシステムやネットワーキング、ユーザー管理といったものも
カーネル空間の中で動作するようにしちゃったわけよ。
>>51 そのことについて「Machの純粋性を諦めて」と書いたわけです。
ただ設計はどうあれMachのAPIは全部使えるのがミソでしょう。
QuartzなんかはMachのメッセージング機構を使いまくりなので
非MachのOSに移植するのは難しそうです。
>>44 とりあえずあんたみたいな厨房にはC#がぴったりだよ。
間違ってもJavaとかRubyとかWideStudioには手を出さないこと。
あんたと同レベルの基地外がうようよいる所だから、
基地外同士で連携されたりした日には
他人にどれだけ迷惑になるか分かったもんじゃないからな。
>>52 ということはDarwinではモノリシックに軍配が上がったということ
ですよね?
Darwinの場合、UNIXであることが足かせになったってことだろな。 でっかい固まりとしてラップすることはできても、UNIX自体はオブジェクト指向ではない。 しかし、UNIXである利点は無視出来るもんでもない。
いまさら、マイクロカーネルかモノリシックカーネルかで優劣競っても意味ないんじゃない? RISC vs. CISC 論争を思い出すよ。
>>54 現状では、ね。
CMTって言って、今後プロセッサの集積化がどんどん進むと思われるが、
1チップで16プロセッサとかなってくると、
果たして今のDarwinの構造が最適かという問題が出てくるだろう。
そうなってくると、むしろ1台のマシンの中で分散OS化した方が効率が良い。
でもここまでの高度化がJobsの言ってた「今後15年」っていうDarwinの寿命の中で
起きるかどうかは知らんけど。
>>57 CPUが高速になった現代では意味のない議論だってことか?
てか、UNIXが元々モノリシックってことか。
>>59 同じことはJavaとか.NETとかのバイトコード方式にも言えるね
>>58 現在の最高性能だけを視野に入れるならマイクロカーネルが有利だろうね。
最高性能だけを視野に入れるならだが。
>>59 というより、どちらもお互いのイイトコ取りしてパフォーマンス上げてるから純粋性無くなってるってこと。
デバイスドライバのモジュール化とかさ。
64 :
Be名無しさん :03/10/13 06:53
最高性能が欲しいならモノリシックのほうが絶対有利。 タスクスイッチしなくていいから。 (だからとてLC氏のDOSマンセーはなんか違うのだが) もっと性能がほしいならOSなんか使わないのが正しい。 なおLinuxのデバドラモジュールはマイクロカーネルとは関係ない。
>>64 そうだね。デバイスドライバのモジュールはマイクロカーネルのとは関係ないですね。
タスクスイッチなぁ。確かにですわな。
つーことは、単一プロセス・マルチスレッドでカーネル書くか、ってことだな。
>>58 確かにCMTでもSMPでも、マルチプロセッサになってくると、
マルチカーネルみたいなのに走りたくなってくる。
ただ、うまく作らないとロックのコストが高くなりすぎちゃうんだよね
カーネルをタスクで実装すると、そのあたりの設計の苦労が軽減する
気がする。(まあ別の苦労があるんだろうけど)
>>64 タスクスイッチのコストってそんなに大きいんだろうか
と常々思う。CPUが高速化するにつれ、他のコスト(キャッシュミスとか)
の方が大きくなっていくだろうね、きっと。
>>66 性能に関しては、MPマシンだとマイクロカーネル有利、1CPUならモノシリック有利
ってことじゃないかな
s/モノシリック/モノリシック/ なんでかしらないが、素でよく間違える('A`)
月刊ASCIIのセイで今の今までずーと"モノシリック"と思ってますた。。。
70 :
Be名無しさん :03/10/13 17:52
>>67 SMPとかだと、どうしてもロックに恐ろしいくらいコストかかる。
そんでもってプロセス生成が異常に遅くなる。
そうなってくるとマルチスレッドのサポート具合がOS性能決めてくる結果になってしまう。
CMT : Coarse grained MultiThreading CMP : Chip-level MultiProcessing で良かったでしょうか?
>>71 CMT: Chip MultiThreading
が普通じゃないかな?
>>67 同一プロセス内でのスレッド切替はそんなに時間かからんよ。
VM切替を伴うものが問題。
だからスピードだけが欲しいならカーネル含めて
「単プロセス複スレッド」が有利。
もちろんVMはメモリ保護という重要な役割があるので
VMは欲しいことも多い。
(RTLinuxやVxWorksはこの辺がヘボいので苦労するらしい)
実際にはスレッドとかより
>>70 の言うような
排他ロック(mutex)による性能低下のほうが大きい。
システムコール毎にカーネルを丸ごとロック(giant lock)する
昔のモノリシックカーネルはMPでは(思ったほど)性能が出ないことがある。
>>74 氏はご存知かと思うけど、「だったらプリエンティブカーネルに
すりゃいいじゃん」、と勝手に補足しておこう。
作るの地獄だけど。
プリエンプティブとリエントラントを混同してる痛い香具師がいるな
未だにカーネル丸ごとロックなOSって多いよね。 割込ロックだけにするとドライバとかプロトコルスタックとかも 全部書き直し必要だからしかたないと言えば仕方ないかもしれないけど。
それわおめーだっつーの
>>76 じゃ「リエントラントカーネル」て何よ。
プリエンプティブカーネルはリエントラントであることは必要条件だが
79 :
Be名無しさん :03/10/17 09:59
どうでもいい話かもしれないか超漢字はマイクロカーネル採用らしい
(^_^;
未来指向派 vs リアリスト、みたいなもんだろ。未来指向派がマイクロカーネル。
82 :
Be名無しさん :03/10/18 11:09
モノリシックカーネルで プリエンティブマルチタスクで、なおかつ リアルタイムOSなんて可能なんですかね?
Lタン、OS作り や ら な い か ?
WinNTは実用的なマイクロカーネルだね! WinXPでは崩れてるかもしれないけど
GNU Hurd は Windows の夢を見るか?
>>84 前から崩れてる。
NT3.51のころはきれいだったんだが…
87 :
Be名無しさん :03/10/18 19:15
カトラー vs ストールマン
BSD Conでこのスレの話題が出てきて藁他
89 :
Be名無しさん :03/10/20 23:22
>>82 「リアルタイムOS」を定義汁。
話はそれから堕。
Lタソが「DOSが層ですが」に120ルクス
>>82 可能だろ。
リアルタイム性に影響するのはタスクスイッチ方式と
システムコールの不可分性。
すまん間違えた。 タスクのスケジューリング方式。
その「タスク」にカーネルのお仕事が入るかどうかで
>>75 のような地獄を見るかどうかが決まるわけで。
マイクロカーネルにすればこの辺はずいぶん楽になるわけで。
>>74 の「SMPだとmutexのコストが増加する」っての解説きぼんぬ。
複数のCPUが一つの資源を同時に取りに行って、なかなか取ることが
できないから、その間はスピンロックで待ってるから遅くなる、
ってこと?
94 :
Be名無しさん :03/10/21 19:39
>>89 モノリシックカーネルで
プリエンティブマルチタスクで、なおかつ
ハードリアルタイムOSなんて可能なんですかね?
>94 実現可能性を知りたいなら作ってみれば? 漏れがその条件を満たすならマイクロカーネルにするけど。 楽だし。
しかしカキコしてる椰子で「リアルタイムOS」がどんなもんか 分かてるのはどのくらいいるんだ? Lタソが力いっぱいカソチガイしてるくらいだから無理もないが 「リアルタイムOSは速い」わけでわないぞ。 早毛りゃ世の中のOS全部リアルタイムOSになってるはずだ罠
>>96 Lなんとかはどうでもいいよ。
とりあえず、このスレはこの厨房板の割にはレベル高いので、
μITRONくらいは知ってると思うから別にいいよな?
デスクトップでリアルタイムOSってメリットあるの?
どうなんでしょう。 人間相手に1msレベルの応答速度はいらないし。
>>98 CD焼きながらのマルチタスクに強い
そんなのは過去の話だというのは甘い
DVD8倍速焼きなんかだと他のアプリを起動してなくてもとりこぼす
>>100 あーなるほど。
確かにP4 3G HTでもエンコしながら8倍で焼くとボロボロだね。
>>101 そんなことがしたいなら素直に2台買うかDual Xeon(HT)にしろや
>>98 ある。
マウスクリックしてから反応が返るまでの時間を保証できる。
藻前らのつかてるOSだとその時の機嫌で反応が遅かったりするだろが。
やっぱレベル低いじゃ
「名前を知ってる」と「中身を知ってる」は違うづら
>>103 アプリが応答する時間までは保証できないんでは?
> マウスクリックしてから反応が返るまでの時間を保証できる。 全てのRTOSが時間保証できるわけぢゃねーよ。 一部を全部のようにいう嘘つきは、レベルの高低以前の害悪だな。
>>105 保証できないようなのはRTOSとは言わんが何か。
Soft RTOSなら必ずしも保証できん、ならわからんでもないが
分かってんなら最初からそう書くはずだよな?
知ったかクンは幼稚園でやめとけ。
リアルタイム性はデバイスドライバでだけ保証されてればイイヤ と思てる椰子もいるんでないかな。 (リアルタイムLinuxの大半はそんな実装だし)
> Soft RTOSなら必ずしも保証できん、ならわからんでもないが Soft RTOS は RTOSではないと? 白馬非馬を使う詭弁野郎は、レベルの高低以前の害悪だな。
かなり頭の悪い香具師が厄一名いるな
マイクロカーネルが遅いというのは聞くけど、BeOSってマイクロカーネルではなかった? (どっかにそう書いてあった)あれは速かったと思うんだけど。 それともここの人たちが言う「速い」「遅い」って体感速度は別の話なの? 教えて偉い人!
限界速度の話。
GUIやアプリまで含めてしまうと
そいつらの作りが巧いかヘタクソかで
いかようにも体感速度は変わってしまう。
NT/Win2000/XPもマイクロカーネルだが体感どうよ。
(比べるなら同じ機械でね☆)
NT4以降はGDIがカーネル内なので純粋なマイクロカーネルではないのだが(
>>84-86 )
漏れは音楽製作をPC上でやってるんだが、最低1msの精度を出したかったりする。 そういうのに対応したOS欲しいな。BeOSが有力だったんだがZetaがどうなることやら
>>112 漏れが作ってやるよ
それはそうと、音楽用途だと、1msの安定した出力が必要?
10msじゃダメ? とかそういう意味で。画面出力ならVSYNCで
十分なんだけど、音楽方面は、からきし分からん。
和音のタイミングを合わせたいとか。
114はスルーで
たとえばMIDIのレートは31.25[kbps]。 ノートONとノートOFFを連続して送ると6バイト=48[bit]。 所要時間はざっくり言って1.5[ms]ってとこ。 とはいえn重和音を出すならn倍の時間がかかる。 単に再生機材と割り切るのなら、10msを正確に測って UARTの送信バッファに叩き込む程度の安定性があれば、 実用上は十分ではないのかと思われ。実際、プロ用機材でも 1msできっちり反応できるデバイスは少ない。 まーこれ以上の性能競争も、アーチストの制作意欲を 掻き立てるためには大事ね。 ちなみに入力デバイスを作るなら、時に100us単位の分解能が必要。
自分の無知を指摘されて「攻撃的」だといい、 「うんざり」だとか「頭の中をクリア」しろなどという暴言まで書き込んでおきながら、 2ちゃん以下の話だと判明したら何も言わずに逃げましたか?
>>116 ふむふむ。10ms単位の安定した処理ができれば音楽再生に
関しては無問題といったわけだ。もっと大変なのかと思ったけど、
意外と大したことなさそうだ。
もっとも、その程度のことが出来ていないことが多いわけだが。
実際には、割り込みの発生からコンテキストスイッチまでの
遅延なんかも一定していなければならないかな?
>>117 それはOS-wikiのネタだろゴルァ(w
>>118 これはMIDIの場合ね。ノンリニアの場合はもうちょっとシビア。
>> とはいえn重和音を出すならn倍の時間がかかる ので、高級なMIDIコントローラは複数のMIDI OUTがある。 実際には人間は50msくらいずれないと音がずれていると 認識できんらしいから、DTMやるだけならそんなに時間精度いらんのだが MIDIを汎用の機器制御回線として使っていると数ms精度は欲しいかもしれん。 10msくらいなら汎用OS(Linux,Win)でもなんとかなるべ。 1msだと作り方による。 1msで「毎回サンプリング」くらいになるとRTOSでないときつい。
当然だけど RTOSを使えば魔法のように時間精度が精密になる なんてウマーな話しはあるわけないので甘い夢はモツナヨ 精度を上げやすいような機能はいろいろ備わってはいるが
>>119 K氏の定義は通説より狭い感じがして違和感があるが、一応筋は通っているな
名無しは逝って良し
もなか氏のカキコが自分の味方だと思っているしな
マイクロカーネルの方がいい場合って例えばどんな時? 保守性を考えなければモノリシックの方が良くない? まぁモノリシックだと、カーネルモードで動くコードが多くなるから セキュリティに関しては不安はあるけどさ。
名無しの支離滅裂さは凄いな。 昔、B-FreeのMLのログをさらったら、あんなのがいぱーいで ノイズがひどくてうんざりだった。
126 :
Be名無しさん :03/11/03 17:54
age
129 :
Be名無しさん :03/11/04 08:48
「性能の悪いリアルタイムOS」もあれば 「性能のいい非リアルタイムOS」もあるわけで。 その辺がわかってない厨って結構いるよね。
ここ厨房板だから、まともな板へ行って話続けない?
厨房板に相応しいレベルの話ししかでていないわけだが
で、まともな板って何?
134 :
Be名無しさん :03/11/05 00:53
>>111 LonghornでGDIもカーネルの外側に戻るみたいだね。
>>124 > マイクロカーネルの方がいい場合って例えばどんな時?
保守性を考えるとき。
>>133 名無しはつかえねーことばっか書いてるな。
「〜と思ってました」が多すぎ。
しかも内容がひどい。おまえ以外にそんな誤解しねーよ。
奴はあれで議論だと思っているらしい。マジ阿呆くさい。
K氏ともなか氏に教えてもらっているだけじゃん。
名無しのカキコと奴へのレスを削ると、それだけですっきりしそうだね。
いまだに名無しは一人だと思てる椰子ハケーソ
必死ですね
必死です
141 :
Be名無しさん :03/11/06 19:38
Kタンも追い詰められて必死だね。 自分の間違いを認められないってダメじゃん。 やっぱ、OS議論は遠くで眺めるに限る。
ウソつきと正直者系も定番クイズがわんさかあるよね。
誤爆しますた。スマソ
144 :
◆1haVRB54HY :03/11/07 00:21
>>141 我が師を冒涜するとは万死に値する。謝罪しる!
>>141 いつものことだ。
もう少し勉強した方がいいと思うんだけどねえ。
俺OSに籠るなら必要ないのかもしれないが。
>>144 お前らには見えないかもしれないけど今、泣いて謝罪してます。
かなり釣れると思ったのだがあんまり釣れなくて残念賞。
>>144 お前らには見えないかもしれないけど今、泣いて謝罪してます。
かなり釣れると思ったのだがあんまり釣れなくて残念賞。
なんだ、K氏はちゃんと間違いを認めているじゃないか。
間違いを指摘できなかった奴(
>>141 )が偉そうにほざいているのか。
自分じゃ指摘できないもんな、遠くで見ているしかないよな(藁
そういう俺も指摘はできなかったが、
間違いが分かったらすぐに認めるK氏を認められないほど愚かじゃない。
自分の都合のいい時だけ本物言われてもなあ・・・ 俺からみたらどっちも同じだろ
結局、図書館でホコリかぶってるような本を読んで、 「これがマイクロカーネルか!!」って感銘を受けても 今流のマイクロカーネルは、それとはだいぶ違うって事?
>>154 まあそうかな。
LC氏の見解が一番まともって結論?こういうのは現在実装してる人の
意見に耳を傾けるのが近道。たとえばFreeBSDやNetBSDのメンテナ
とかね。*BSDがマイクロカーネルなのかは知らんが。
評論家にとっては定義がぐちょぐちょだと自分の金づるがいっぱい
できるメリットがあるので、あまりまともに受けないほうがいいわな。
実装する人とは逆。
マイクロカーネルって要は、カーネルモジュールをユーザプロセスとして 動作させて、ユーザーアプリケーションはマイクロカーネルに対しては システムコールで、OSサーバーに対しては共有メモリ(つまりMMU)を使ったIPCで それらと通信するってことなんじゃないのかな。これがMachの実装形態だと 思うんだけど、他の形もあるのかな。どうなんだろ。 Lさんが散々言ってるように、肝心なことは概要じゃなくて実装の細部こそが 問題だってことでしょ。LinusもMachがパフォーマンスを上げるために、 実装があまりに複雑に成り過ぎているって指摘してるけど、Mach的なモデルが 優れていると言うのなら、そういった複雑な実装を全て見ないとダメだってことで。
MachやL4やITRONなんかと、FreeBSDやNetBSDやLinuxやNWSOSや OSASKは種類が違う。陸上のトラック走と、マラソン/競歩くらいジャンルの 差がある。だから前者をいじった知識が後者の全体構成にそのまます んなり適用できるわけではない。 この国はそんなこともわからないエンジニアだらけのOS後進国という 自覚を持つように。特にいい年したおっさんは。
むかーしむかし、王子の発言にこんなのが。 >74 名前:王子 投稿日:02/05/29 14:00 >> OSASKはモノリシックでもマイクロでもないとか言ってますが、 >> その辺を ☆王子☆ に語ってもらいましょうか。 > >OSASKのことは存在を知っている程度でよくわかりません。 >OSASKとは切り離した形でモノリシックカーネル(以下、モノ)と >マイクロカーネル(以下、マイクロ)について語らせてもらいます。 >これに関してはカーネル空間に含める含めないの議論が >されてきましたが、これは本質的ではないと思います。 >要は水平アーキテクチャか垂直アーキテクチャかの違いだと思います。 >一般的な汎用OS(WinであれUNIXであれ)は、モノとマイクロの >中間的な存在です。要はどちら側に寄っているか、ということです。 > >垂直アーキテクチャ: > >【 第4層 :アプリケーション 】 >【 第3層 :サブシステム 】 >【 第2層 :カーネル 】 >【 第1層 :ハードウェア 】 > >水平アーキテクチャ: > >【 第3層 :サブシステム 】【 第4層 :アプリケーション 】・・・・ >----------------------------------------------------------------- >【 第2層 :カーネル 】 >【 第1層 :ハードウェア 】 > >なんかうまく表現できたとは思いませんが、マイクロの場合はカーネルより >上はすべて横並びなわけです。AS/400などは水平アーキテクチャと垂直アーキテクチャを >意識した設計となっています。「Inside the AS/400」などをごらんください。
>>156 しかし、名無しの意見にも一理あると思うんだよな。
正確に言うと仮想マシンとの区別をどこにつけるかってことだけど、
たとえば「参照の前に特定のテストコードを挟まなければいけない」とかの規約を
作ったアドレス参照がすべて問題ないことを示すバイナリコードを
カーネルモードで動かした場合、
これをモノリシックカーネルとするか仮想マシン上のユーザモードを利用した
マイクロカーネルと見るかに分かれてもいいんじゃないか?
で後者の立場に立ったとき、この程度のものを仮想マシンと見るかどうか考えると・・・
ってことにはならないかな。
まあ話がズレてきてはいるんだが。
> マイクロカーネルって要は Machをもってマイクロカーネルを推察するのもどうかと。 それはさておき、どんな構成だろうと、真っ当に動きゃなんでもOKと思うんだが。 マイクロカーネルとは? とか言い出すからこじれるのであって。
>Machをもってマイクロカーネルを推察するのもどうかと いや、だからMach的なモデル以外のものがあるなら教えてと書いてあるじゃん。
Mach"的"ってなによ?
Machでシステムコールとshmemが混じってるのは性能への妥協だろ。 純粋なマイクロカーネルならモジュール間通信は全部メッセージ。 (実現がINTかshmemかIPCかはいろいろある) 性能は当然犠牲になる。性能だけほしいならモノリシックにしとけ。 Machてそんなに人気あるのか?
別にMach人気でMacOSXが売れてるわけでわない罠
168 :
Be名無しさん :03/11/17 05:45
169 :
Be名無しさん :03/11/17 07:28
>>121 >実際には人間は50msくらいずれないと音がずれていると
>認識できんらしいから、DTMやるだけならそんなに時間精度いらんのだが
1音同士のずれでは気づかないけど、パターン化された音の連なりだと
かなりシビアになるらしい。
170 :
Be名無しさん :03/11/22 12:09
machよりl4を題材にした方がいいような気がする。
>>170 L4ってのはVMMやドライバすらもユーザー空間で動かすんだっけ?
172 :
Be名無しさん :03/11/30 20:53
リック・ラシッドですが、何か?
173 :
Be名無しさん :03/12/08 19:50
>>162 Amoeba: タネンバウム
Mach: CMU
Chorus: INRIA
MOS: HUJ
V-system: Stanford
Topaz: DEC/SRC
こんなもんですか?
タネンバウム萌え
てかさー、マイクロカーネルって発展途上だからモノリシックカーネルと比べるのがまちがいなような・・・ マイクロカーネルの欠点ってプロセス間通信のオーバーヘッドが大きいのが理由らしいけどさ ハードウェアMMUみたいに、CPUプロセッサーにハードウェアIPCうわおまえらなおががうがうがy
てかさ、すでに存在しているカーネルを設計が古いだっけ? そういって否定するのはおかしいと思う。 生まれてきた人間にクローンは駄目だって言うみたい。 差別だと思うんだけど。
255 名前:名無し~3.EXE 投稿日:04/07/29 (木) 20:11 ID:ESu4RNUy
>>252 >初期のOS Xの絶望的な重さは一体何だったんだろう?
単に、最適化不足だと思われる。
>OS Xの方がNT系のWindowsに似ている気がした
歴史的にカーネルが似ているのは必然と言える。
昔はUNIXの様な一枚岩カーネルが主流で、同時処理もマルチタスクによる
ものが一般的だったが、リック・ラシッドという人がマイクロカーネル/
マルチスレッドというものを開発し、Mach(マーク)というカーネルを作った。
MachカーネルはMac OSXのご先祖様に当たるNeXT StepというOSで使われた。
一方、このマイクロカーネル/マルチスレッドに強く影響を受けて開発された
OSがWindows NT3.1になる。 特にNT3.51までのNTはほぼ完璧なマイクロ
カーネルシステムで、Win32APIもマイクロカーネル上で動作する1つのサブ
システムに過ぎなかった。(他にPOSIXサブシステムなどもあった)
その後、純粋なマイクロカーネルではパフォーマンスが出ないことが問題に
なり、Win32サブシステムと画面周りがカーネルに一部統合された。これが
NT4.0。
Appleは Jobsの再来により、旧来のOSを捨て(単なるエミュレータに置き換え)
まったく別の構造を持つDarwinカーネル(MachのOpenな後継版)を持つ
Mac OSXに至ったわけだ。
故に、どちらもマルチプロセス処理よりもマルチスレッド処理に重点が置かれ
マルチスレッドを使用したアプリケーションでパフォーマンスが出るように
設計されている。 OSXとNT(Windows Xp)は異母兄弟のようなもの。
互いに模倣し合って、今がある。
ちなみにMachを開発したリック・ラシッドはMicrosoft Researchにいる。
178 :
Be名無しさん :05/02/01 23:33:51
マイクロカーネルに関してどうしてもわからない事があるのですが、 どなたか教えて下さい。 マイクロカーネルではシステムサーバによってOSの機能が実現されますよね? そのとき、どのシステムサーバが何のサービスをしているか、 という問題を解決しなければならないと思うのですが、 そのあたりどうしているのでしょうか? RPC使っているシステムもあるようですが…。
179 :
Be名無しさん :05/02/02 01:03:29
>>180 要するにサービスルックアップの仕組みはどうなっとんじゃゴルァって
話をしたいんじゃないのかしら? 違うかしら?
ネームサーバ ================= 糸冬 =================
184 :
Be名無しさん :05/02/09 15:14:39
サンクス
>>177 そうなんだ、良く分かります多。Machがマイクロカーネルの初実装ですかね?
Mach開発者がm$に居る事までわかりましたが、Machは氏に体?
>>183 よーするに、
URI -> IPアドレス
と
サービス名 -> ポート番号
は同じような事ってこったな。
186 :
Be名無しさん :05/02/26 18:19:35
簡単に言うと Linux の方が物知り。
カーネルにウィンドウシステムをぶち込む英断が欲しいね
近い未来に実用化されるといわれる量子コンピューターに搭載されるOSは、 マイクロカーネルだろうか、それとも、モノリシックカーネルだろうか。 その前に、量子コンピューターに僕らの言う「OS」が走るかどうかも、疑問だけどね(w
(
>>96 >「リアルタイムOSは速い」わけでわないぞ。 )
あらゆるところでアルゴリズムの選択基準が最大時間↓優先(だいたい平均時間↑)だもんねー
UNIX板かLinux板あたりに移動しない? ちゃんと相手するよ。 machスレでもいいし。
離脱
195 :
Be名無しさん :2006/02/28(火) 01:49:32
マンセー
age
197 :
Be名無しさん :2006/06/21(水) 02:35:22
リアルタイムとは、要求される最小時間単位と同等もしくはそれ以上の時間分解能があることを意味する。 例えば、1時間に1回だけ動けばよいシステムでは、最小単位時間が1分でも十分なリアルタイム性があるということだ。
>>184 俺 "Optimizing PowerPC Code" ってアセンブラの本持ってるんだけど、その著者は
だいぶ前からラシッドと同じ M$ Research にいて、もはや PowerPC とは関係ない研究を
している模様。
こうやって金で有能な人を幽閉して技術が外に出ないようにしているのかなと。
>>189 今更その手の常識的な話はツマンネ
Linux だって kHTTPd ってのがあるじゃん。
それに、NFS サーバとかも、今ってカーネルモードで動いてるんでしょ。
今はカーネルモードどころか専用ハードウェアで動かす時代だしなあ
>>190 つうか量子コンピュータで動くアルゴリズムを記述できる言語をまず何とかしてくれ。
202 :
Be名無しさん :2006/12/26(火) 18:13:05
203 :
Be名無しさん :2007/01/19(金) 15:22:05 BE:504446494-2BP(300)
204 :
Be名無しさん :2007/02/16(金) 22:09:46
Linuxでいうmoduleはマイクロカーネルじゃないんだよね? Windowsでのdriverはマイクロカーネルに沿ったモデルになってるのかな? VGA関係のコードとか非常に遅くなるそうなんだけど、よくwkrnなぁ。
205 :
Be名無しさん :2007/04/06(金) 04:58:02
#!/usr/local/bin/hosh
>>204 NTが純粋にマイクロカーネルだったのは3.51までだったと思った。
207 :
Be名無しさん :2007/08/25(土) 11:52:46
難しいことは良くわからんが、今のところモノシリックのlinuxが最強って事か
>>206 Vistaで描画周り( ゚д゚)、ペッ したらしいが。
hoshu
>>207 ×モノシリック
○モノリシック
モノリスのほーであって物知りとは関係ないので注意
211 :
Be名無しさん :2008/11/11(火) 17:18:33
カーネルの機能をユーザー空間に出す意味がいまだに分からないんだけど ユーザー空間⇔カーネル空間のコンテキストスイッチのコストが重いから? でもカーネルと同期処理が必要なときは結局システムコール呼び出すしかないし そもそもシステムコールのうち非同期で済むものなんて僅かだし
>>211 ユーザー空間にするとOSが安定するから。
アプリが死んでも他のアプリに影響が無いのと同じように、
ユーザー空間においておくと、そこで問題があってもカーネルに影響を与えずに
すむようになる。
パフォーマンスの話なら、カーネル空間におくよりかはパフォーマンスが劣るというのは
常識なので、みんな分かってやっている。それ以上に安定性のほうを重視しているということ。
213 :
Be名無しさん :2008/11/11(火) 18:37:32
安定なんて嘘ばっかりじゃん。サブシステムが死んだらそれで終わり。 デバッグがしやすい?嘘ばっかり。プロセス間通信が絡むアプリはデバッグ大変。
>カーネルの機能をユーザー空間に出す意味がいまだに分からないんだけど カーネルの本当に中核の部分以外を別空間に隔離することで抽象化が容易になり、 ・安全性が高まる ・設計が容易になる そしてその代償として >ユーザー空間⇔カーネル空間のコンテキストスイッチのコストが重いから? このデメリットを蒙る。 最近になってようやくマイクロカーネルな商用OSに成功例が出てきた 最大の要因は、コンピュータ自体のプロセッシングパワーの増大。 ぶっちゃけるなら、ようやくマイクロカーネルで冗長化しても 何とか使えるだけの速度が手に入った、というだけの話。 マイクロカーネルの伝道者は、もっと前からソフトウェア的なチューニングで モノリシックカーネルと遜色ない速度を実現していたとか嘘垂れ流してるけど、 言ってしまえば21世紀になってプロセッサが速くなるまで実用性なんか度外視して 理念に殉じていたのがモノリシックカーネル。 こいつらの多くはアンチMSも兼任していたりするので、 20世紀中に最も成功したマイクロカーネルの商用OSってNTだよね、 とか言うと顔真っ赤にしてモゴモゴ言い出すよw
>安定なんて嘘ばっかりじゃん。サブシステムが死んだらそれで終わり。 そのサブシステムは再起動してやれば、システム全体道連れにはならないかもしれないし。 実際メインフレーム系はそんな感じになってるよね。 まあ死んだサブシス叩いてたプロセスは救いようがないけど。 >デバッグがしやすい?嘘ばっかり。プロセス間通信が絡むアプリはデバッグ大変。 GNUのHurdがここまでグダグダな理由ってこれだよね。 理念としては優れているけど、デバッグが困難で追い込み切れない間に 世間ではLinuxが伸してしまって、結局開発リソースの調達に失敗した。
>言ってしまえば21世紀になってプロセッサが速くなるまで実用性なんか度外視して >理念に殉じていたのがモノリシックカーネル。 言ってしまえば21世紀になってプロセッサが速くなるまで実用性なんか度外視して 理念に殉じていたのはマイクロカーネルだって… orz マア文脈デ理解シテモラエルヨネ...
メインフレームとかサーバーだとOSが死なないことに意義はあるだろうけど せいぜい1-2本のアプリが走るだけのクライアントはアプリがコケたらそれまで 2000からXPになってエクセルが倍位死にやすくなってたまらんかったもんな
みんなカーネルとか崇高な会話してる中でエクセル(笑死)
> こいつらの多くはアンチMSも兼任していたりするので、 > 20世紀中に最も成功したマイクロカーネルの商用OSってNTだよね、 > とか言うと顔真っ赤にしてモゴモゴ言い出すよw っすげー偏見 ただの常識じゃん お前がつきあってるのがすげー偏った奴等ばかりなんだろうと 思わざるをえないw
開発がしやすいってのもあったはずだけど
>>213 もあって結局はわかりやすいモノリシックのほうが
開発者集めやすいから大量投入できるのをLinuxが証明しちゃった
モノリシックは金にならん。 全てが一つになっているから カーネルのライセンスに引きずられる。 技術的というより政治的な面で 最先端の技術を使うのが不可能な状態に陥っている。
>>220 > 開発者集めやすいから大量投入できるのをLinuxが証明しちゃった
証明していない。
Linuxは所詮マイナーOSでしかない。
百歩譲ってメジャーだとしても、
メジャーなOSでモノリシックで成功した例がある程度。
>>221 FUDお疲れです。
nVIDIA のドライバとかが有名ですが、プロプライエタリなドライバを提供することを
妨げるものはなにもありません。
まぁロードする時に一瞬メッセージが出るけどな。
ディストロに入れてもらえないのは差別だとか泣き言は言わないようにwwwwwwww
nVIDIA のドライバを見れば分かるようにモノリシックカーネルでは 不可能なことがあるので、外部からドライバを読み込む マイクロカーネル構造を採用するしかないのです。 完璧なモノリシックカーネルが作れないという証明ですねw
モジュール化とマイクロカーネル構造を混同してるの? 馬鹿なの?
モノリシックカーネルでもモジュール化することで プロプライエタリなドライバをバイナリのまま供給する道もできたけど、 ソースがユーザの手元に届かないバイナリの塊を送りつけられることに これはこれで危機感を抱く開発者やユーザーも居るわけで… バイナリで供給されてブラックボックス状態のドライバやファームウェアを 英語圏ではブロブ(blob:塊)と呼んだりするそうな。
228 :
Be名無しさん :2009/01/12(月) 16:50:54
でも不思議だな。 linuxなどでは、GUIサブシステムはユーザー空間のさらにユーザーのプロセスで動くのに対し、 windowsでは少なくともユーザープロセスじゃないよね?新しいのは知らないけど、カーネルスペースで動いていたはず。 この辺の混沌を考えると、一概にカーネルの種類って語れないんだな/。 もっと完全性の高い原理主義的なもので比較してみたいなー。
>>228 昔と違うからねー状況が。比較自体無意味っつーか。
対立自体ナンセンスっつーか。
マイクロよりモノシリックの方が安定する WindowsとLinuxを見れば明らか
おお、物知りが現れたw
232 :
Be名無しさん :2009/01/13(火) 17:23:26
モノシリックだとマルチコアで効率悪い気がする。
別に1枚カーネルでも内部のスレッドはあるんだし… 具体的にはどの辺が?
いやだからおまいら、この考察自体時代遅れなんだってば・・・
235 :
Be名無しさん :2009/01/14(水) 06:24:30
マイクロカーネルとか念仏唱えてればご飯食えた時代があったんだね・・・
>windowsでは少なくともユーザープロセスじゃないよね?新しいのは知らないけど、カーネルスペースで動いていたはず。 NT系でグラフィックサブシステムをシステム空間で動作させていたのは、 NT4.0、2000、XPだけだよ。 NT自体は本来的な意味でれっきとしたマイクロカーネルだし、 実際のところこれまでに商用OSとして最も成功したマイクロカーネルOSだろう。 こんなイビツなものはもはやマイクロカーネルの体をなしていない、 目先のパフォーマンスのためにマイクロカーネルの理念を曲げたものは もはやマイクロカーネルを名乗るべきではない、みたいな事をほざく 原理主義者にクソミソに貶されたりもした訳だけど、 そいつらは不思議なことにパフォーマンスを確保するためにネットワークスタックや ファイルシステムやサーバをカーネルモードで動作させるUNIX系の実装には なぜか全く反応しない、というダブルスタンダードを決め込んでいたりしたから面白い。
>>237 そんな原理主義者、おまえの近所にたまたまいただけじゃねw
原理主義者はUNIXは屑だって言いつづけてたよ
無料でも普及しないOSってある意味失敗だよね。
達成目標の定義もなしに「失敗」とか決めつける奴って笑える
特定のOSを名指ししたわけでもないのに別に怒らなくても。
243 :
Be名無しさん :2009/01/20(火) 06:49:38
でもAtomとかの省電力CPUが出てきてWindowsがシリコンディスクで普通に動くようになると BeOSとかネットサーフィン用のお手軽端末目的のOSは ほんとにもー失敗に終わったと言わざるを得ない。
ドザ必死だなw
ただのドザ工作員じゃんw
CEのことですね、わかります
247 :
Be名無しさん :2009/06/28(日) 20:57:01
モノリシックの方が良い。 なんたって物識りックカーネルって位だから、頭よさそうだし。単結晶シリコンっぽい。 (モノじゃなくでシングルって突っ込みはナシね)
結局今はハイブリッド式? カーネルプロセス内にモジュールの代わりにスレッドがあるかんじ。
249 :
Be名無しさん :2009/08/08(土) 10:31:46
先祖孵りしてるよね。カーネル設計者はブレてる
250 :
Be名無しさん :2009/08/08(土) 13:50:49
>>248 Dragonfly BSDはもっと評価されてもいいと思う。
あとQNXも
Dragonfly BSDを指して「(たぶん理想的なBSD on )Machだ」と言った人がいるとかいないとか
設計思想より実装
復活MINIX3が最後の希望
CISCとRISCが融合して外部CISC内部RISCになったように モノリシックカーネルとマイクロカーネルも融合して外部モノリシック内部マイクロなハイブリッドカーネル化したのかな? カーネルは1プロセスだけどカーネル内スレッドがいっぱい走ってるみたいな
>>254 今はお互いいいところをうまく合わせているよ。
257 :
Be名無しさん :2009/12/29(火) 01:28:49
沢山のPEを持った並列計算機や、マルチコア、メニ−コアのマシン、 ネットワークに分散した計算機などを透明に制御するOS、 アーキテクチャーの異なるマシンをネットで繋ぎ合わせたシステムなどは、 多分モノリシックカーネルではダメ(上手く扱えない)だろう。
>>257 Roadrunner のOSはRHELとfedoraですが。
今は1つのカーネルがマルチコアを制御してるけど 小型のカーネルが個々のコア毎に実行されるような実装ってありえないかな? 4コア位ならいいけど100コアとかになったらキャッシュ問題等で一括スケジューリングは難しいと思うし むしろ100個の小さいカーネルを走らせたほうがよかったりとか・・・
261 :
Be名無しさん :2010/01/21(木) 18:58:52
物知り
物利子
263 :
Be名無しさん :2010/01/22(金) 22:28:13
CPUがマルチコアになるとカーネルってどうなるっていくんですか?
264 :
Be名無しさん :2010/01/22(金) 22:28:59
↑ すいません。どうなっていくんですか?です。
モノリシックカーネルの場合、ジャイアントロック(あるスレッドがカーネルの 一部を実行中だと、他のスレッドは止められる)をなくして、並列性を高める ことが求められる。 マイクロカーネルは、最初からそういう風に設計しやすい、というのが うたい文句のひとつ。
マイクロカーネルはカーネルをジャイアントロックしても カーネル機能自体が小さい(モノリシックOSでも排他制御が必要な要素)で ファイルシステム等の大きな機能はアプリと同じレベルで並列動作するから問題が少ないけど モノリシックだとカーネルを再入可能にして必要部分だけロックとかしないとロック時間が長くなるだっけ? でもその辺りはモノリシックでも結構こなれてきていて むしろCPUキャッシュとかを意識して複数コアにどうやってスケジューリングするかとかが重要になってるっぽいよね、最近は。 個人的にはそれ以前の所(CPU間の同期周りや割り込み処理等)がよくわからんけど、 今はマルチコアが当たり前だから「使える」OSを作るためのハードルがめちゃ高くなったよね。
昔と違って、今はお互いのいいところを双方が取り入れているから、 宗教的に争う意味もなくなってきているんだよねえ。
LinuxやFreeBSDってファイルシステム等の機能がカーネル内部スレッド化されてたっけ? マイクロカーネルのマの字も無い気がするのだけど WindowsとMacOSはマイクロカーネルベースのハイブリッドだよね確か
Macは完全なマイクロ いつの時代も最先端 Windoseがマイクロだったのは最初だけで今はモノシリ いつもMacをパクって失敗ばかり(W
わぁ、モノシリな人が来た(棒)
2重の意味でモノシリだねw
もの知りの集うスレですか?
違いますが何故か寄ってきます
Mach3とMINIX3…とちらが正統マイクロカーネルの王者だろう? モノリシックUNIXの正統王者はNetBSDです、これはゆずれません。
俺もOSを開発したい。 まずは、8ビットマシン(OSというより、DOSになるが)から始めるか……。
ひゃっはー、俺が物知りだせー
280 :
Be名無しさん :2010/04/17(土) 08:36:40
7年間で300レスか・・・定番ネタだったけど思いのほか白熱しなかったんだな・・・
安いもの使ってサービス提供するっていうのが最近の風潮だもんな 中身なんてどうでもいいっていうか それで高品質なものが手に入るし googleのデータセンタとか見ても
282 :
Be名無しさん :2010/04/20(火) 17:33:14
分散システムの個々のPCがプロセスでそれらを統括するPCがカーネルとは言えないだろうか
>>197 この手の馬鹿ソフト屋は精度と確度の違いを全く理解していないから
歯抜けの出力だしても平然としてるんだよな。
1時間に1回動けば精度はどうでもいいって話だと、 例えば59分59秒に動作してログを記録した後1時間00分01秒にもう一度動いて、 さらに次は119分59秒先…なんていうデタラメな動作でもokってことなのか 1時間おきに1回、誤差10ナノ秒以下で動作、みたいな場合の制御はどーすんだw
俺RTOS系の人は固定プライオリティの割り込み可能スケジューラーを作ればRTOSって勘違いしてるよね
TORON以外はRTOSじゃないのにな
釣りで誤字とかw
なんかこう、タネンバウムもマイクロカーネルも批判されがちだけど、amiga系(aros.morphosとか)を見る限り実装によりけりなんじゃないかと思うのだが。
うん。ただ、マイクロカーネルのくせに、x86向けに作ってないところが残念で仕方ない(arosを除く)。 あと、超漢字も軽いことで有名だよね。だから、実装次第なんじゃないかなと思うわけで。 マイクロカーネルはCPUの性能が上がってようやく使えるものになったみたいな意見もあるけど(それが事実かどうかはともかく)、ハードに合ったソフトを使うのは、悪いことじゃないよね。と思うのは僕だけですか。
超漢字は軽いんじゃなくて何も機能がないだけ
今の定義だと ・マイクロカーネル → プロセス毎にアドレス空間が分離して保護される だけど本質的に「基本機能+大きなサービス」と捉えれば保護は不要なわけで B-TRONやAmigaOSは保護にかかる大きなオーバーヘッドと無縁だったんじゃなかろうか? メッセージやコンテクストスイッチによるオーバーヘッドばかり注目されてるけど 実はその陰で動く仮想アドレス関連もバカにならないとか・・・
訂正 ×保護は不要 ○保護は無関係
リーナスとタネンバウムのも「マイクロvsモノリシック」じゃなくて「linux vs minix」みたいだし(2006年のは、まだ読んでないけど) リーナスもマイクロじゃなくてmachの批判をしてる感じだから なんだかんだでまともな議論はされてないんじゃないかと思う処はある
超漢字(B-right/V)はソース公開されてないから、中身がメッセージパッシングで作られてるかどうか 正直わからん。 外殻はメモリ共有して直接データをやりとりしちゃってそうな気がするんだが。
共有メモリーもIPCの一つの手法だし 「保護」さえ無視すればメモリ上にメッセージを編集してポインタを渡すのが一番速い? ITRONは最近までメモリー保護は無かったはずだからBTRONもそんな感じじゃないかな? MINIX1だってMMU無しの8086で動作する「マイクロカーネル(ちとアレだが)」だしね
メールボックスはポインタ渡しだけど...そういうインタフェースもなしでやっちゃってないかなとw
有名にしたのはMachとMINIXだけど AmigaOSとかOS/9とか結構昔から実用化されてたんだね>マイクロカーネル
よく判らないんだが、GNU Hurdてのは、Mach+BSDのマイクロなんだろ。 ということは、ハイブリッドじゃないdarwinとほとんど同じなわけだ。 だったらGNUはdarwinをマイクロにして公開しちゃえば良いと思うんだが駄目なのか?
HurdがBSDというのは初耳なんだが。 ていうかGNUプロジェクトがGPLでないものは取り込まんだろ。
俺は大きな勘違いをしていたようだ。すまない。
一時期はフリーUNIXの大本命だったのにね>Hurd 蛇足だけどUNIXとしてはNetBSD マイクロカーネルとしてはMINIX3が好き 他にはInfernoとかELATEとかQNXとか…主流になれない俺…orz
NetBSDはよいものだ
morphosのカーネルのquarkはQNXを参考にするつもりだったがL4を真似することにした。 みたいな事がwikiにあると思うんですが、L4やQNXなど(mach以外)を採用したり 参考にしてるOSってなにかありますか。ご存知でしたら教えて戴けますか。 なんだか、マイクロカーネルの人気が低いのはmachが原因な気がして、ならないのです。
たとえば分散OSで検索して出てくるのはmach以外も多くない?
HaikuOS (カーネルはNewOS)
ちょっとスレチだけどInfernoみたいなVM型カーネルも面白いな。 マシンパワーが有り余っている今、主にセキュリティ面のアドバンテージから流行ったりして。
カラーザウルスのOSはXTALだった
あ、BeOSってハイブリッドだったんだ。
310 :
Be名無しさん :2010/09/03(金) 12:38:21
BeOSには夢が詰まっていた
>>302 > 一時期はフリーUNIXの大本命だったのにね>Hurd
一年前のレスにレスだが、そんな時代はない。
Mach/マイクロカーネルが充分な速度を得ることは不可能、
それがはっきりした頃に開発が始まった。
> Mach/マイクロカーネルが充分な速度を得ることは不可能、 > それがはっきりした へぇー。 ということは BeOS も Mac OS X も充分な速度を得てないんですね。 勉強になりました(棒)
今はLinux使ってるけどHurdが出たらそっちへ行く…って人が結構居たがな もうはるか昔の話しではあるが
>>312 Mac OS XのBSD部分はカーネル内にある。
Mach/BSDはマイクロカーネルじゃない。
使ったことあればバカでも知っているはず。
taskリストに出てこないので。
wikipediaより
> Mach 3.0は、Mac OS Xのカーネルにも用いられているが、
> 実装はマイクロカーネルではない。
結局Machカーネルの外にBSDサーバーを出すことが出来なかった。
これはOSF/1もNEXTSTEPもそう。
そもそもMachは3になるまでBSDを機能拡張する形の実装だった
Machの外部サーバとして実装され、今も維持されてるのはHurdだけ。
MAC OS-Xはそうだね で、BeOSは? あと組込み系ならQNXとかも有るんだけど Machだけ持ち出してマイクロカーネルは遅くて使いものにならないと言われてもねぇ
BeOSはほぼ死亡状態だからなあ。 Hurdの方がまだちゃんと維持されてるんじゃない? ユーザ環境はDebianに出来るし。
ああ「マイクロカーネルは遅くて使い物にならないからHurdは全く期待されていなかった」
みたいなレスからの流れで実用的な速度のマイクロカーネルとして上げただけだから>BeOS
具体的には
>>311 からの流れ
Machベースで完全に外部サーバー形式にしてるのはHurdだけかね?
初期のBSD on MachもNext StepもMacOS XもOSF-1もパーソナリティ−を内包してたよね?
ある意味Machの遺伝子を受け継いでパーソナリティを入れたり出したりしているのがWindowsNT系ってのが皮肉かな
初期はBSD on Machじゃなくて、Mach on BSDとして実装された。 version 2まで。 NTカーネルはモジューラカーネルで、Mach 3とはちょっと仕組みが違うね。 COM/OLEの枠組みで提供されているところはMachのサービスサーバに似てるけど、 コアな部分はカーネル内に動的リンクされてる。
そういやHurdはL4ベースのもあるみたいだけどどんなだろ? あとタンバネウム先生の総決算MINIX3.xも悪くないと思う
モノリス・・・ぷっ
MachもMINIXも3.0で初めて本当のマイクロカーネルになったんだな それいぜんはマイクロカーネルじゃないし…いや、なんとなく
322 :
Be名無しさん :2011/10/30(日) 21:39:01.41
現役のメジャーどころでまともなマイクロカーネルってWindows(Vita以降?)だけ!? MacOSはmachベースでもマイクロカーネル的には作られてないらしいし MINIX3やDragonflyBSDはマイナーだし…
vms
現役?マイクロカーネル??(今)メジャー???
いまや純粋なマイクロカーネルは組み込み系商用製品の一部(QNXとか)とMINIX3だけか Mach3〜とかも聞かなくなったし当時マイクロカーネルすげーって興奮していた身としては寂しい でも個人で細々と作るにはマイクロカーネルのほうが手軽だよね! …と間違ってLinux板に書いてしまった…orz
MkLinuxってあったよな。 Machがカーネルの奴。
327 :
Be名無しさん :2011/12/12(月) 14:42:21.42
「僕にはそれが面白かったから」の邦訳にはモノシリックと書いて在ったが
328 :
Be名無しさん :2012/03/11(日) 23:40:57.53
カーネルサンダース
そもそもAppleには開発力がないためにOSの開発に失敗して、 他からカーネルを借りてきた。 MacOSは〜と自慢気にいう馬鹿はなんなのだ。
でっていう。 Darwinの何割が借り物なのか定量的に言わなきゃ、どっちも知らんがな。
むしろ、借り物ってのがステマだったってことはないだろうか? Copelandは締切りに間に合わなかったけど秘密裏に開発成功していて、 でも今更どうしようかって時に、売れないのに評判だけはよかった同系の NeXTの技術を導入したということにして汚名返上してみたとか?
妄想してみるなら、例えばGPL汚染が内部調査で発覚して、 結合しているブラックボックスは公開するわけにはいかなかったので、 密かにロンダリングしてたというのはどうだろう? 従来の延長路線でAPIを整理しつつ、linuxの名前を利用し汚染部分を公開して その外部GPLコードの内製置き換えをテストさせていたとかは考えられないだろうか?
NSってプレフィックスが付いてるものはNeXTSTEP由来と思えばいいんじゃねーの? Mac信者というかジョブズ信者にとってはOS XとNeXTSTEPはおんなじようなもののようだし。
で、何割なん?
NeXTとOSF/1って何割ぐらい共通なの?
一文字も合致しないな
mach2.5同士が合致しないと言われて、mach3がおんなじようなものと言われる不思議。
Darwinってmach3系だっけ? NextStep由来なら2.5系じゃないの?
最初の奴だけ2.5で、その後何故か3になってるんだっけ? マイクロカーネルでもないのに何の意味があったんだろう?
人とゴリラの遺伝子は98.25%合致するらしいから、誰かが1.75%をでっち上げれば ゴリラをandroid化できるな。
341 :
Be名無しさん :2012/03/18(日) 21:47:06.77
Hurdっていつでるの? あと、なんでマイクロカーネルにGnuはこだわるの?
Hurdはもうあるんじゃない これ以上のものはもうでてこないんじゃない GNUはマイクロカーネルにこだわっていないんじゃない すでにLinuxを我が物顔で「GNU/Linux」と呼べとか行ってるし
マイクロカーネルにこだわってたというより、当時はフリーな選択肢がそれしかなかったんじゃないの? machはOSF陣営が採用していたわけで、UNIXとしての実績があった。 3でマイクロカーネル化してOSコアのmach部分とライセンスが必要な部分が分離できていた。 というわけで後者の代替を作ろうと考えたんじゃない? でもBSDが、いやよく考えてみたら気がついたらこれ殆ど原型とどめてなくね? ってことでフリーでいいよとNet/2を出して、いやそれおらんだってことで裁判沙汰になって FreeBSDなんか書き直しする羽目になったけど、それでもHurdより先にリリースできて、 その少し前に現れたlinuxに人が集まって、その間にUNIXの冷戦構造も崩壊して、 情報ハイウエイやら、PCはdosからwindowsの時代になるわで、大事な数年を逸して、 一体なにもたもたやってんのさ?って事になったんじゃないんだろうか?
ライセンスに縛られないUNIXとしては(訴訟期間はあれど)BSDがとっくに良いものをリリースしていたのに それでもGPLにこだわって「GPLのカーネル」を欲するのがGNUたるゆえんかな Gnu is Not UnixはUNIXに代わるフリーなシステムを作る事ではなくUNIXに代わるGPLのシステムを作る事だったと
>>344 いや、Net/2はLinux 0.01と同じ年で、その前年からHurdは開発始まってたらしいよ。
しかしブートできるまでに3年も掛かって、その頃にはSoundBlasterで
CD-ROMが普及していたので、リリースした時点であっという間に広まった。
逆に言えばライセンス問題があるとCDプレスに二の足を踏むわけで、
破棄だけは避けようと譲歩したんじゃないんだろうか?
まあ4.4BSD Liteベースで完全解決できた訳だけど、その隙にlinuxが入り込めた。
せめてLite移行完了までにHurdが形になっていれば、真打ち登場と言えたんだろうけど、
mklinuxとか、linuxにさえ抜かれちゃう始末だし。
mach3はGPLではないので(HurdもGNU Machの機能は使っていないんだっけ?)
GPL以外に代替があるなら完成度の低いものをわざわざ選択する意味はないよね。
しかしBSD on muchって何度も復活するよね 初代much(これは不完全だが) > Hurd? > dragonfly BSD でも普及には至らないんだよなぁ 一応、NextとOSF/1は実用か?
10年位前から知ってるし 独自OS作る奴は作ることを楽しんでいるんだから既存のOSはあまり関係ないだろう 逆に既存OSより良いもの(実用的な物)が欲しい奴は見込みの有りそうなプロジェクトにコミットしてるんじゃない?
>>348 >10年位前から知ってるし
それをどうやって証明するのさ?
消息不明の作者逹にアンケートでもした?
>独自OS作る奴は作ることを楽しんでいるんだから既存のOSはあまり関係ないだろう
そういう思い込みで教えてもらえなかった連中も多いんじゃないの?
誰でも知っているような事を意外と知らなくて遠回りしたなんて話も後で結構聞くんだよな。
まあ困ってる事をきちんと言わない見栄っぱりの自業自得だけど。
>>10年位前から知ってるし
>それをどうやって証明するのさ?
>消息不明の作者逹にアンケートでもした?
10年は嘘だった
このページで知ったから5〜6年前だ
http://www.bekkoame.ne.jp/ha/kuwaya/unchiku.html 各作者が知ってるかどうかは知らんし、そういう文章にはなってないはずだが?
>>独自OS作る奴は作ることを楽しんでいるんだから既存のOSはあまり関係ないだろう
>そういう思い込みで教えてもらえなかった連中も多いんじゃないの?
なら俺OS系のWikiとかに書きこんでみたら?
その考えのほうが思い込みだってわかると思うよ
何が思い込みなんだ? 俺OS(だと思い込んでるの)にわざわざ別のOSの事言う奴はアンチだけってことだろ。 顰蹙を買うのは嫌なので(悪)名を売りたいのでなければ黙っていた筈。 「あまり関係ないだろう」と書かれていて、そう思っている人が居るのは事実で、 そういう人は指摘してくれないだろうから、後は2chでも見るしかないんじゃないか?
既存の有無というのは、モチベーションの面で関係大アリじゃないかな? 無いのでオレが作りたいと思う奴は、有ると知ったらやめたくなる。 有るので真似すれば作れると思う奴は、無いと知ったら逃亡する。
アジア人は全体を見て行動し、西洋人はリーダーを見て行動するらしい。 これってマイクロカーネルとモノリシックカーネルの考えそのものじゃないだろうか? でも実際の区分はぶっちゃけ、ランプの魔神を大衆の願いを叶えてくれる仏のようなお上と考えるか 市民の下で働く一騎当千の公僕と考えるかという違いの話になってるんだよね。 結局、文民統制にハードウェアによるカーストを利用するかどうかで、 性悪説なら緊箍児が必要だし、性善説なら不要って話に矮小化されちゃってる。
354 :
Be名無しさん :2012/05/05(土) 17:30:16.00
タンデンバウムって菩提樹だっけ。
355 :
Be名無しさん :2012/11/10(土) 00:29:27.85
カーネルサンダース
356 :
Be名無しさん :2012/11/10(土) 07:53:51.30
ドライバーに対してはスタックマシンとして振る舞うVMスタブが一番堅牢。 VMのサーフェス側のサービスレベルをどの高さに設計するかだけの話。 と言うのも、どうしてもソフトウェアカーネルを設置したいのであれば、あれこれ調整された機能の調製を求める内にモノリシックに行き着くのは当然であるから。 しかし、そもそもソフトウェアカーネルなんぞハードウェアの仕様を覚えられない難読症児の戯言だとする者はマイクロカーネル乃至マイクロコードを指向する様になる。 最速は常にハードウェア、以上。
amiga osはマイクロカーネルだったのか 「マイクロカーネル風」って表現もあるし、メモリ保護なし・直接関数コールとかスゲーけど別にいいよね あとMacOS9の下にマイクロカーネルがあったのも知らんかった
358 :
Be名無しさん :2013/04/07(日) 20:56:05.43
マイクロカーネルもバズワードで明確な定義が無いのだから風も何もない。
基本的には「プロセス/ファイルシステムやデバイス・ドライバー等の大きな機能を除いた基本機能のみ」のカーネルって事だけど ・基本機能とは?(タスクスケジューラーやメモリアロケータも含まない!とか仮想アドレス+メモリ保護も必要!) 辺りの解釈が不明確というか各人で分かれてる感じ スケジューラーとメモリアロケータは含まないけどメモリ保護は必須みたいな意見も見た気がするし・・・
メッセージパッシング機能とディスパッチャが最低限でしょ。
メッセージパッシングの方式(amigaは関数テーブル呼び出しだそうで)をどう定義するか 他の機能(スケジューラーやメモリ管理)がのっているものはマイクロカーネルじゃない!と原理主義に走るか(ゆるくし過ぎるとなんでもかんでもマイクロカーネルと言えるようになるし) 線引は難しいですよね
はい
CISC RISC と一緒で完璧にどちらかに分類できる実装なんか今時存在しない
364 :
Be名無しさん :2014/05/26(月) 21:07:08.62
質問です マイクロカーネルについて勉強中です マイクロカーネルはプロセス間通信を使用してサービスを受けると理解しました。 これはアプリがシステムコールを呼んだ際、自分のコンテキストは待ち状態になり サーバーで待ち状態だったプロセスが解除されてコンテキストがバトンタッチ(?)するという感じでしょうか? もしそうならば、たとえばサーバーのプロセス(スレッド)が1つしかない場合、複数アプリから同時にサービスコールが呼ばれると 1つだけ処理されて、残りは待たされるのでしょうか? あいまいな質問ですみません。
YES 物理ディスクのアクセス等は(キャッシュ等は除き)そもそも並列動作できないから普通に待ち行列行き OS機能全体を1つのスレッド(プロセス)で処理するような実装なら誰かがシステムコールを実行中は他は待たされる たいていはサービス毎に処理スレッド(プロセス)を走らせるから競合しなければ並列動作する(ディスクIOとコンソール出力とか…)
366 :
364 :2014/05/28(水) 19:39:59.67
マイクロカーネルばんざーい! マイクロカーネルとして良いのはなんだろう L4? QNX? MINIX? OSE? OSの話題が無くてつまらん モノリシックはNetBSD最高
最新の Minix は マイクロカーネル + NetBSD だし
はい… それはそれとして本家NetBSDの移植性を高めた設計も好き