IRON MAIDEN

私が思うことですが、最近まで、本格的なOSのソースコードは、なかなか手に入りませんでした。これは特に日本で言えることです。
これには、利権問題とかあるんですが、LinuxやFreeのBSD(open/Net/Free等)が本格的なOSなのか?ということもあります。
ユーザプログラムをカスタマイズすることに長けている方で、Linuxヴァージョン2.0以前はまったく使い物にならない・・・という人もいます。
これは当たっていると思うのですが、ことカーネルを弄う人間にとっては、こういうことが当てはまらなかったりします。
要するに、使う人間次第で、道具としてのOSは、如何様にも変化するもので、その定義や求めることも、まちまちだと言うことです。

えらそうなことを言っているが何様だ!

とおっしゃりたい方もおられるかもしれませんが、何か発言をするとき、私の仕事や、私が何者かなど全く関係ありません。
何者だろうと、私は私ですし、あなたはあなたでしょう。あなたが私だと少し恐ろしいですよね。
(よく出入りする掲示板ではこの点は書いたりしていますが)
日本人はWEBにまで発言力や威光を持ち込みたがる方がよくいますが、せめてこのサイトではそれは忘れてください。
こういうサイトを読もうという奇特な方は、(ゴメンナサイ)対象としているもので何かしようとしている方か、既にやっている方が多いと思うんですが、私にとって、それは凄いことです。
こういうドキュメントは、これからもいろんな方が書いて果てしなく増えていくでしょう。
其処に私のものが少しあっても大丈夫ですよね?出来れば、見ていただいた何人かの方は、『ふ〜ん』とか、唸らせたいですが・・・
それだけではなくて、例え一人でも感動してくれる方がいれば、満足かなと・・・

話が反れましたが、深く掘り下げていきましょう。

1-簡単な紹介
羅列すると、Linuxとはフリーで(オープン)、UNIXライクで(かなり嘘が入っています)、インターネット用に最適化されたOS(かなり無茶なやり方です)です。
一般の方には、かなり敷居の高い玩具です。

昔はハッカーやクラッカーと呼ばれる方が使っていたと宣伝されていますが、現在そういう方は、FreeBSDや他のUNIXに行っているようです。

2-フリーな玩具
一番話題になるのが、この理由ですが、この言葉には幾つかの意味があります。
まず、使用料が必要ないこと。Windowsにもフリーソフトというものが在りますが、一般にそれとは違い、無料という意味ではありません。
しかも現在は、企業媒体を主とする方たちの参入により、この神話は崩れつつあります。
うっかりしていると、著作権法などに違反することもあります

3-UNIXライク
この言葉に騙される方が非常に多いです。内部を覗いている方は解かると思いますが、全く似ていません。
UNIXというブランド名は、Windowsがメジャーになっている今でも、かなり通用します。
『なんだか解からんがUNIXって凄いんだぞ!』ということです。
この点の戦略というものもちらほら見え隠れする訳です。
創始者のリーナスが何度も『UNIXじゃねーよ!』と言うのも、そういうところからでしょう。
勿論、Windowsや純粋Mac等と比べると、よほどUNIX寄りではありますが・・・
内部(カーネル内)は、かなり無茶苦茶だったりしますが、もし、本当に一人の人間が創り、現在のヴァージョンもすべての機能を理解しているなら、これは脅威です。
同じことは、他のOS開発の創始者の方にも言えます。

4-大部分がC言語で描かれている
私が気に入っている理由の一つに、これがあります。

5-どこから生まれたか?
Linuxの起源は、1991年、フィンランド共和国に遡ります。Suomen Tasavaltaに照準を合わせなければなりません。
当時、Linus Torvaldsという学生が(かなり風変わりだった様です)UNIXとC言語を勉強していました。
彼はMINIXという、小さな教育、研究用のオペレーティングシステムを使っていました。
そのOSの不足している点を補うことを目標にはじめたようですが、自分ならもっと巧く出来る・・・という考えにいたったようです。
彼は新規にオペレーティングシステムを描きはじめました。それがLinuxで、入念な検査後、その年の10月に、インターネットに投稿しました。

たった一人の内職からはじまったことが、コンピューティング社会を一変させてしまいました。

ちょっと考えてください。自分でOSを新規に創れますか?
Linuxにも間違いなどあったようですが、すべて整合性を取り、内部機構が打ち消しあわず、
きちんと動くものは、並大抵の技術では創れないと思うのですが。

6-スタンドアロンとしてどうか?
もう暫く・・・ずっと?マニアの玩具の域を出ないでしょう。

7-カーネルコンパイル
最近のOSでは、大抵、カーネルコードの一部を動的にロード/アンロードすることが出来るはずです。
伝統的なUNIXでは、この点は静的にやられています。
私はLinuxのこの部分を、かなり優れている部分だと思います。

8-ノンプリエンプティブ
カーネルは他のスレッドにデータを変更されない、且つ、割り込まれたりされないことを前提として処理をしています。
任意のタイミングで、特権モードの処理の流れを中断できない・・・
このため、リアルタイム性が要求される処理には向きません。
(部分的に実現する方法として、固定プリエンプションポイントを設けていますが、それでも完全なリアルタイムオペレーティングシステムにはなりません)

9-SMPサポートが成熟していない
そのまんまです

紹介としては、こんな感じになるのではないでしょうか?あまり込み入ったことを書くと、何の為の紹介か解からなくなってしまうので、この辺にしておきます。