- ベストアンサー
OSを作成する難易度について
以前、他サイトに初心者だけどOSを作ってみたいという質問があり、多くの回答者が、とても無理だと思いますよ。と回答していました。 OSを作るといっても色々なレベルがあると思いますが、MSに勤めている人が仕事として毎日携わっていれば10年もすれば作れるようになるものなのでしょうか? それとも、全世界で選ばれた一握りの優秀な人しか理解ですることさえも出来ない難しい世界なのでしょうか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
そんなことはないと思います。 どのくらいの完成度を目指すかにもよりますが、やる気と知識、時間があれば、作ることは不可能ではないです。 Windows OSやUnixなどの大部分はC/C++という言語で作られています。ですから、まずこのプログラミング言語をマスターする必要があるでしょう。 そして、コンピュータのあらゆる知識をつけなくてはならないでしょう。 これにはいい方法があります。現在ソースの公開されているOSを研究することです。 また、OSを作ってもそれが採用されるには、何か特長がなければなりません。既存のものを真似るのではなく、新しいものを作るのだとしたら、どんなものを作るのか、そういった企画力・斬新なアイディアも必要でしょう。コーディングは一生懸命勉強すれば誰にでもできる可能性を秘めていますが、この面で成功するのは、それなりの脳みそを必要とするでしょう。 一人で作るのではなく、みんなで協力して作る、という方法もあります。それはLinuxのようにオープンソース(ソースを公開すること)にすることです。こうすれば、世界中の人がOS作りに参加でき、さまざまな場合に特化したOSが生まれるでしょう。Linuxにはredhatやvineなどのさまざまなバージョンがあるのも、開発者が違うためです。 オープンソースのソフトを公開するに当たっては、http://sourceforge.jp/ここのようなサイトが助けてくれるでしょう。 他にもまったく新しいOSが次々とできています。たとえば、国産のものではhttp://mona.sourceforge.jp/これです。 とりあえずは、現在オープンソースになっているOSのソースを見て研究するのが一番いい方法だと思います。がんばってください!
その他の回答 (5)
- terra5
- ベストアンサー率34% (574/1662)
多種な知識、ハードウェアの理解等が必要なので初心者にはまず無理とは思いますが、 個人で作るのは可能でしょう。 ただ、Windowsまるごとみたいな物をOSとするなら、個人では無理でしょうけど。 だいたい、Linuxですら元は個人が作ったものですしね。 OSが無いようなシステムでは、OSと同等なことを全てプログラムして作りますし。 特に組込み機器用のOS本体なんてサイズ的には小さな物です。 ITRON,vxWorks,pSOS+等。 また、個人で趣味でOS作っているような人もいますし。
お礼
回答ありがとうございます。 なるほどOSといっても色々有り、簡単なものなら個人でも可ですね。
- ranx
- ベストアンサー率24% (357/1463)
> MSに勤めている人が仕事として毎日携わっていれば10年もすれば作れるようになるものなのでしょうか? 「MSに勤めている人」と言っても様々ですが、MSに限らず、基本ソフトの開発・保守に10年も携わっている 人で、そこそこ有能な人であれば、簡単なOSなら2~3年で作れると思います。 「簡単な」というのは、下記のレベルのことがとりあえずできるというレベルです。 ・複数のプログラムを見た目同時に動かせる。 ・複数のユーザーがアクセス権に従って資源を使える。 ・GUIを使って操作できる。 ・主だった周辺機器を制御できる。(これは、数が多いと単純に開発に時間がかかるかも。) ・ネットワークを介して他のコンピュータと資源を共有できる。 もちろん、そこそこ使えるというレベルで、広く使われているOSに匹敵する使いやすさを求めれば、 それこそ膨大な人手と時間が必要です。ただ、そうしたOSでも、基本的な扱いやすさというのは、 少数の設計者のセンスに依存しているような気がします。
お礼
回答ありがとうございます。 作って作れないことはないということですね。
- sha-girl
- ベストアンサー率52% (430/816)
>車のエンジンを一から設計することは、まず一般のひとにはむりでしょう。 市販されている車は無理でも古典的な自動車を設計する事は可能です。(大学で機械を専攻していました。) しかし市販されている自動車のネジ一本から、ボディの材質まで全てを網羅している人はいません。 それぞれの分野に特化しているのです。 OSも同じです。市販レベルにすることはできなませんが 古典的なものは時間さえ許せば一人で作成できます。 >OSの隅々までを理解するということでしたら可能でしょうか? それは無理です。 例えば高度なOSを作成するにはそのコンパイラも必要です。 優秀なコンパイラ作成には統計学など数学の知識やハードの知識も必要になります。 しかし全体像は理解できます。 例えば数学で公式自体の証明はできなくても、そういう公式が存在し 使う事は出来るということです。 プログラムにしたってjpegやmpeg、zipの圧縮技術を知っている人は稀でしょう。 でもそのライブラリを使う事は出来るのです。 市販レベルにまでもっていくには各分野で特化した開発者が必要なのです。 >全世界で選ばれた一握りの優秀な人しか理解ですることさえも出来ない難しい世界なのでしょうか? とはいってもリーナスやゲイツが天才であることは事実です。 ちょっと前にプログラムコンテストで12歳の子供が IEの6倍速いというブラウザを作って世間を驚かせましたよね。 この世界には、あきらかな天才はいます。
お礼
回答ありがとうございます。 >IEの6倍速いというブラウザを作って世間を驚かせましたよね。 そう言えばこの件を私が聞いた時は、事実かどうか不明でしたが、その後どうなったのでしょうね。
- old98best
- ベストアンサー率36% (1050/2908)
OSは、1人では無理です。 やる気と時間かあれば出来るはずですが、その時間というのが数万日の単位です。 1人では、一生かかってもできません。 どんな天才でも、1人ではWindowsに匹敵する物は作れません。 企業として組織で作るか、オープンソースでみんなで協力して作るかの、どちらかになるでしよう。 Linuxも、ライナス氏が全部作ったのではありません。 最初に基本となる部分だけをライナス氏が作って、ソースを公開して全世界の人たちが協力して発展させた物です。
お礼
確かに一人で作るのは、無理でしょうね。 OSの隅々までを理解するということでしたら可能でしょうか?
- strife
- ベストアンサー率53% (112/209)
#1です。 そうだったんですか。 ただ、windows osやUnixのように、実用に幅広く使われるほど優秀なOSを作るのは、世界でも極限られた人たちかもしれません。たくさんのOSの中で残っていくのはやはりしっかりした特長がありその特徴が非常に完成度が高いものだと思います。 たとえば Linux→安定している Windows→扱いやすい などです。
お礼
回答ありがとうございます。 もう少し具体的に言うと、車のエンジンを一から設計することは、まず一般のひとにはむりでしょう。 でも、車メーカーのエンジン部に勤めていると設計できるようになります。 ただ、これはざっくりした話で、細かな性能等のことは無視します。こんなところに突っ込みを入れないでくださいね。 そう言った意味で、OSも仕事で関わっていれば分かるようになるのでしょうか?という質問です。 それとも、ノーベル賞とは言いませんが、そう言うものをもらえるような限られた人しか理解できないものなのでしょうか? どうもそうではなさそうという理解をしました。
お礼
回答ありがとうございます。 とても私がOSを作るなどといった大それたことは考えていません。 ちょっと関心があったので質問しました。 人類の中で選ばれし人しか作れないというものでもなさそうですね。