X



マイクロカーネル vs モノリシックカーネル
0001Be名無しさん
垢版 |
NGNG
一度本気で語ってみたい題目。リーナスvsタネンバウムで
いろいろネタは出てるが、時代は変わっている。もう一度
語ってみようじゃないか。

・性能の違い
・実装の違い
・リーナスとタネンバウム

何でもいいので語ろう。
0228Be名無しさん
垢版 |
2009/01/12(月) 16:50:54
でも不思議だな。
linuxなどでは、GUIサブシステムはユーザー空間のさらにユーザーのプロセスで動くのに対し、
windowsでは少なくともユーザープロセスじゃないよね?新しいのは知らないけど、カーネルスペースで動いていたはず。
この辺の混沌を考えると、一概にカーネルの種類って語れないんだな/。

もっと完全性の高い原理主義的なもので比較してみたいなー。
0229Be名無しさん
垢版 |
2009/01/13(火) 13:24:16
>>228
昔と違うからねー状況が。比較自体無意味っつーか。
対立自体ナンセンスっつーか。
0230Be名無しさん
垢版 |
2009/01/13(火) 13:58:59
マイクロよりモノシリックの方が安定する
WindowsとLinuxを見れば明らか
0232Be名無しさん
垢版 |
2009/01/13(火) 17:23:26
モノシリックだとマルチコアで効率悪い気がする。
0233Be名無しさん
垢版 |
2009/01/13(火) 18:32:57
別に1枚カーネルでも内部のスレッドはあるんだし…
具体的にはどの辺が?
0234Be名無しさん
垢版 |
2009/01/14(水) 03:01:26
いやだからおまいら、この考察自体時代遅れなんだってば・・・
0235Be名無しさん
垢版 |
2009/01/14(水) 06:24:30
>>197
つ [時報]
0236Be名無しさん
垢版 |
2009/01/14(水) 16:24:28
マイクロカーネルとか念仏唱えてればご飯食えた時代があったんだね・・・
0237Be名無しさん
垢版 |
2009/01/14(水) 21:17:16
>windowsでは少なくともユーザープロセスじゃないよね?新しいのは知らないけど、カーネルスペースで動いていたはず。

NT系でグラフィックサブシステムをシステム空間で動作させていたのは、
NT4.0、2000、XPだけだよ。

NT自体は本来的な意味でれっきとしたマイクロカーネルだし、
実際のところこれまでに商用OSとして最も成功したマイクロカーネルOSだろう。

こんなイビツなものはもはやマイクロカーネルの体をなしていない、
目先のパフォーマンスのためにマイクロカーネルの理念を曲げたものは
もはやマイクロカーネルを名乗るべきではない、みたいな事をほざく
原理主義者にクソミソに貶されたりもした訳だけど、
そいつらは不思議なことにパフォーマンスを確保するためにネットワークスタックや
ファイルシステムやサーバをカーネルモードで動作させるUNIX系の実装には
なぜか全く反応しない、というダブルスタンダードを決め込んでいたりしたから面白い。
0238Be名無しさん
垢版 |
2009/01/15(木) 13:31:23
>>237
そんな原理主義者、おまえの近所にたまたまいただけじゃねw
0239Be名無しさん
垢版 |
2009/01/15(木) 15:52:45
原理主義者はUNIXは屑だって言いつづけてたよ
0240Be名無しさん
垢版 |
2009/01/19(月) 20:37:32
無料でも普及しないOSってある意味失敗だよね。
0241Be名無しさん
垢版 |
2009/01/19(月) 20:49:19
達成目標の定義もなしに「失敗」とか決めつける奴って笑える
0242Be名無しさん
垢版 |
2009/01/19(月) 20:55:24
特定のOSを名指ししたわけでもないのに別に怒らなくても。
0243Be名無しさん
垢版 |
2009/01/20(火) 06:49:38
でもAtomとかの省電力CPUが出てきてWindowsがシリコンディスクで普通に動くようになると
BeOSとかネットサーフィン用のお手軽端末目的のOSは
ほんとにもー失敗に終わったと言わざるを得ない。
0247Be名無しさん
垢版 |
2009/06/28(日) 20:57:01
モノリシックの方が良い。

なんたって物識りックカーネルって位だから、頭よさそうだし。単結晶シリコンっぽい。
(モノじゃなくでシングルって突っ込みはナシね)
0248Be名無しさん
垢版 |
2009/08/04(火) 07:24:49
結局今はハイブリッド式?
カーネルプロセス内にモジュールの代わりにスレッドがあるかんじ。
0249Be名無しさん
垢版 |
2009/08/08(土) 10:31:46
先祖孵りしてるよね。カーネル設計者はブレてる
0250Be名無しさん
垢版 |
2009/08/08(土) 13:50:49
>>248
Dragonfly BSDはもっと評価されてもいいと思う。

あとQNXも
0251Be名無しさん
垢版 |
2009/08/08(土) 14:29:21
Dragonfly BSDを指して「(たぶん理想的なBSD on )Machだ」と言った人がいるとかいないとか
0254Be名無しさん
垢版 |
2009/11/25(水) 09:11:57
CISCとRISCが融合して外部CISC内部RISCになったように
モノリシックカーネルとマイクロカーネルも融合して外部モノリシック内部マイクロなハイブリッドカーネル化したのかな?
カーネルは1プロセスだけどカーネル内スレッドがいっぱい走ってるみたいな
0257Be名無しさん
垢版 |
2009/12/29(火) 01:28:49
沢山のPEを持った並列計算機や、マルチコア、メニ−コアのマシン、
ネットワークに分散した計算機などを透明に制御するOS、
アーキテクチャーの異なるマシンをネットで繋ぎ合わせたシステムなどは、
多分モノリシックカーネルではダメ(上手く扱えない)だろう。
0260Be名無しさん
垢版 |
2010/01/12(火) 07:16:07
今は1つのカーネルがマルチコアを制御してるけど
小型のカーネルが個々のコア毎に実行されるような実装ってありえないかな?
4コア位ならいいけど100コアとかになったらキャッシュ問題等で一括スケジューリングは難しいと思うし
むしろ100個の小さいカーネルを走らせたほうがよかったりとか・・・
0261Be名無しさん
垢版 |
2010/01/21(木) 18:58:52
物知り
0263Be名無しさん
垢版 |
2010/01/22(金) 22:28:13
CPUがマルチコアになるとカーネルってどうなるっていくんですか?
0264Be名無しさん
垢版 |
2010/01/22(金) 22:28:59
↑ すいません。どうなっていくんですか?です。
0265Be名無しさん
垢版 |
2010/01/23(土) 07:58:33
モノリシックカーネルの場合、ジャイアントロック(あるスレッドがカーネルの
一部を実行中だと、他のスレッドは止められる)をなくして、並列性を高める
ことが求められる。
マイクロカーネルは、最初からそういう風に設計しやすい、というのが
うたい文句のひとつ。
0266Be名無しさん
垢版 |
2010/01/24(日) 01:38:28
マイクロカーネルはカーネルをジャイアントロックしても
カーネル機能自体が小さい(モノリシックOSでも排他制御が必要な要素)で
ファイルシステム等の大きな機能はアプリと同じレベルで並列動作するから問題が少ないけど
モノリシックだとカーネルを再入可能にして必要部分だけロックとかしないとロック時間が長くなるだっけ?

でもその辺りはモノリシックでも結構こなれてきていて
むしろCPUキャッシュとかを意識して複数コアにどうやってスケジューリングするかとかが重要になってるっぽいよね、最近は。

個人的にはそれ以前の所(CPU間の同期周りや割り込み処理等)がよくわからんけど、
今はマルチコアが当たり前だから「使える」OSを作るためのハードルがめちゃ高くなったよね。
0267Be名無しさん
垢版 |
2010/02/04(木) 03:28:39
昔と違って、今はお互いのいいところを双方が取り入れているから、
宗教的に争う意味もなくなってきているんだよねえ。
0268Be名無しさん
垢版 |
2010/02/07(日) 07:13:23
LinuxやFreeBSDってファイルシステム等の機能がカーネル内部スレッド化されてたっけ?
マイクロカーネルのマの字も無い気がするのだけど
WindowsとMacOSはマイクロカーネルベースのハイブリッドだよね確か
0269Be名無しさん
垢版 |
2010/02/07(日) 14:23:32
Macは完全なマイクロ
いつの時代も最先端
Windoseがマイクロだったのは最初だけで今はモノシリ
いつもMacをパクって失敗ばかり(W
0274Be名無しさん
垢版 |
2010/02/20(土) 23:00:36
Mach3とMINIX3…とちらが正統マイクロカーネルの王者だろう?
モノリシックUNIXの正統王者はNetBSDです、これはゆずれません。
0275Be名無しさん
垢版 |
2010/04/11(日) 07:26:21
俺もOSを開発したい。
まずは、8ビットマシン(OSというより、DOSになるが)から始めるか……。
0280Be名無しさん
垢版 |
2010/04/17(土) 08:36:40
7年間で300レスか・・・定番ネタだったけど思いのほか白熱しなかったんだな・・・
0281Be名無しさん
垢版 |
2010/04/17(土) 11:56:51
安いもの使ってサービス提供するっていうのが最近の風潮だもんな
中身なんてどうでもいいっていうか
それで高品質なものが手に入るし
googleのデータセンタとか見ても
0282Be名無しさん
垢版 |
2010/04/20(火) 17:33:14
分散システムの個々のPCがプロセスでそれらを統括するPCがカーネルとは言えないだろうか
0283Be名無しさん
垢版 |
2010/05/03(月) 07:26:08
>>197
この手の馬鹿ソフト屋は精度と確度の違いを全く理解していないから
歯抜けの出力だしても平然としてるんだよな。
0284Be名無しさん
垢版 |
2010/05/05(水) 17:34:56
1時間に1回動けば精度はどうでもいいって話だと、
例えば59分59秒に動作してログを記録した後1時間00分01秒にもう一度動いて、
さらに次は119分59秒先…なんていうデタラメな動作でもokってことなのか

1時間おきに1回、誤差10ナノ秒以下で動作、みたいな場合の制御はどーすんだw
0285Be名無しさん
垢版 |
2010/05/15(土) 07:06:18
俺RTOS系の人は固定プライオリティの割り込み可能スケジューラーを作ればRTOSって勘違いしてるよね
0288Be名無しさん
垢版 |
2010/06/11(金) 07:51:21
なんかこう、タネンバウムもマイクロカーネルも批判されがちだけど、amiga系(aros.morphosとか)を見る限り実装によりけりなんじゃないかと思うのだが。
0289Be名無しさん
垢版 |
2010/06/11(金) 09:58:58
AmigaOSってマイクロカーネル系なの?
ちなみにマイクロカーネル考にはこんなのも有ってなるほどなと思ってたりする
ttp://d.hatena.ne.jp/oraccha/20100601/1275366559
0290Be名無しさん
垢版 |
2010/06/11(金) 17:58:32
うん。ただ、マイクロカーネルのくせに、x86向けに作ってないところが残念で仕方ない(arosを除く)。
あと、超漢字も軽いことで有名だよね。だから、実装次第なんじゃないかなと思うわけで。
マイクロカーネルはCPUの性能が上がってようやく使えるものになったみたいな意見もあるけど(それが事実かどうかはともかく)、ハードに合ったソフトを使うのは、悪いことじゃないよね。と思うのは僕だけですか。
0291Be名無しさん
垢版 |
2010/06/11(金) 20:47:44
超漢字は軽いんじゃなくて何も機能がないだけ
0292Be名無しさん
垢版 |
2010/06/11(金) 20:50:11
今の定義だと

・マイクロカーネル → プロセス毎にアドレス空間が分離して保護される

だけど本質的に「基本機能+大きなサービス」と捉えれば保護は不要なわけで
B-TRONやAmigaOSは保護にかかる大きなオーバーヘッドと無縁だったんじゃなかろうか?

メッセージやコンテクストスイッチによるオーバーヘッドばかり注目されてるけど
実はその陰で動く仮想アドレス関連もバカにならないとか・・・
0294Be名無しさん
垢版 |
2010/06/12(土) 08:49:43
リーナスとタネンバウムのも「マイクロvsモノリシック」じゃなくて「linux vs minix」みたいだし(2006年のは、まだ読んでないけど)
リーナスもマイクロじゃなくてmachの批判をしてる感じだから
なんだかんだでまともな議論はされてないんじゃないかと思う処はある
0295Be名無しさん
垢版 |
2010/06/12(土) 09:25:27
超漢字(B-right/V)はソース公開されてないから、中身がメッセージパッシングで作られてるかどうか
正直わからん。
外殻はメモリ共有して直接データをやりとりしちゃってそうな気がするんだが。
0296Be名無しさん
垢版 |
2010/06/12(土) 09:57:47
共有メモリーもIPCの一つの手法だし
「保護」さえ無視すればメモリ上にメッセージを編集してポインタを渡すのが一番速い?
ITRONは最近までメモリー保護は無かったはずだからBTRONもそんな感じじゃないかな?
MINIX1だってMMU無しの8086で動作する「マイクロカーネル(ちとアレだが)」だしね
0297Be名無しさん
垢版 |
2010/06/12(土) 10:51:43
メールボックスはポインタ渡しだけど...そういうインタフェースもなしでやっちゃってないかなとw
0298Be名無しさん
垢版 |
2010/06/12(土) 13:01:30
有名にしたのはMachとMINIXだけど
AmigaOSとかOS/9とか結構昔から実用化されてたんだね>マイクロカーネル
0299Be名無しさん
垢版 |
2010/06/12(土) 22:02:22
よく判らないんだが、GNU Hurdてのは、Mach+BSDのマイクロなんだろ。
ということは、ハイブリッドじゃないdarwinとほとんど同じなわけだ。
だったらGNUはdarwinをマイクロにして公開しちゃえば良いと思うんだが駄目なのか?
0300Be名無しさん
垢版 |
2010/06/12(土) 23:20:31
HurdがBSDというのは初耳なんだが。
ていうかGNUプロジェクトがGPLでないものは取り込まんだろ。
0301Be名無しさん
垢版 |
2010/06/12(土) 23:26:24
俺は大きな勘違いをしていたようだ。すまない。
0302Be名無しさん
垢版 |
2010/06/13(日) 15:12:15
一時期はフリーUNIXの大本命だったのにね>Hurd
蛇足だけどUNIXとしてはNetBSD
マイクロカーネルとしてはMINIX3が好き
他にはInfernoとかELATEとかQNXとか…主流になれない俺…orz
0304Be名無しさん
垢版 |
2010/06/13(日) 23:31:17
morphosのカーネルのquarkはQNXを参考にするつもりだったがL4を真似することにした。
みたいな事がwikiにあると思うんですが、L4やQNXなど(mach以外)を採用したり
参考にしてるOSってなにかありますか。ご存知でしたら教えて戴けますか。
なんだか、マイクロカーネルの人気が低いのはmachが原因な気がして、ならないのです。
0305Be名無しさん
垢版 |
2010/06/14(月) 12:07:22
たとえば分散OSで検索して出てくるのはmach以外も多くない?
0307Be名無しさん
垢版 |
2010/06/15(火) 12:52:26
ちょっとスレチだけどInfernoみたいなVM型カーネルも面白いな。
マシンパワーが有り余っている今、主にセキュリティ面のアドバンテージから流行ったりして。
0308Be名無しさん
垢版 |
2010/06/16(水) 17:05:57
カラーザウルスのOSはXTALだった
0310Be名無しさん
垢版 |
2010/09/03(金) 12:38:21
BeOSには夢が詰まっていた
0311Be名無しさん
垢版 |
2011/07/05(火) 15:38:14.65
>>302
> 一時期はフリーUNIXの大本命だったのにね>Hurd

一年前のレスにレスだが、そんな時代はない。
Mach/マイクロカーネルが充分な速度を得ることは不可能、
それがはっきりした頃に開発が始まった。
0312Be名無しさん
垢版 |
2011/07/05(火) 15:57:26.72
> Mach/マイクロカーネルが充分な速度を得ることは不可能、
> それがはっきりした

へぇー。

ということは BeOS も Mac OS X も充分な速度を得てないんですね。
勉強になりました(棒)
0313Be名無しさん
垢版 |
2011/07/06(水) 07:05:36.09
今はLinux使ってるけどHurdが出たらそっちへ行く…って人が結構居たがな
もうはるか昔の話しではあるが
0314Be名無しさん
垢版 |
2011/07/11(月) 14:59:01.39
>>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だけ。
0315Be名無しさん
垢版 |
2011/07/11(月) 19:39:20.46
MAC OS-Xはそうだね
で、BeOSは?
あと組込み系ならQNXとかも有るんだけど
Machだけ持ち出してマイクロカーネルは遅くて使いものにならないと言われてもねぇ
0316Be名無しさん
垢版 |
2011/07/16(土) 19:37:55.92
BeOSはほぼ死亡状態だからなあ。
Hurdの方がまだちゃんと維持されてるんじゃない?
ユーザ環境はDebianに出来るし。
0317Be名無しさん
垢版 |
2011/07/16(土) 20:43:51.41
ああ「マイクロカーネルは遅くて使い物にならないからHurdは全く期待されていなかった」
みたいなレスからの流れで実用的な速度のマイクロカーネルとして上げただけだから>BeOS
具体的には>>311からの流れ
Machベースで完全に外部サーバー形式にしてるのはHurdだけかね?
初期のBSD on MachもNext StepもMacOS XもOSF-1もパーソナリティ−を内包してたよね?
ある意味Machの遺伝子を受け継いでパーソナリティを入れたり出したりしているのがWindowsNT系ってのが皮肉かな
0318Be名無しさん
垢版 |
2011/07/17(日) 17:22:39.21
初期はBSD on Machじゃなくて、Mach on BSDとして実装された。
version 2まで。

NTカーネルはモジューラカーネルで、Mach 3とはちょっと仕組みが違うね。
COM/OLEの枠組みで提供されているところはMachのサービスサーバに似てるけど、
コアな部分はカーネル内に動的リンクされてる。
0319Be名無しさん
垢版 |
2011/07/18(月) 01:11:55.93
そういやHurdはL4ベースのもあるみたいだけどどんなだろ?
あとタンバネウム先生の総決算MINIX3.xも悪くないと思う
0321Be名無しさん
垢版 |
2011/10/28(金) 16:59:10.96
MachもMINIXも3.0で初めて本当のマイクロカーネルになったんだな
それいぜんはマイクロカーネルじゃないし…いや、なんとなく
0322Be名無しさん
垢版 |
2011/10/30(日) 21:39:01.41
現役のメジャーどころでまともなマイクロカーネルってWindows(Vita以降?)だけ!?
MacOSはmachベースでもマイクロカーネル的には作られてないらしいし
MINIX3やDragonflyBSDはマイナーだし…
0324Be名無しさん
垢版 |
2011/11/03(木) 22:01:21.27
現役?マイクロカーネル??(今)メジャー???
0325Be名無しさん
垢版 |
2011/12/05(月) 10:14:33.72
いまや純粋なマイクロカーネルは組み込み系商用製品の一部(QNXとか)とMINIX3だけか
Mach3〜とかも聞かなくなったし当時マイクロカーネルすげーって興奮していた身としては寂しい
でも個人で細々と作るにはマイクロカーネルのほうが手軽だよね!

…と間違ってLinux板に書いてしまった…orz
0326Be名無しさん
垢版 |
2011/12/12(月) 08:40:04.37
MkLinuxってあったよな。
Machがカーネルの奴。
0327Be名無しさん
垢版 |
2011/12/12(月) 14:42:21.42
「僕にはそれが面白かったから」の邦訳にはモノシリックと書いて在ったが
0328Be名無しさん
垢版 |
2012/03/11(日) 23:40:57.53
カーネルサンダース
レスを投稿する


ニューススポーツなんでも実況