- ベストアンサー
ビル・ゲイツはどうやってWINDOWSを作ったの?
WINDOWSのようなOSを作るにはどうしたらいいのでしょう?たとえば、MACでWINDOWSと同じ、もしくはそっくりなOSを作るには何が必要なんでしょう?高度な知識や時間なんてのは無しですよ(^_^) それと、プログラミングにはやっぱりソフトが必要なんでしょうか?じゃあ、そのプログラミングソフトはどうやってできたんでしょう? 私、初心者の為、専門用語などは理解できませんので、その点踏まえてお答えいただけるとありがたいです。
- みんなの回答 (13)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
ひとつの答えかたとして数百万行のソースコードを書いて作った。 WindowsCEで150万行、XPの早大等に公開したのが500万行と言われています。 基本的に、これらはC言語とそこから派生進化した C++言語やC#言語によって書かれています。 CやC++はMS版の開発環境もありますが、言語仕様そのものは Microsoftで作られたものではありません。 しかし、MS CやVisual C++等の開発環境が C言語による開発を促進したのは事実です。 MacOSとWindowsを比較した上でのWindowsと 同じないし、そっくりなOSを作る方法は 模倣を繰り返すしか無いでしょう。 あるいは技術を買い取ったり提携する。 技術的には非公開の技術の完全互換は不可能だし 技術仕様を知るためには膨大な費用がかかる。 現実的にはできないし、ナンセンスだと言える。 また、"WindowsのようなOS"の定義を Windows用しかないような各種アプリケーションが動くOS と考えた場合には、それはPowerPCのMacintoshでは不可能。 CPUの違いを吸収する仕組みを作ったとしても それは、大幅に速度低下を招き、また完全な互換性確保は難しい。 むしろ、VirtulPC上でWindowsを動かすほうが楽。
その他の回答 (12)
- sha-girl
- ベストアンサー率52% (430/816)
#11です。 ビルゲイツ氏が作ったのはWindowsの前のソフト MS-DOSです。 Windows3.0以降 の開発や設計にはあまり関わっていないでしょう。 ちなみにWindows1.0はパネル式でした。 それをみてビルゲイツ氏はMacOSと違うと怒ったそうです。 ビルゲイツ氏の歴史です。彼が天才であることは間違えないです。。↓
- xcrOSgS2wY
- ベストアンサー率50% (1006/1985)
ビル・ゲイツはWindowsを作っていません。Windowsを作れる能力のある人間を、将来Windowsになる製品ごとマイクロソフトに取り込み、Windowsを作らせたのです。 ですので、仮に質問者さんがWindowsのようなソフトを作成したいという場合、人間や技術を見極める眼力とお金があれば、ビル・ゲイツと同じ方法でWindowsのようなソフトを作れる人間を雇い入れたり将来成長してWindowsのようなソフトになりそうなソフトを買い取ったりして、Windowsのようなソフトを作成させることができます。
- sha-girl
- ベストアンサー率52% (430/816)
#10さんの方に補足失礼します。 少なくともXpはC#言語では書かれている箇所はまず無いでしょう。 (xpにフレームワークは組み込まれていません。) 基本的にアセンブラとC/C++です。 C言語はUNIXと共にOSの開発言語として生まれました。 (ところで昔Win2000のコードの一部が流出して問題になりました。ソース全体の量としては大体400万行ぐらい ということです。) linuxに関してはカーネルのソースが公開されています。OSの作り方といったような書籍もあったと思います。 http://www.kernel.org/ プログラミングのソフト 例えば「C言語のコンパイラをどうやって作るのか」ですが 「C言語のコンパイラ」で作ります。 じゃ最初は?って事になりますが、最初の最初は アセンブラ、あるいは機械語直打ちで作っていきます。 ある程度できあがると、それを使って 「新しい自分」を作っていきます。
- yasu
- ベストアンサー率4% (1/24)
もう10年くらい前に確か、NHKだと思いますが、テレビ放映で見ました。 Windows に良く似たマルチタスクのOSを、日本のある有名CADメーカーが 試作として作っていて、それをたまたま日本に来ていたビル・ゲイツが 見て刺激を受けたという話です。 そのCAD メーカーの社員は、まさか世界中であんなに売れるとは 思わなかったと感慨深く答えてました。 番組名は「電子立国日本」だったような気がするのですが、定かではないです。
- koma1000nin
- ベストアンサー率30% (342/1133)
> MacでWindowsと同じ、もしくはそっくりなOSを作るには何が必要 なんでしょう? (答)膨大な費用と、膨大な人材と、膨大な時間が必要です。 > 高度な知識や時間なんてのは無しですよ (答)それじゃー、コピー手法がてっとりばやい。 > プログラミングにはやっぱりソフトが必要なんでしょうか? (答)ツールあってのプログラミングです。 プログラミングができても、ツールなしではコンピュー タに入れられません。 いまどき、ソフトなしでOSプログラムを組むなんて悠長 なことをしていたら、Version1.0を出す頃には、他社は Version5.0の作成に着手していますよ。 出し抜かれるってことです。 > そのプログラミングソフトはどうやってできたんでしょう? (答)悧巧な人の智慧一つでできたんです。 それから先は歴史の積み重ねです。 黎明期のプログラミングは、直接機械に書き込んでいたね。 (例-1)1010001110101001 1111001011000101 1000111011110000 0010111101100111 …という具合だ。実に非人間的、非生産的な言語だった。これを機械語と呼ぶ。 次に、ちょっと悧巧な人間が現れて、上記のようなプログラムを駆使して、次のように記述すれば、それを翻訳して(例-1)の機械語が得られるようにした。 (例-2) LD A,DATA ADD A,ONE SUB A,TOW ST A,GOO …という具合だ。実に人間的、生産的な言語になった。これをアセンブラ語と呼ぶ。 次に、もっと悧巧な人間が現れて、上記のようなプログラムを駆使して、次のように記述すれば、それを翻訳して(例-2)のアセンブラ語が得られるようにした。 (例-3) GOO = DATA + ONE - TOW …という具合だ。実に超人的、超生産的な言語になった。これをコンパイラ言語と呼ぶ。 だから、コンパイラというソフトがなければ、(例-1)のような原始的なプログラミングをしなくちゃならないのです。開発にお金と人材と時間を惜しんじゃなりませんのです、はい。 質問者さんはOSの開発を簡単に考えているようですが、まともなOSを製造しようとしたら、億の単位じゃできません。兆の単位が必要です。 でもね、完成して爆発的に売れれば、開発価格の100倍程度はすぐ取り戻せますので、夢をお持ちあそばせ、というところで講義終了といたします。
- bob_n
- ベストアンサー率35% (610/1732)
>WINDOWSのようなOSを作るにはどうしたらいいのでしょう?たとえば、MACでWINDOWSと同じ、もしくはそっくりなOSを作るには何が必要なんでしょう? 協力してくれる人たち、仲間を増やすことだと思います。 Linuxは、Linus Torvldsさんが開発したらしいです。それを、たくさんの人たちがいろいろなアプリケーションを作る人たちが出てきて、かなり、広まってます。 また、世界で一番使われているOSは、TRONで、坂村健一さんが作りました。NHKの番組でも放送されてましたが、アメリカとの貿易摩擦の関係で採用されなかったとか、しかし、組み込み用やビジネス用などいろいろあり、これも、いろいろな人たちが、普及するためにがんばっているとおもいます。 結局、OSを作っても、みんなが使ってくれなくては、意味がないです。 >プログラミングソフトはどうやってできたんでしょう? 最初は、コンピュターにわかる言語[機械語]をスイッチなどで入力してゆき、そうしてできたプログラムで、キーボードなどから入力できるようにし、...とだんだんに便利に使えるようになってきたのです。
- sapporo30
- ベストアンサー率33% (905/2715)
MS-DOS というOSがありました。 これは、No4さんが書いているように 買ったものです。 それを元手に、会社をつくって どんどん進化させていったのです。 Windowsも、windows 3.1 からメジャーに なりましたが、windows 3.0 なんていう 使えないソフトもありました。 windowsも95からOSと合体しましたが 3.1 までは、OS上で動く ソフトウエアでした。 そのソフトウエアは、プログラミング言語で 書かれていて、コンパイラが必要でした。 コンパイラもソフトですが、それは 別のコンパイラを使って作成したりします。 最初は、機械語といわれるもので作成してたり します。 道具を作り、それが進化して・・・ ということですね。 Windowsだと隠されている部分が多く わかりにくいと思いますが、 linux だと、公開されているので そのあたりを勉強して行くにはいいかもしれません。
- 2531kbps
- ベストアンサー率13% (183/1333)
それをゼロから作るのはほぼ不可能に近いので、 まずは作ったソフトウエアをFDDに記録できる環境くらいは最初から必要です。 もしそれがあったとしたら、 (1) IBM-PC互換機の仕様書を手に入れる (2) キーボード・モニタ・マウス等を読み書きするだけの小さなプログラムを作成 (3) (2)をコントロールする制御プログラム作成 (4) (3)の管理下で一定のルールに従って動くちょっと規模が大きいプログラムを(2)を利用して作成 (5) (4)を組み合わせたらワードとかエクセル等の人間が操作するようなソフトができる という感じじゃないかな。かなりおおざっぱですけどね。 (2)まではすでにあると仮定したので、途中で自作作品に差し替えればよいでしょう。
確かな記憶ではありませんが、マイクロソフトが最初にIBMに売ったOSはビルゲイツの自作ではなくプログラミング仲間から買った物だと思います。しかもIBMとの契約後にOSを探しまくったとか.... (確か、バトルオブシリコンバレーと言う題名の本になっていると思います。) 当時のOSは現在のHDDではなく、紙に穴を開け(何進法か)は判りませんが、それを専用の機械で作成し、起動時に読み込ませていた様です。
- pchan0022000
- ベストアンサー率42% (112/261)
CPU、メモリ、HDD、ディスプレイなどのハードウェアを制御するプログラムを作成すればいいんじゃないですかね。 プログラミングに使うソフトはコンパイラといいます。そのコンパイラはそれより前に作られたコンパイラで作られて、そのコンパイラは、それより前に作られたコンパイラで作られての繰り返しです。 もとを辿ればCPUに直接0と1の信号の流れを一定の法則で処理させて目的の結果を引き出していたんだと思います。プログラミングソフトは人間が分かりやすい言語で書いたものをその0と1の信号の羅列に変換しているだけです。 本気で作るんであれば2chでOS作ってるそうなんで参考にしてみたらどうですか。本もでてます。 サイト http://mona.sourceforge.jp/ 本 http://www.amazon.co.jp/exec/obidos/ASIN/4839917639/249-8784234-4340362#product-details
- 1
- 2