5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

マイクロカーネル vs モノリシックカーネル

1 :Be名無しさん:03/10/12 15:34
一度本気で語ってみたい題目。リーナスvsタネンバウムで
いろいろネタは出てるが、時代は変わっている。もう一度
語ってみようじゃないか。

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

何でもいいので語ろう。

153 :Be名無しさん:03/11/07 22:35
>>147-148
君も漢だね!

154 :Be名無しさん:03/11/08 01:53
結局、図書館でホコリかぶってるような本を読んで、
「これがマイクロカーネルか!!」って感銘を受けても
今流のマイクロカーネルは、それとはだいぶ違うって事?

155 :Be名無しさん:03/11/08 10:37
>>154
まあそうかな。
LC氏の見解が一番まともって結論?こういうのは現在実装してる人の
意見に耳を傾けるのが近道。たとえばFreeBSDやNetBSDのメンテナ
とかね。*BSDがマイクロカーネルなのかは知らんが。
評論家にとっては定義がぐちょぐちょだと自分の金づるがいっぱい
できるメリットがあるので、あまりまともに受けないほうがいいわな。
実装する人とは逆。

156 :Be名無しさん:03/11/08 20:05
マイクロカーネルって要は、カーネルモジュールをユーザプロセスとして
動作させて、ユーザーアプリケーションはマイクロカーネルに対しては
システムコールで、OSサーバーに対しては共有メモリ(つまりMMU)を使ったIPCで
それらと通信するってことなんじゃないのかな。これがMachの実装形態だと
思うんだけど、他の形もあるのかな。どうなんだろ。
Lさんが散々言ってるように、肝心なことは概要じゃなくて実装の細部こそが
問題だってことでしょ。LinusもMachがパフォーマンスを上げるために、
実装があまりに複雑に成り過ぎているって指摘してるけど、Mach的なモデルが
優れていると言うのなら、そういった複雑な実装を全て見ないとダメだってことで。

157 :Be名無しさん:03/11/08 21:18
MachやL4やITRONなんかと、FreeBSDやNetBSDやLinuxやNWSOSや
OSASKは種類が違う。陸上のトラック走と、マラソン/競歩くらいジャンルの
差がある。だから前者をいじった知識が後者の全体構成にそのまます
んなり適用できるわけではない。
この国はそんなこともわからないエンジニアだらけのOS後進国という
自覚を持つように。特にいい年したおっさんは。

158 :Be名無しさん:03/11/08 22:12
>>157
どうちがうの?具体的に説明してみて

159 :Be名無しさん:03/11/09 03:48
むかーしむかし、王子の発言にこんなのが。

>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」などをごらんください。

160 :Be名無しさん:03/11/09 14:55
>>156
しかし、名無しの意見にも一理あると思うんだよな。
正確に言うと仮想マシンとの区別をどこにつけるかってことだけど、
たとえば「参照の前に特定のテストコードを挟まなければいけない」とかの規約を
作ったアドレス参照がすべて問題ないことを示すバイナリコードを
カーネルモードで動かした場合、
これをモノリシックカーネルとするか仮想マシン上のユーザモードを利用した
マイクロカーネルと見るかに分かれてもいいんじゃないか?
で後者の立場に立ったとき、この程度のものを仮想マシンと見るかどうか考えると・・・
ってことにはならないかな。

まあ話がズレてきてはいるんだが。

161 :ITRON名無しさん ◆4WD27e3i1o :03/11/10 10:05
> マイクロカーネルって要は

Machをもってマイクロカーネルを推察するのもどうかと。
それはさておき、どんな構成だろうと、真っ当に動きゃなんでもOKと思うんだが。
マイクロカーネルとは? とか言い出すからこじれるのであって。

162 :Be名無しさん:03/11/10 11:32
>Machをもってマイクロカーネルを推察するのもどうかと
いや、だからMach的なモデル以外のものがあるなら教えてと書いてあるじゃん。

163 :ITRON名無しさん ◆4WD27e3i1o :03/11/10 12:27
Mach"的"ってなによ?

164 :Be名無しさん:03/11/10 13:23
>>163
もういいです。結構です。

165 :Be名無しさん:03/11/10 16:37
Machでシステムコールとshmemが混じってるのは性能への妥協だろ。
純粋なマイクロカーネルならモジュール間通信は全部メッセージ。
(実現がINTかshmemかIPCかはいろいろある)
性能は当然犠牲になる。性能だけほしいならモノリシックにしとけ。

Machてそんなに人気あるのか?

166 :Be名無しさん:03/11/10 22:23
>>165
MacOS X → Mach

167 :Be名無しさん:03/11/11 22:28
別にMach人気でMacOSXが売れてるわけでわない罠

168 :Be名無しさん:03/11/17 05:45
>>112
>>121
OS/2ならフツーに1msの精度が出ますが...

169 :Be名無しさん:03/11/17 07:28
>>121

>実際には人間は50msくらいずれないと音がずれていると
>認識できんらしいから、DTMやるだけならそんなに時間精度いらんのだが

1音同士のずれでは気づかないけど、パターン化された音の連なりだと
かなりシビアになるらしい。

170 :Be名無しさん:03/11/22 12:09
machよりl4を題材にした方がいいような気がする。

171 :Be名無しさん:03/11/22 15:49
>>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

こんなもんですか?

174 :Be名無しさん:04/02/19 23:17
タネンバウム萌え

175 :Be名無しさん:04/03/27 07:40
てかさー、マイクロカーネルって発展途上だからモノリシックカーネルと比べるのがまちがいなような・・・

マイクロカーネルの欠点ってプロセス間通信のオーバーヘッドが大きいのが理由らしいけどさ

ハードウェアMMUみたいに、CPUプロセッサーにハードウェアIPCうわおまえらなおががうがうがy


176 :Be名無しさん:04/05/02 14:34
てかさ、すでに存在しているカーネルを設計が古いだっけ?
そういって否定するのはおかしいと思う。
生まれてきた人間にクローンは駄目だって言うみたい。
差別だと思うんだけど。


177 :Be名無しさん:04/07/29 21:53
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
http://www.pichi-pichi.com/index3.html

180 :Be名無しさん:05/02/02 10:18:07
>>178
何がいいたのかよく分りません

181 :ITRON名無しさん ◆4WD27e3i1o :05/02/02 23:33:02
>>180
要するにサービスルックアップの仕組みはどうなっとんじゃゴルァって
話をしたいんじゃないのかしら? 違うかしら?


182 :178:05/02/03 15:31:19
>>181
その通りです。

183 :終了厨房:05/02/03 21:08:38
ネームサーバ

================= 糸冬 =================

184 :Be名無しさん:05/02/09 15:14:39
サンクス>>177
そうなんだ、良く分かります多。Machがマイクロカーネルの初実装ですかね?
Mach開発者がm$に居る事までわかりましたが、Machは氏に体?

185 :ITRON厨房:05/02/17 16:35:47
>>183

よーするに、

 URI -> IPアドレス



 サービス名 -> ポート番号

は同じような事ってこったな。


186 :Be名無しさん:05/02/26 18:19:35
簡単に言うと Linux の方が物知り。

187 :Be名無しさん:05/03/19 16:57:06
>僕は遅いプログラムが嫌いで、手元の速いマシンの上に、ノロノロ動いているプログラムがあって、
>コンピュータ全体の性能が落ちているのには耐えられない。
http://www.linux.or.jp/JF/JFdocs/linus-lecture/design.html (>>17のリンク一つ前)
Linusたん(;´Д`)ハァハァ
そりゃマイクロカーネルOut of 眼中なわけだわw

188 :Be名無しさん:2005/03/21(月) 09:54:52
カーネルにウィンドウシステムをぶち込む英断が欲しいね

189 :Be名無しさん:2005/04/02(土) 17:52:48
>>188
(゚听)イラネ

ところで窓鯖2003はIIS6の一部までカーネルモードで動かす荒技やってる・・・
http://www.atmarkit.co.jp/fwin2k/dnsvrguide/iisperf/iisperf_02.html

今広告キャンペーンでWindowsServer2003+IIS>Linux+Apacheなんてやってるけど
そんなの当然としか思えないw
セキュリティ・ホールのないIIS書ける自信はどこから来るのかと(ry

こんなことするぐらいなら
今となっては立場MS>>>Intel・AMDなんだから(IntelにはAMD64互換EM64Tにしたメリットないし)
「モード遷移軽いCPUに汁( ゚Д゚)ゴルァ!!」言ってくれた方がよっぽど(・∀・)イイ!!

190 :Be名無しさん:2005/04/06(水) 13:40:11
近い未来に実用化されるといわれる量子コンピューターに搭載されるOSは、
マイクロカーネルだろうか、それとも、モノリシックカーネルだろうか。

その前に、量子コンピューターに僕らの言う「OS」が走るかどうかも、疑問だけどね(w

191 :Be名無しさん:2005/04/11(月) 20:54:41
( >>96>「リアルタイムOSは速い」わけでわないぞ。 )
あらゆるところでアルゴリズムの選択基準が最大時間↓優先(だいたい平均時間↑)だもんねー

192 :終了厨房:2005/05/25(水) 18:15:37
UNIX板かLinux板あたりに移動しない? ちゃんと相手するよ。
machスレでもいいし。

193 :Be名無しさん:2005/09/12(月) 15:57:20
http://pc.watch.impress.co.jp/docs/2005/0912/kaigai211.htm
>ある業界関係者は「Windows NTの当初の思想だったマイクロカーネルに、再び立ち戻ったように見える」と語る。
>実際、Microsoft自身もMicrokernelized hypervisor(マイクロカーネル化ハイパーバイザ)と呼んでいる。

194 :Be名無しさん:2006/01/13(金) 02:00:48
離脱

195 :Be名無しさん:2006/02/28(火) 01:49:32
マンセー

196 :Be名無しさん:2006/06/13(火) 14:50:49
age

197 :Be名無しさん:2006/06/21(水) 02:35:22
リアルタイムとは、要求される最小時間単位と同等もしくはそれ以上の時間分解能があることを意味する。
例えば、1時間に1回だけ動けばよいシステムでは、最小単位時間が1分でも十分なリアルタイム性があるということだ。

198 :Be名無しさん:2006/07/21(金) 19:48:28
>>184
俺 "Optimizing PowerPC Code" ってアセンブラの本持ってるんだけど、その著者は
だいぶ前からラシッドと同じ M$ Research にいて、もはや PowerPC とは関係ない研究を
している模様。
こうやって金で有能な人を幽閉して技術が外に出ないようにしているのかなと。

>>189
今更その手の常識的な話はツマンネ
Linux だって kHTTPd ってのがあるじゃん。
それに、NFS サーバとかも、今ってカーネルモードで動いてるんでしょ。

199 :Be名無しさん:2006/07/22(土) 14:58:28
今はカーネルモードどころか専用ハードウェアで動かす時代だしなあ

200 :Be名無しさん:2006/08/13(日) 08:08:40
>>190
つうか量子コンピュータで動くアルゴリズムを記述できる言語をまず何とかしてくれ。

201 :Be名無しさん:2006/08/15(火) 01:55:50
>>200
サンスクリット

202 :Be名無しさん:2006/12/26(火) 18:13:05



59 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)