はてなキーワード: マイクロカーネルとは
リーナスがLinuxを開発したというのは、どれほど「技術的に」すごい偉業だったのでしょうか?
生越 昌己
回答日時: 2022年4月23日 · 執筆者は841件の回答を行い、180.3万回閲覧されています
なんか呼ばれてる気がした。
「技術的に」はどうってことないものです。別の回答で私の書いた記事が引用されているので、その辺の歴史的なことはそっちを読めばわかると思います。「やればできる」範囲のことです。実際、あの記事には書きませんでしたが、そのちょっと前くらいに私の知人(日本人)がフルスクラッチのUNIX互換マイクロカーネルOSを独力で書いてます。これも彼に言わせれば、「教科書通りに実装しただけ」とのことです。なお、UNIX系OSの実装は、いくつか教科書が出ています。また、「NET2」という4.3BSDのフリー(ってことになっていた)な部分のコードも公開された後です。つまり、参考にするものは結構あったんです。
実はOSそのものは、「技術的にすごい」必要はないです。もちろん、いろんな点で「技術的にすごい」ことをする必要性のあるところはありますが、「普通の実装」であれば「教科書通りに実装しただけ」で作れます。「ぼくのかんがえたさいきょうのプロセスモデル」なんてものは必要ありませんし、「マイクロカーネル技術」なんてのも、あればあったでメリットありますが、なければなくても困りません。UNIXのその辺は普通の人達が思っているよりもずっと単純で、実装もそんなに難しいものではありません。ですから、特に「何かの互換品を作る」というのであれば、動かすだけであればそんなに大変ではありません。バランス感覚が要求されて難しい部分は既に他人が実装しているわけですし、「教科書」や「参考コード」はいっぱいありましたから。
Linuxが凄かったのは、一つは「運」です。多くの人が求めているタイミングで、まがりなりにも動くものを出すことができた。これは多分最大最強の「すごいこと」です。
Linuxがリリースするちょっと前に、AST(Andrew Tanenbaum
)はMinixの「次のバージョン」についての「やらないことリスト」を作っていました。野良で作られたMinix386を使っていた人達を始めとする「MinixがもっとUNIXになって欲しいと思っている人達」は、それを見てガッカリしたものです(私も)。Minixを実用品にしようとする流れに完全に背を向けた形で「教材としてのOS」に力点を置いたもので、ASTの立場を考えれば当然とは言え、いろいろ残念な思いをしました。Linuxがリリースされたのは、そのショックから覚めやらぬ時期だったので、それを見た人達は、まさしく
キタ――(゚∀゚)――!!
その次に凄かったのは、「それを実用品に持って行けた」ことです。「動く」ということと「実用品になる」ことの間には、とんでもなく深い「谷」があります。これを超えるのは、「運」も大事だし「技術」も不要じゃないんですが、それだけでできるものでもありません。そもそもLinus自身が「最初はそんなつもりはなかった」的なことを言ってますからね。それでもどこで気が変わったか、あの「隙だらけのカーネル」でも、なんとなく実用品として使えないことはない程度にはなっていた。
そして、「隙」も凄かった。Ver 0.01のカーネルなんて、本当に隙だらけ。たとえば、システムコールのエントリテーブルがあるのですが、その先の「実装」部分には「未実装」ってコメントが1行書かれているだけなんて状態だったのです。これは結構後の版でもありました。でも、その「隙」ゆえに、多くの人に愛され、「俺が何とかしてやろう」と思わせる。当然意図したものじゃないにせよ、これがなかったら「今」はなかったかも知れない。
等々、いろんな「凄さ」はありますが、それは技術そのものではありません。「凄さ」は別のところにあったのです。
独自に似たものを作ってた人達(私も含まれる)が、一斉に自分の作っているものを投げ出して協力しようと思うくらいには「凄く」また、「隙」があったんですから。「マイクロカーネルこそが」とか、まぁとりあえずマトモに他人の使える自前実装作ってから言ってよね。ちなみに当時の私はMach
をいろいろいじくってました。Ver 3.0になっていろいろいじれるようになってて、MS-DOSの上からbootする版を作った人がいたんで、「これでユーザ空間でOS書けるじゃん」って。
そんなわけで、「ぼくのかんがえたさいきょうのOS」を作らなかったのが、Linusの偉かったところ。愚鈍に「どうにかこうにかUNIXとして使える程度のもの」をちゃんと作っていいタイミングでリリースした。そこが全ての始まり。
「毒にも薬にもならない昔話」とはこのことではないだろうか。
老人ならせめて1行くらいは誰かの役に立つ言葉がにじみ出るものだが・・・
そういう生き方としてきたということだろう。
少し前にmacOSはLinuxではないとTwitterで話題になりました。その際に
といった内容のTweetを見かけたのですが「元になったのはBSDではなくMachなんだけどな~。昔を懐かしみつつ、調べながら何か書くか」と思いつつ、面倒になったので記憶のまま適当に書くことにしました。
Machは当時一世を風靡していたマイクロカーネル設計を採用したOSで、BSDとは全く違うOSです。
ただしBSD互換機能を利用していたユーザーは、内部に関心が無ければ
といった印象を持っていたのではないでしょうか。互換機能としては成功なのですが。
macOSのもとになったNeXTSTEPはMachを改造して始まりましたが、現在では別物であると考えるべきです。
macOSは直接にはMachから派生したもので、BSDではありません。ただし
など、BSDと誤解させる点があるのは確かです。
上記のUnix → BSD → Mach → NeXTSTEP → macOSではソースコードを利用しながらOSを作って行ったため共通の部分がありますが、これらとは全く関係無く独立して開発されたものです。
しかし現状ではNode.jsやPythonなどでプログラムを作ろうとした場合にシェルで使うコマンドはmacOSとLinuxでは共通するものも多く
日本は宗教に寛容な国であるので、境界線もあやふやで、曖昧だったりする。
例えば、イスラム教徒のことをムスリム(Muslim)と呼ぶということは知っていても、
その認識は、回教徒と呼んでいた頃から変わっていなかったりすることが多い。
襲撃を受けたフランスの新聞が、ムハンマド(Muhammad)を風刺画に書くことの何が問題か、
できるだけ、テロとは距離をおいた形で、少し話してみたい。
イスラームの話をする前に、我が身を振り返ってその曖昧ぶりを思い返してもらいたい。
まあ、宗教のテクニカルな話をすると、はてな村のギーク達は「あとで読む」を付けるだろうから、ちょっと例えてみよう。
まず、仏教には「世界はこういうものだ」という物理層がある。輪廻だとか解脱だとかだ。
モノリシックカーネルもマイクロカーネルも、OSの設計思想も、
結局のところ、ノイマン型アーキテクチャを基にした世界観の上に構築されているわけだ。
宗教とは、目の前に存在する「現実」をリバース・エンジニアリングしている。
その構造分析の結果、あるモデルにピッタリハマれば「悟った」と言われる。
般若心経は、Z80の手書きのニーモニック表と同様だと思えば、親しみも湧くだろうか。
さて、「現実世界」は中々簡単にディスアセンブル出来ないので、
できればインテルから直接、回路図なんかの技術資料をもらうみたいに、
「現実世界」を作り上げたり、その内部構成を知ってる相手に教えを請いたい。
その教えを請うことに成功したのが、預言者であるムハンマドだ。
大天使ジブリールに出会い、アッラーフの啓示を受けたとされている。
電気屋で悩んでたら嶋正利さんにCPUの論理設計について教えてもらえた、みたいなものだ。
まあこのへんでやめとくが、この教えてもらった世界の仕組みを書き留めたものが、クルアーン(コーラン)だ。
血なまぐさい話になるのでさらっと流すが、まあ日本でも大覚寺統と持明院統とが大揉めに揉めて南北朝同時成立したりしてたわけだ。
さて、「現実世界」を理解しハックしたのがムハンマドってことは、クルアーンに従って生活するのが良いわけだ。
つまり、本質的に宗教は「現実世界への関わり方」を示していることになる。
(残念ながら注釈でしか読んだことがなく、その美しいアラビア語による原典に触れたことはないが)
世界への関わり方は、時として人によって酷く違った解釈をされることがある。
デヴィット・フィンチャーの「セブン」という映画を観たことがあるだろうか?
キリスト教の七つの大罪をモチーフにした連続猟奇殺人事件と、それを追う刑事達の物語だ。
フィクションでは分が悪いと思うのであれば、エド・ゲインを思い出しても良い。
母親が狂信的なキリスト教信者であり、女性は悪魔だと教わって育ったと言う。
彼らは、その教えを忠実に守り、どちらかと言えば善意からその行為を行っている。
こうした連続殺人を観て、キリスト教信者をなじったり、キリストを風刺するのは、あまり面白いとは言えない。
彼らは、キリスト教信者ではあったかもしれないが、本来の教えとは異なる解釈をした、単なる犯罪者だからだ。
まあ、現代でもキリスト系のパロディー映画には苛烈な抗議文が届いたりするようだが、
過去、キリスト教会に対する風刺や批判は、即刻刑罰の対象になっていた時代が確かにあった。
「聖☆おにいさん」を書いたら暗殺され、それを民衆が支持する時代だ。
これは信教の自由と、表現の自由の、長い戦いの歴史がもたらした冷戦構造でもある。
表現者は、今回のフランスの新聞社への襲撃は、反対の異を唱えるだろう。
端的に言えば「オマエの意見には反対だが、それを主張する権利は命がけで守る」だ。
疎い人ほど、「ムスリムはそういう過激な宗教の人なんでしょ」という理解をする。
また、「その風刺はいかがなものか」と「表現の自由を守る」が、矛盾なく同時に主張できると判らない人も居る。
そうすると、「表現の自由を尊重しない宗教が、テロに走った」と捉えられてしまう。
「表現の自由を守るためには、テロに屈せず、また風刺画を描く」のが正しいと思われてしまう。
人は理屈ではなく感情で行動するので、こうした時に、出来る事はほとんど無い。
淡々と、「その風刺は侮辱なので訴えます」とフランスの法律の範囲内で行動するしかないのだろう。
ブリジット・バルドーは、何度もそうやって訴えられ、フランス司法はキチンと刑罰を下している。
(またフランスはユダヤ人に対する人種的差別には敏感で、割とちょくちょく出版社に罰金刑を出している)
日本人が日本を馬鹿にした出版社を襲撃する事件があれば、その日本人を非難し、襲撃された出版社側に立つだろう。
その後、日本を馬鹿にした出版社の表現の自由を守りつつ、淡々と法律に則って侮辱されたとして訴えるしかない。
今回、欧州の各種ムスリム団体がテロ行為を非難している事は、忘れてはいけないと思う。
Je suis Charlie(私はシャルリー)とつぶやく前に、Je suis Ahmed(私はアフメド)として呟いたムスリムの言葉も聞いて欲しい。
I am not Charlie, I am Ahmed the dead cop. Charlie ridiculed my faith and culture and I died defending his right to do so.