コンピュータは物理的には回路です.ユーザーの入力に対し,適切な処理(計算)が出来るのはOSが入ってるお陰です.新しいソフトをインストールできるのも,OSのお陰だと思ってます.

では,最初はただの回路だった物体に初めてOSを入れる時はどのようにしているのでしょうか・・?
ここで初めて質問をするので,マナーが成ってないなどございましたら申し訳ありません.

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2015/08/11 15:25:08

ベストアンサー

id:a-kuma3 No.2

回答回数4973ベストアンサー獲得回数2154

こちらをどうぞ。

多くのコンピュータシステムでは、メモリ(ROMまたはRAM)上の実行コードだけを実行できる。しかし、最近のオペレーティングシステムはハードディスクドライブやLive CD、フラッシュメモリ(USBメモリなど)に格納されている。つまり、コンピュータの電源を入れた直後、メモリ上にはオペレーティングシステムは存在しない。コンピュータのハードウェアだけではオペレーティングシステムがやっているような複雑なことはできないので、ディスクから任意のプログラムをロードするというようなことはできない。ここで『オペレーティングシステムをメモリにロードするためには、オペレーティングシステムがメモリに存在していなければならない』というパラドックスが生じる。

このパラドックスの解決法は、ブートローダ(またはブートストラップローダ)と呼ばれるROM上にある特殊な小さいプログラムを使うことである。このプログラムはオペレーティングシステムの全ての機能を持っているわけではないが、オペレーティングシステムをロードして起動するための別のプログラムをロードするには十分な機能を持っている。多段階のブートローダがよく使われ、ある小さなプログラムから別の小さなプログラムを呼び出すということを繰り返して、最終的にオペレーティングシステムが起動される。
 

ブート - Wikipedia

一次ブートローダとしてパソコンでよく見かけるのは BIOS ですかね(Mac 知らない)。

Wikipedia の記述で「多くのコンピュータシステムでは」とあるのは、ブートローダがなくて、最初から実行プログラムがメモリに格納されているものがあるからです。
例えば、マイコン電子炊飯器などと言われているような家電を制御している内臓のマイクロコンピュータとか。
それでも、最近のは やることも多くなってきたりしてこともあり組み込み用の OS とかもあったりします。
組み込み用の、といっても、それなりに汎用的なものなので、そいつらを起動するためのブートローダがあったりします。

他1件のコメントを見る
id:a-kuma3

だいたい、そんな感じです。
大体 2段みたいですけど。

電源を入れると極単純な 1次ブートローダが起動される。
1次ブートローダは、2次ブートローダを起動する。
2次ブートローダは、もうちょっと複雑で、OS をどこから読み込むか、という問い合わせをしたりします。
2次ブートローダが OS をメモリに読み込んで、その入り口を起動する。
というような感じかと。

2015/08/05 23:41:04
id:SORAmamechan

少しずつ霧が晴れてきた気分です.
どうもありがとうございます.

2015/08/06 11:37:15

その他の回答1件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

OSというのは ソフトの一種です。

昔のコンピューターには ROMというプログラムを入れるメモリの部品がありました。
コンピューターのスイッチを入れると そのメモリから読み込んだデータを CPUが実行して動くことになります。

id:SORAmamechan

なるほど。そのOSを最初に取り込む時、どのようなことが起こってるのでしょうか・・

2015/08/05 23:13:17
id:a-kuma3 No.2

回答回数4973ベストアンサー獲得回数2154ここでベストアンサー

こちらをどうぞ。

多くのコンピュータシステムでは、メモリ(ROMまたはRAM)上の実行コードだけを実行できる。しかし、最近のオペレーティングシステムはハードディスクドライブやLive CD、フラッシュメモリ(USBメモリなど)に格納されている。つまり、コンピュータの電源を入れた直後、メモリ上にはオペレーティングシステムは存在しない。コンピュータのハードウェアだけではオペレーティングシステムがやっているような複雑なことはできないので、ディスクから任意のプログラムをロードするというようなことはできない。ここで『オペレーティングシステムをメモリにロードするためには、オペレーティングシステムがメモリに存在していなければならない』というパラドックスが生じる。

このパラドックスの解決法は、ブートローダ(またはブートストラップローダ)と呼ばれるROM上にある特殊な小さいプログラムを使うことである。このプログラムはオペレーティングシステムの全ての機能を持っているわけではないが、オペレーティングシステムをロードして起動するための別のプログラムをロードするには十分な機能を持っている。多段階のブートローダがよく使われ、ある小さなプログラムから別の小さなプログラムを呼び出すということを繰り返して、最終的にオペレーティングシステムが起動される。
 

ブート - Wikipedia

一次ブートローダとしてパソコンでよく見かけるのは BIOS ですかね(Mac 知らない)。

Wikipedia の記述で「多くのコンピュータシステムでは」とあるのは、ブートローダがなくて、最初から実行プログラムがメモリに格納されているものがあるからです。
例えば、マイコン電子炊飯器などと言われているような家電を制御している内臓のマイクロコンピュータとか。
それでも、最近のは やることも多くなってきたりしてこともあり組み込み用の OS とかもあったりします。
組み込み用の、といっても、それなりに汎用的なものなので、そいつらを起動するためのブートローダがあったりします。

他1件のコメントを見る
id:a-kuma3

だいたい、そんな感じです。
大体 2段みたいですけど。

電源を入れると極単純な 1次ブートローダが起動される。
1次ブートローダは、2次ブートローダを起動する。
2次ブートローダは、もうちょっと複雑で、OS をどこから読み込むか、という問い合わせをしたりします。
2次ブートローダが OS をメモリに読み込んで、その入り口を起動する。
というような感じかと。

2015/08/05 23:41:04
id:SORAmamechan

少しずつ霧が晴れてきた気分です.
どうもありがとうございます.

2015/08/06 11:37:15
  • id:deep_one
    最初期のコンピューターはトランジスタ回路の配線自体で動作が決まっていたはず…もはや今の基準でコンピューターと行って良いのか疑問だが。
  • id:deep_one
    そういえば、「CPUの気持ち」という本があったな…と思って調べたら10年前の本だった。

    http://www.amazon.co.jp/CPU%E3%81%AE%E3%81%8D%E3%82%82%E3%81%A1%E2%80%95IA%E2%80%9032%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3%E3%83%BC%E3%81%A8WindowsXP%E3%81%AE%E4%B8%8D%E6%80%9D%E8%AD%B0%E3%81%AA%E9%96%A2%E4%BF%82-%E5%94%AF%E9%87%8E-%E5%8F%B8/dp/4839917280
  • id:TransFreeBSD
    >最初期のコンピューターはトランジスタ回路の配線自体で動作が決まっていたはず
    最初期は真空管とリレーでした。
    プログラムは配線とスイッチで行う方法からほどなくしてメモリ格納式になりました。
    https://ja.wikipedia.org/wiki/%E8%A8%88%E7%AE%97%E6%A9%9F%E3%81%AE%E6%AD%B4%E5%8F%B2#.E5.88.9D.E6.9C.9F.E3.81.AE.E3.82.B3.E3.83.B3.E3.83.94.E3.83.A5.E3.83.BC.E3.82.BF.E3.81.AE.E6.AF.94.E8.BC.83
    トランジスタ化されたのはその後ですね。
  • id:a-kuma3
    >最初のトランジスタはゲルマニウムの点接触型しかなく、真空管よりも信頼性が低くて、利点は低消費電力だけだった[75]。
    の辺りとか面白い :-)

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません