リブート コード。 リブート (動画プラス) / miwa ギターコード/ウクレレコード/ピアノコード

リブート (動画プラス) / miwa ギターコード/ウクレレコード/ピアノコード

リブート コード

をブート中のインターネット公衆電話 ブート(: boot)または ブートストラップ(: bootstrap)は、システムの電源投入時、あるいはシステムの後、やなどなんらかの基本的なをに展開し、ユーザプログラムを実行できるようにするまでの処理の流れをいう。 ブートローダ(: boot loader)は、以上のプロセスで使われるローダ、すなわちのにある目的のプログラムを読み出し、の主記憶に書き込むプログラムのことである。 電源投入時のブートのことを「コールドブート」、リセットされたことによるブートを「ウォームブート」という。 ウォームブートでは、コールドブートにおける最初のほうの手続きのいくつかが必要無い場合もあり、そういった手続きを省略することもある。 または ブートストラップローダ(: bootstrap loader)という名前は、のつまみ革(: strap)を自分で引っ張って自分を持ち上げようとするイメージから来ている。 つまり、コンピュータはプログラムをロードしないと動作できないが、プログラムをロードするプログラムはどうロードするのだ? というパラドックスに着目した呼称である。 歴史 [ ] 初期の電子計算機のひとつであるは、いわゆるコンピュータではなく、プログラムはパッチボードを利用した配線によっておこなわれ、また解決したい問題の計算式の初期値などを最初から設定して計算を行うような計算機であった。 ノイマン型として実用的に稼働したとされる初期のコンピュータの(1949年稼働)では、イニシャルオーダ : initial orders と呼ばれたプログラムが、ロータリースイッチで実現された一種のROMからハードウェア的に主記憶に書き込まれる。 イニシャルオーダ非常に技巧的なわずか数十語のコードで単純ながらアセンブラ的機能を実現しており、紙テープを読み込んでそれを機械語に変換し主記憶の残りの部分に書き込む(英語版Wikipediaのを参照)。 EDSACのプログラム技法は成書「 The Preparation of Programs for an Electronic Digital Computer」として広まり、コンピュータPC-1他のイニシャルオーダ イニシャルインプットルーチンとも がEDSACのイニシャルオーダの影響を受けて作成された。 EDSACの技法は成書として公刊されたため、同様のローダーがこの時代の多くのコンピュータで開発・使用されたが、そのローダをどうロードするか、という点では各種の手法があった。 当時はそれらのうちの1つの手法を「ブートストラップ方式」と呼んでいた。 の方式がブートストラップである。 1950年代の 以降 、何らかのブート処理でプログラムやOSを主記憶にロードするようになった。 のではこれを "Initial Program Load" と称している。 Load Card、 Load Tape、 Load Drum などと表示されたボタンを押下するとハードウェアの論理回路が対応する周辺機器からブートプログラムを読み込み、それを実行する。 するとブートプログラムがより大きなプログラムを自動的にロードする。 「ブート」という言葉は1958年からこの意味で使われている。 言葉の歴史としては、自分自身で自分のための土台を用意する、といったような意味では、の分野にもブートストラップという手法がある。 またの1941年の中篇SFの題 By His Bootstraps も、そのような意味でブートストラップという語を使っている。 以降のでは、フロントパネルにあるスイッチ群を操作して短いプログラムを入力する方法が採用された。 初期のミニコンピュータはを使っており、電源を切っても情報は失われない。 従ってブートローダーは消去されない限りメモリ上に存在し続けるが、のあるプログラムを実行して全メモリの内容を上書きしてしまうこともある。 でも同様の手法を採用したが、後にDECはオプションで32ワード(64バイト)のブートプログラムを格納したROMを追加できるようにした。 ダイオードが通電する部分のビットは1になり、通電しないようダイオードを除くと対応するビットが0になる。 DECは様々な周辺機器からのブートに対応するため、同様のカードを BM792-Yx シリーズとして販売した。 集積回路のROMが登場する以前 [ ] 1952—1956 には "load" ボタンがあり、それによってパンチカード、磁気テープ、磁気ドラム装置のいずれかから先頭のを読み込む。 そのうち先頭の18ビットは命令として実行され、通常はメモリに追加のワード群を読み込む命令になっている。 1958 では同様にリーダーからプログラムをロードする。 80文字が格納されたパンチカードの内容は 001 から 080 番地のメモリに読み込まれ、001番地から命令として実行開始する。 命令は通常いつも同じで、この先頭80文字分の情報をアセンブリエリアに転送し、2枚目以降のパンチカードの内容を読み込んでプログラムを構成する。 アセンブリエリアに転送し終わると、080 番地の命令へジャンプし、そこにある命令(カードを読み込む命令)を実行することで、次のパンチカードを読み込み、その情報を処理する。 つまり、パンチカード1枚ずつが次のパンチカードをブートストラップする形になっている。 1964 には144個のトグルスイッチを備えた dead start と呼ばれるパネルがある。 このパネルで12ワードの情報を0番の周辺プロセッサ PP0 のメモリに転送する。 それを命令列として実行することでPP0は自身のメモリに必要なコードをロードし、他のPPを初期化する。 1965 には "BOOT" ボタンがある。 1967 にはブートコマンドがあった。 では、 The Unix Programmer's Manual 第1版(1971年11月3日)に "boot" への言及がある。 1975年、アルベルトCiaramellaはCSELTに、電話交換機のコンピュータをブートするデバイスの特許を取得した。 ブートローダは、現代のROMメモリに常駐し、ブートプロセスはシングルボタン圧力から起動した。 デバイスは、アドオン(例PDP-11用)などの任意の種類のコンピュータに適していた。 集積回路によるROMの時代 [ ] 以上で述べたような古い時代において、電源投入直後の機能があれこれと話題になったことには、いくつかの原因がある。 古いコンピュータは、• メモリ空間が狭いことが多く、その空間を少しでも自由に使える主記憶のRAMに当てたい• ROMにあたる記憶装置が特殊な装置であったりして容量も少なく、また主記憶と同様に読み出しができるものではなかった 等の理由から、この過程を技巧的なブートシーケンスにせざるをえなかったのである。 、具体的には、、、の時代になると、以上のような制限はかなり緩和され、としてメモリ空間の一部にブートプログラムを存在させ、電源投入後やリセット後、プロセッサは単にそのアドレスから実行を始めればよい、というようになった。 その結果、一般的なユーザのブート時の関心事は、ハードディスク上のファイルシステムにあるOSを、どうロードして実行するか、というような点に移った。 やなどでは、最初からROMに実行イメージを展開しておき、ブートしたらそのまま目的のシステムが実行される、というような形態もある。 の最初のコンピュータ 1976 にはPROMチップが搭載されていたため、フロントパネルが不要になった。 当時の広告では "No More Switches, No More Lights... the firmware in PROMS enables you to enter, display and debug programs all in hex from the keyboard. "(スイッチはいらない、ライトもいらない…PROM内のファームウェアで、キーボードからプログラムを入力し、表示し、デバッグできる)と宣伝している。 これはそれ以前の などに対比してアピールしているのである。 などのは、電源を入れると上のOSがすぐさま起動する。 そのため、二次記憶装置からOSをロードする機能が省かれている。 システムのカスタマイズやアクセサリ、サポートソフトウェアなどはフロッピードライブからブート時に自動的にロードされる。 電源投入から一定時間フロッピーがセットされない場合やフロッピー内に追加コンポーネントが見つからない場合、それらのロード処理はタイムアウトする。 これによりブランクディスク挿入を防ぐ。 ブートローダ [ ] 多くのシステムでは、メインメモリ上の実行コードだけを実行できる。 しかし、最近のオペレーティングシステムはや、(など)に格納されている。 つまり、コンピュータの電源を入れた直後、メモリ上にはオペレーティングシステムは存在しない。 コンピュータのだけではオペレーティングシステムがやっているような複雑なことはできないので、ディスクから任意のプログラムをロードするというようなことはできない。 ここで『オペレーティングシステムをメモリにロードするためには、オペレーティングシステムがメモリに存在していなければならない』というが生じる。 このパラドックスの解決法は、 ブートローダ(または ブートストラップローダ)と呼ばれるROM上にある特殊な小さいを使うことである。 このプログラムはオペレーティングシステムの全ての機能を持っているわけではないが、オペレーティングシステムをロードして起動するための別のプログラムをロードするには十分な機能を持っている。 多段階のブートローダがよく使われ、ある小さなプログラムから別の小さなプログラムを呼び出すということを繰り返して、最終的にオペレーティングシステムが起動される。 ブートストラップのロードに使用するスイッチ群がある。 初期のプログラム可能なコンピュータは、トグルがフロントパネルに並んでいて、それを操作することによってブートローダをプログラム格納域に置いてからを起動するようになっていた。 そうするとCPUはブートローダを実行して、オペレーティングシステムを外部記憶メディア(例えばあるいは)からロードすることができた。 例えば、、 、、初期の、 などの初期のマイクロコンピュータなどがスイッチを使っていた。 フロントパネルのスイッチ群は直接CPUに命令列を渡すのにも使われた。 例えば、PDP-1 はハードウェアにローダーを組み込んでいて、オペレータが "load" ボタンを押すだけで紙テープリーダからプログラムをメモリにロードすることができる。 この紙テープリーダにはブートローダーが格納されており、それを実行すると二次ブートローダーまたはオペレーティングシステムを外部ストレージ媒体(紙テープ、パンチカード、ディスク装置など)からロードする。 ブートローダのは以下の8個の命令に単純化できる。 P レジスタに 9 をセット• 紙テープ読取装置の準備ができているかチェック• もし準備できていなかったら、2 へジャンプ• 紙テープ読取装置からアキュムレータに 1バイト読み込む• テープが終了したら 9 へジャンプ• アキュムレータの内容を P レジスタが指すアドレスに書き込む• P レジスタに 1 を加算• 2 へジャンプ 次の例は 1970年代のニコレット・インストゥルメント社 のミニコンピュータに基づいている。 二次ローダが紙テープから逆の順番に読み込まれることに注意。 P レジスタに 106 をセットする• 紙テープ読取装置の準備ができているかチェック• もし準備できていなかったら、2 へジャンプ• 紙テープ読取装置からアキュムレータに 1バイト読み込む• アキュムレータの内容を P レジスタが指すアドレスに書き込む• P レジスタから 1 を減算• 2 へジャンプ 二次ローダの長さは、ちょうど最後に 7 番地を上書きする長さになっている。 6 番地の命令を実行した後、7 番地から二次ローダを実行し始める。 二次ローダはオペレーティングシステムが書いてあるもっと長いテープが紙テープ読取装置にセットされるのを待つ。 ブートローダと二次ローダの違いは紙テープ読取装置がエラーを発生したときに対処できるかどうかである。 当時のハードウェア(例えば)では紙テープ読取装置は頻繁にエラーを起こした。 一部システムは人間のオペレータか周辺機器からのブート信号を受けて、固定の小さな命令列をロードしてメモリ上の特定のアドレスに配置し、1つのCPUを初期化してその位置から実行を開始させる。 その命令列は一般に何らかの周辺機器(オペレータがスイッチ操作で機器を指定する場合もある)からの入力操作を開始するものである。 他のシステムは、周辺機器またはに直接ハードウェアコマンド列を送り、単純な入力操作(例えば、システムデバイスの0番セクタをリードし、メモリの1000番地にリード結果を置く)を実施させ、小さなブート用命令列をメモリ上にロードさせる。 マイコンと呼ばれた時代の初期のパーソナルコンピュータ、だいたい16ビット時代の初期の頃までのマシンでは、が標準の装備でなかったこともあり、最初からメモリ空間にROMとしてプログラムが展開されて存在し、ほとんどにおいてはBASIC(ROM BASIC)を起動するというものがもっぱらで、外部記憶装置からシステムを読み込むブートシーケンスは存在しなかった。 を標榜したの一部のパソコンのように例外もある。 最近のコンピュータではブート処理はがROM内のソフトウェア(例えば、や)を既定のアドレスから実行することで開始される(CPUはリセットされると外部からの助け無しにこのソフトウェア実行をするよう設計されている)。 そのソフトウェアはブートに使用できる各種デバイスを探し、最も優先順位の高いデバイスの特殊な領域(一般には)から小さなプログラムを読み込む。 ブートローダには特有の制限、特にそのサイズの制限がある。 例えば IBM PC や互換機では、一次ブートローダは必ず446(Windows NT では、ディスクシグニチャがオフセット440の位置にあるため、440バイト)でになければならず、その後に64バイトのパーティションテーブルが続き、最後が という値で終わっていなければならない(BIOS はその値を見て正しいブートローダであると判断する)。 1995年以前の などでは、OS とハードウェアが非常に密接に関連しており、標準のOS以外でブートすることができない。 そのような場合、一般にとられる解決策としては、標準OSに属するプログラムとしてブートローダを設計し、それがシステムをハイジャックして別のOSをロードする。 これは例えばアップルがというのOSのブートに使った技法で、それを流用して各種フリーウェアのOSや などがブート可能となっていた。 90年代によく使われていたMS-DOS環境からLinuxを起動するloadlin()も同様のものである(もっともMS-DOSには保護がないので、ハイジャックというほど大袈裟なものでもない)。 一般的な一次ブートローダーとしては、以下のものがある。 二次ブートローダ [ ] ブートローダが読み込む小さなプログラムは、オペレーティングシステムではなく二次ブートローダであることが多い。 、、、などがある。 二次ブートローダは実際のオペレーティングシステム OS をロードすることができ、最後にOSを実行する。 OSは初期化処理を行い、をロードし、OSの通常の処理に必要とされる他のプログラムをロードする。 この場合異なるOSを指定することもできるし、同じOSの異なるバージョンを指定することもできるし、単に異なるオプションを指定することもでき(例えば、で起動するなど)、OSではなく独立して動作するプログラムを指定することもできる(メモリテスタ 、ゲームなど )。 ブートローダーに別のブートローダーをロードさせることもできる。 例えば、GRUBがBOOTMGRをロードすることも可能である。 一般にデフォルト設定があり、ある時間内にユーザーが選択しなければデフォルト状態でブートを行う。 なお、ではが二次ブートローダのような役割を果たしている。 ただし、MS-DOSを単体で起動することもできる。 ブート処理はコンピュータがユーザとやりとりできるようになった時点で完了したと見なされる。 あるいは、が普通のアプリケーションを実行できるようになった時点で完了と見なすこともできる。 典型的なのブートは約 1 分ほどかかる。 そのうち、15秒ほどが POST が費やす時間で、残りはオペレーティングシステムのロードにかかる時間である。 OSロード後の経過時間はシステム内のコアを同時に起動することで3秒程度にまで短縮可能で、例えばでそのようなブートが可能である。 一方、大きなサーバでのブートは全てのサービス起動まで何分かかかる。 多くのではほとんど即座にブートが完了しなければならない。 たとえば、テレビが映るまでに1分かかったのでは使い物にならない。 そのため、オペレーティングシステム全体を ROM やに格納して、直接実行できるようにしている。 ただし、ROMやフラッシュメモリはRAMに比べると、2007年現在の水準では1000倍と桁違いに遅い為、など高機能な機器ではROMの内容をRAMに書き出して実行している。 などではROM上の直接実行形式で用意されたブートストラップローダーがROM上の圧縮されたプログラム本体をRAMに展開して本体プログラムが起動するという実装がとられている。 フラッシュブートローダ [ ] 組み込みシステムでは、製造工程や保守工程でプログラムを変更するためにフラッシュブートローダが必須である。 フラッシュブートローダはフラッシュメモリ内にあり、リセット後に最初に実行されるアプリケーションである。 フラッシュブートローダを出荷製品に入れておくと、アプリケーションの更新・修正、設定の変更が容易に行える。 ベースのフラッシュブートローダが一般的であり、診断プロトコルを使って通信・ダウンロードを行う。 ネットワークブート [ ] 多くのコンピュータは経由でブートを行う機能を持っている。 この場合、二次ブートローダ はのディスクに格納されており、それを のような単純なプロトコルでクライアントに転送する。 内蔵ディスクを持たないは、ネットワークブートによって起動される。 実装としては PXE などが存在する。 PC互換機のブートデバイス [ ] 対応のブート可能なフラッシュドライブ。 の一種 とはオペレーティングシステムをロードする前に初期化しなければならないデバイス(周辺機器)のことである。 これには一つの()、ひとつの出力機器()、初期プログラムロード用機器(、、、など)がある。 古いシステムではこれはフロッピーかハードディスクと限定されていた。 最近のPCのは様々なデバイスからのブートをサポートしており、ローカルのハードディスク(あるいはディスク上の)、、デバイス(フラッシュドライブ、ハードディスクドライブ、光学ディスクドライブなど)、フラッシュメモリカード、ネットワークカード(を使用)などがある。 古いPCでは、デバイス、、ドライブなどに限定されていた。 一般にユーザーがBIOSでブート順を設定することができる。 1番目をDVDドライブ、2番目をハードディスクと設定した場合、BIOSはまずDVDドライブからのブートを試みる。 そしてDVDがセットされていないなどの理由でブートに失敗するとローカルなハードディスクからのブートを試みる。 DVDにの を入れておけば、ハードディスクにLinuxをインストールしなくともLinuxを起動することができる。 これがの一例であり、ユーザーはPOST実行後にどちらのOSを起動するかを選択できる。 この場合は、電源投入時に(あるいはリセット時に)CDを入れておくか否かで起動するOSを選択しているが、一般的にはキーボードを使ってBIOSメニューを表示させて選択する(一般に F11 または ESC を押下)。 IBM PC互換機のブート手順 [ ] 電源投入直後、ないしリセットにより、は、まずの存在する 0xFFFF0 番地のメモリにある命令を実行する(ここはx86を使用するどんなコンピュータでも同じである)。 このメモリ位置は(での)システムメモリのほぼ最後尾にあたる。 そこにはBIOSの初期プログラムの位置へのジャンプ命令が含まれていて、BIOSに制御が渡る。 BIOS初期プログラムは POST を実行して必要な機器が正常に動作するかをチェックする。 また、同時にそれら周辺機器の初期化も行う。 次にBIOSは事前に設定されたデバイスリストを順にあたって、ブート可能な周辺機器を探す。 ブート可能デバイスとは、読み込みが可能で、第1セクタの最後尾に 0xAA55 という(ブートシグニチャ)があるデバイスである。 の boot0 MBR の そのようなデバイスが見つからない場合、エラーが発生してブート処理は停止する。 BIOSがブート可能デバイスを発見すると、そのを 0x7C00 というアドレス(:形式では 0000:7C00 だが、一部のBIOSでは 07C0:0000 を使用)にロードして実行する。 ハードディスクドライブの場合、ブートセクタは MBR と呼ばれ、その内容はには依存しない。 MBRのコードはテーブルを調べてアクティブなパーティションを探す。 それが見つかったら、MBRのコードはパーティションのをロードして実行する。 ブートセクタはオペレーティングシステムに依存することが多いが、その機能はをロードして実行することである。 カーネルはさらに初期化処理を続行する。 アクティブなパーティションがなかったり、アクティブなパーティションのブートセクタが不正だった場合、MBRは第二ブートローダをロードして制御を渡す。 第二ブートローダは(多くの場合ユーザーに入力してもらって)パーティションを選択して、そのブートセクタをロードする。 パーティションのブートセクタは一般にオペレーティングシステムのカーネルをロードする。 一部システム(特に最近のや )はのを採用している。 準拠のファームウェアを持つ比較的新しいシステムでは、MBR か のあるドライブからブートでき、標準のMBRブートローダを使わない。 古い16ビットBIOSインタフェースは一部のx86用OS(Windows 3. 多くのPCはチップを搭載していれば、BIOSチップメーカー名、、そのチップのIDなどを起動時に表示する。 同時に利用可能なメモリ容量など、そのコンピュータに関する情報も表示する。 その他のブート手順 [ ] 他のプロセッサは異なるブートモードを持つ。 やのブート方法として以下のような技法がある。 や一部のDSPは、ブートROMを内蔵しており、単独で洗練されたブートシーケンスを実行でき、NANDフラッシュ、SD、MMCカードなど各種ソースからブートプログラムをロードできる。 各種デバイスへの対応を回路で実現するのは困難であり、その代わりにブートROMを集積している。 ブートROMであれば、複数のデバイスからのブートを試行することもできる。 また、、、などから診断プログラムやブートローダをロードすることもできる。 不揮発性メモリ上のブートソフトウェアが何らかの原因で消去されてしまった場合なども、この機能を使って復旧することができ、製造直後に不揮発性メモリにプログラムを格納するのにも使える。 などのハードウェアデバッグ用インタフェースを使ってシステムの制御を獲得することもできる。 そのようなインタフェースを使ってブートローダーを不揮発性メモリ(フラッシュなど)に書き込むことができる。 また、デバッグ用インタフェースを使ってRAMに診断コードやブートコードをアップロードすることもでき、アップロードしたコードをプロセッサに実行させることができる。 ブートROMを集積していないプロセッサで、不揮発性メモリの内容が消去された場合、これを使って復旧を図る。 一部のマイクロコントローラはブート可能な不揮発性メモリにブートコードを書き込むことができる単純なプロトコルのインタフェースを用意している。 製造時にそのようなインタフェースを使ってブートコードを不揮発性メモリに書き込む。 システムをリセットすると、マイクロコントローラが自動的に不揮発性メモリ上のプログラムを実行開始する。 例えば などがこの方式である。 この際のインタフェースはハードウェアで実装されていることが多い。 ブートROMを持つプロセッサの場合、ブートROM上のソフトウェアでピンをそのようなインタフェースに使うこともできる。 多くの DSP には以下のようなブートモードがある。 シリアルモードブート• パラレルモードブート(HPIブートなど) DSPはやマイクロコントローラが別に存在するシステム設計ということが多く、それらがシステム全体の動作、割り込み処理、外部イベント処理、ユーザインタフェースなどを担当しており、DSPは信号処理だけを扱う。 その場合DSPは別のプロセッサからブートすることができ、そのプロセッサを「ホストプロセッサ」とも呼ぶ。 ホストプロセッサは「マスター」とも呼ばれる。 DSPは自前のブート用メモリを持たないことが多く、必要なコードをホストプロセッサから供給してもらう必要がある。 携帯電話、モデム、オーディオプレイヤー、ビデオプレイヤーなどがそのような構成を採用していることが多い。 チップは、電源を入れるとその回路構成情報を外部からロードする。 IBM の Initial Program Load [ ] IBM ではブート処理を IPL Initial Program Load と呼ぶ。 の設計に由来する用語であり、今でも使われている。 と以降のシステムでは、スイッチ群とLOADボタンの代わりに、グラフィックス・コンソール上の選択エリアを使用する。 グラフィックス・コンソールとしては () 系と 系がある。 そのうち2番目と3番目の8バイトグループがチャネルコマンドワード CCW として解釈され、さらに続けてスタートアッププログラムがロードされる。 同じプロシージャがディスク装置だけでなく、やカードリーダなどからもスタートアッププログラムをロードする。 指定されたデバイスは実際のオペレーティングシステムを主たるストレージからロードする専用プログラムを格納していなければならない。 これを "IPL Text" と呼び、ディスクにこれを置くには DASDI Direct Access Storage Device Initialization プログラムかそれと等価なプログラムをOS上で実行する。 なお、IPL対応の磁気テープやカードデッキは "IPL Text" が存在する状態で配布されている。 バロースのテープからのブート [ ] () では、ブートストラップROMもハードウェアIPLも持たない。 その代わり、システムをリセットすると、フロントパネルに装着されたテープから機械語を読み込んで、これがRAM上のブートローダとなる。 この方式では、装着するテープを診断プログラムに代えれば、通常のOSも立ち上げられないほどの障害が発生している状況でシステムの診断が可能となる。 クイックブート [ ] (例えばなど)をOSとして採用している各種機器にはクイックブートと呼ばれる素早い起動が可能なものもある。 エラー [ ] Windows では、ブート処理中に解決できないエラーが発生すると、いわゆる状態になる。 脚注 [ ] [] 注釈 [ ]• EDSACの場合はロータリースイッチなどによるハードウェアから成る仕掛けからロードされた。 ハインラインは軍時代に無線を扱っているので、そちらからこの語を採った可能性がある。 なお、邦題「時の門」は、 The Time Gate と改題されて収録された作品集があり、そちらから採ったものと思われる。 : Nicolet Instrument Corporation• MBRに仕様にもよるが、アクティブなパーティションはプライマリパーティションである必要はない。 しかし、いずれにしてもブートセクタに適切なコードがあることは必須である。 インテル版では、古いBIOSとの互換モードをファームウェアでサポートしている。 一部制御ユニットには8台のデバイスしか接続しないが、16台以上を接続するものもある。 実際、3830 DASD コントローラはオプションで32台のドライブをアドレッシングする。 出典 [ ]• Wiktionary• phrases. org. 2012年4月7日閲覧。 Buchholz, Werner 1953. Proceedings of the I. 41 10 : 1273. Dictionary. com. 2012年4月7日閲覧。 TheFreeDictionary. com. 2012年4月7日閲覧。 Oxford English Dictionary. PDP-11 Peripherals Handbook, DEC, 1975, p. 4-25• ROMカードの写真• From Gutenberg to the Internet, Jeremy M. Norman, 2005, page 436,• Van Vleck, Tom. 2010年1月18日閲覧。 Bensoussan, A. 1967-06-30. Multics System Programmer's Manual. Dunten, S. ; T. Van Vleck 1968-05-03. Multics System Programmer's Manual. ; 1971-11-03. 1st edition ed. 2008年1月7日閲覧。 Ciaramella, Alberto. "Device for automatically loading the central memory of electronic processors. " U. Patent No. 4,117,974. 3 Oct. 1978. Apple Ad, Interface Age, October 1976• coreboot. 2010年11月20日閲覧。 2010年11月20日閲覧。 2012年4月7日閲覧。 Intel. 2008年1月7日閲覧。 2012年4月7日閲覧。 Chapter 17. 2007年4月14日閲覧。 Brown, Eric 2008年10月2日. linuxdevices. com. 2012年9月7日時点のよりアーカイブ。 2010年11月20日閲覧。 Larabel, Michael 2008年6月14日. Phoronix. 2010年11月20日閲覧。 YouTube. 2010年11月20日閲覧。 gadgets-reviews. com 2008年7月29日. 2010年11月20日閲覧。 2010年11月20日閲覧。 Brown, Eric 2008年10月3日. 2013年1月28日時点のよりアーカイブ。 2010年11月20日閲覧。 YouTube. 2010年11月20日閲覧。 Brown, Eric 2008年11月7日. linuxdevices. com. 2012年9月14日時点のよりアーカイブ。 2010年11月20日閲覧。 関連項目 [ ]• - 組み込みシステム用のオープンなブートローダ• 、、、• 第二ブートローダ• - 原義• - その逸話が「boot(靴)」「bootstrap(靴紐)」の語源とされている 外部リンク [ ] ウィキメディア・コモンズには、 に関連するカテゴリがあります。 - (2013年4月27日アーカイブ分)• [ ]• de Boyne Pollard, Jonathan 2006年. Frequently Given Answers. 2012年4月7日閲覧。 de Boyne Pollard, Jonathan 2006年. Frequently Given Answers. 2012年4月7日閲覧。 de Boyne Pollard, Jonathan 1996年. Frequently Given Answers. 2012年4月7日閲覧。 de Boyne Pollard, Jonathan 2006年. Frequently Given Answers. 2012年4月7日閲覧。

次の

miwa リブート ギターコード 「凪のお暇」 主題歌: ギター・作曲 クラブ

リブート コード

をブート中のインターネット公衆電話 ブート(: boot)または ブートストラップ(: bootstrap)は、システムの電源投入時、あるいはシステムの後、やなどなんらかの基本的なをに展開し、ユーザプログラムを実行できるようにするまでの処理の流れをいう。 ブートローダ(: boot loader)は、以上のプロセスで使われるローダ、すなわちのにある目的のプログラムを読み出し、の主記憶に書き込むプログラムのことである。 電源投入時のブートのことを「コールドブート」、リセットされたことによるブートを「ウォームブート」という。 ウォームブートでは、コールドブートにおける最初のほうの手続きのいくつかが必要無い場合もあり、そういった手続きを省略することもある。 または ブートストラップローダ(: bootstrap loader)という名前は、のつまみ革(: strap)を自分で引っ張って自分を持ち上げようとするイメージから来ている。 つまり、コンピュータはプログラムをロードしないと動作できないが、プログラムをロードするプログラムはどうロードするのだ? というパラドックスに着目した呼称である。 歴史 [ ] 初期の電子計算機のひとつであるは、いわゆるコンピュータではなく、プログラムはパッチボードを利用した配線によっておこなわれ、また解決したい問題の計算式の初期値などを最初から設定して計算を行うような計算機であった。 ノイマン型として実用的に稼働したとされる初期のコンピュータの(1949年稼働)では、イニシャルオーダ : initial orders と呼ばれたプログラムが、ロータリースイッチで実現された一種のROMからハードウェア的に主記憶に書き込まれる。 イニシャルオーダ非常に技巧的なわずか数十語のコードで単純ながらアセンブラ的機能を実現しており、紙テープを読み込んでそれを機械語に変換し主記憶の残りの部分に書き込む(英語版Wikipediaのを参照)。 EDSACのプログラム技法は成書「 The Preparation of Programs for an Electronic Digital Computer」として広まり、コンピュータPC-1他のイニシャルオーダ イニシャルインプットルーチンとも がEDSACのイニシャルオーダの影響を受けて作成された。 EDSACの技法は成書として公刊されたため、同様のローダーがこの時代の多くのコンピュータで開発・使用されたが、そのローダをどうロードするか、という点では各種の手法があった。 当時はそれらのうちの1つの手法を「ブートストラップ方式」と呼んでいた。 の方式がブートストラップである。 1950年代の 以降 、何らかのブート処理でプログラムやOSを主記憶にロードするようになった。 のではこれを "Initial Program Load" と称している。 Load Card、 Load Tape、 Load Drum などと表示されたボタンを押下するとハードウェアの論理回路が対応する周辺機器からブートプログラムを読み込み、それを実行する。 するとブートプログラムがより大きなプログラムを自動的にロードする。 「ブート」という言葉は1958年からこの意味で使われている。 言葉の歴史としては、自分自身で自分のための土台を用意する、といったような意味では、の分野にもブートストラップという手法がある。 またの1941年の中篇SFの題 By His Bootstraps も、そのような意味でブートストラップという語を使っている。 以降のでは、フロントパネルにあるスイッチ群を操作して短いプログラムを入力する方法が採用された。 初期のミニコンピュータはを使っており、電源を切っても情報は失われない。 従ってブートローダーは消去されない限りメモリ上に存在し続けるが、のあるプログラムを実行して全メモリの内容を上書きしてしまうこともある。 でも同様の手法を採用したが、後にDECはオプションで32ワード(64バイト)のブートプログラムを格納したROMを追加できるようにした。 ダイオードが通電する部分のビットは1になり、通電しないようダイオードを除くと対応するビットが0になる。 DECは様々な周辺機器からのブートに対応するため、同様のカードを BM792-Yx シリーズとして販売した。 集積回路のROMが登場する以前 [ ] 1952—1956 には "load" ボタンがあり、それによってパンチカード、磁気テープ、磁気ドラム装置のいずれかから先頭のを読み込む。 そのうち先頭の18ビットは命令として実行され、通常はメモリに追加のワード群を読み込む命令になっている。 1958 では同様にリーダーからプログラムをロードする。 80文字が格納されたパンチカードの内容は 001 から 080 番地のメモリに読み込まれ、001番地から命令として実行開始する。 命令は通常いつも同じで、この先頭80文字分の情報をアセンブリエリアに転送し、2枚目以降のパンチカードの内容を読み込んでプログラムを構成する。 アセンブリエリアに転送し終わると、080 番地の命令へジャンプし、そこにある命令(カードを読み込む命令)を実行することで、次のパンチカードを読み込み、その情報を処理する。 つまり、パンチカード1枚ずつが次のパンチカードをブートストラップする形になっている。 1964 には144個のトグルスイッチを備えた dead start と呼ばれるパネルがある。 このパネルで12ワードの情報を0番の周辺プロセッサ PP0 のメモリに転送する。 それを命令列として実行することでPP0は自身のメモリに必要なコードをロードし、他のPPを初期化する。 1965 には "BOOT" ボタンがある。 1967 にはブートコマンドがあった。 では、 The Unix Programmer's Manual 第1版(1971年11月3日)に "boot" への言及がある。 1975年、アルベルトCiaramellaはCSELTに、電話交換機のコンピュータをブートするデバイスの特許を取得した。 ブートローダは、現代のROMメモリに常駐し、ブートプロセスはシングルボタン圧力から起動した。 デバイスは、アドオン(例PDP-11用)などの任意の種類のコンピュータに適していた。 集積回路によるROMの時代 [ ] 以上で述べたような古い時代において、電源投入直後の機能があれこれと話題になったことには、いくつかの原因がある。 古いコンピュータは、• メモリ空間が狭いことが多く、その空間を少しでも自由に使える主記憶のRAMに当てたい• ROMにあたる記憶装置が特殊な装置であったりして容量も少なく、また主記憶と同様に読み出しができるものではなかった 等の理由から、この過程を技巧的なブートシーケンスにせざるをえなかったのである。 、具体的には、、、の時代になると、以上のような制限はかなり緩和され、としてメモリ空間の一部にブートプログラムを存在させ、電源投入後やリセット後、プロセッサは単にそのアドレスから実行を始めればよい、というようになった。 その結果、一般的なユーザのブート時の関心事は、ハードディスク上のファイルシステムにあるOSを、どうロードして実行するか、というような点に移った。 やなどでは、最初からROMに実行イメージを展開しておき、ブートしたらそのまま目的のシステムが実行される、というような形態もある。 の最初のコンピュータ 1976 にはPROMチップが搭載されていたため、フロントパネルが不要になった。 当時の広告では "No More Switches, No More Lights... the firmware in PROMS enables you to enter, display and debug programs all in hex from the keyboard. "(スイッチはいらない、ライトもいらない…PROM内のファームウェアで、キーボードからプログラムを入力し、表示し、デバッグできる)と宣伝している。 これはそれ以前の などに対比してアピールしているのである。 などのは、電源を入れると上のOSがすぐさま起動する。 そのため、二次記憶装置からOSをロードする機能が省かれている。 システムのカスタマイズやアクセサリ、サポートソフトウェアなどはフロッピードライブからブート時に自動的にロードされる。 電源投入から一定時間フロッピーがセットされない場合やフロッピー内に追加コンポーネントが見つからない場合、それらのロード処理はタイムアウトする。 これによりブランクディスク挿入を防ぐ。 ブートローダ [ ] 多くのシステムでは、メインメモリ上の実行コードだけを実行できる。 しかし、最近のオペレーティングシステムはや、(など)に格納されている。 つまり、コンピュータの電源を入れた直後、メモリ上にはオペレーティングシステムは存在しない。 コンピュータのだけではオペレーティングシステムがやっているような複雑なことはできないので、ディスクから任意のプログラムをロードするというようなことはできない。 ここで『オペレーティングシステムをメモリにロードするためには、オペレーティングシステムがメモリに存在していなければならない』というが生じる。 このパラドックスの解決法は、 ブートローダ(または ブートストラップローダ)と呼ばれるROM上にある特殊な小さいを使うことである。 このプログラムはオペレーティングシステムの全ての機能を持っているわけではないが、オペレーティングシステムをロードして起動するための別のプログラムをロードするには十分な機能を持っている。 多段階のブートローダがよく使われ、ある小さなプログラムから別の小さなプログラムを呼び出すということを繰り返して、最終的にオペレーティングシステムが起動される。 ブートストラップのロードに使用するスイッチ群がある。 初期のプログラム可能なコンピュータは、トグルがフロントパネルに並んでいて、それを操作することによってブートローダをプログラム格納域に置いてからを起動するようになっていた。 そうするとCPUはブートローダを実行して、オペレーティングシステムを外部記憶メディア(例えばあるいは)からロードすることができた。 例えば、、 、、初期の、 などの初期のマイクロコンピュータなどがスイッチを使っていた。 フロントパネルのスイッチ群は直接CPUに命令列を渡すのにも使われた。 例えば、PDP-1 はハードウェアにローダーを組み込んでいて、オペレータが "load" ボタンを押すだけで紙テープリーダからプログラムをメモリにロードすることができる。 この紙テープリーダにはブートローダーが格納されており、それを実行すると二次ブートローダーまたはオペレーティングシステムを外部ストレージ媒体(紙テープ、パンチカード、ディスク装置など)からロードする。 ブートローダのは以下の8個の命令に単純化できる。 P レジスタに 9 をセット• 紙テープ読取装置の準備ができているかチェック• もし準備できていなかったら、2 へジャンプ• 紙テープ読取装置からアキュムレータに 1バイト読み込む• テープが終了したら 9 へジャンプ• アキュムレータの内容を P レジスタが指すアドレスに書き込む• P レジスタに 1 を加算• 2 へジャンプ 次の例は 1970年代のニコレット・インストゥルメント社 のミニコンピュータに基づいている。 二次ローダが紙テープから逆の順番に読み込まれることに注意。 P レジスタに 106 をセットする• 紙テープ読取装置の準備ができているかチェック• もし準備できていなかったら、2 へジャンプ• 紙テープ読取装置からアキュムレータに 1バイト読み込む• アキュムレータの内容を P レジスタが指すアドレスに書き込む• P レジスタから 1 を減算• 2 へジャンプ 二次ローダの長さは、ちょうど最後に 7 番地を上書きする長さになっている。 6 番地の命令を実行した後、7 番地から二次ローダを実行し始める。 二次ローダはオペレーティングシステムが書いてあるもっと長いテープが紙テープ読取装置にセットされるのを待つ。 ブートローダと二次ローダの違いは紙テープ読取装置がエラーを発生したときに対処できるかどうかである。 当時のハードウェア(例えば)では紙テープ読取装置は頻繁にエラーを起こした。 一部システムは人間のオペレータか周辺機器からのブート信号を受けて、固定の小さな命令列をロードしてメモリ上の特定のアドレスに配置し、1つのCPUを初期化してその位置から実行を開始させる。 その命令列は一般に何らかの周辺機器(オペレータがスイッチ操作で機器を指定する場合もある)からの入力操作を開始するものである。 他のシステムは、周辺機器またはに直接ハードウェアコマンド列を送り、単純な入力操作(例えば、システムデバイスの0番セクタをリードし、メモリの1000番地にリード結果を置く)を実施させ、小さなブート用命令列をメモリ上にロードさせる。 マイコンと呼ばれた時代の初期のパーソナルコンピュータ、だいたい16ビット時代の初期の頃までのマシンでは、が標準の装備でなかったこともあり、最初からメモリ空間にROMとしてプログラムが展開されて存在し、ほとんどにおいてはBASIC(ROM BASIC)を起動するというものがもっぱらで、外部記憶装置からシステムを読み込むブートシーケンスは存在しなかった。 を標榜したの一部のパソコンのように例外もある。 最近のコンピュータではブート処理はがROM内のソフトウェア(例えば、や)を既定のアドレスから実行することで開始される(CPUはリセットされると外部からの助け無しにこのソフトウェア実行をするよう設計されている)。 そのソフトウェアはブートに使用できる各種デバイスを探し、最も優先順位の高いデバイスの特殊な領域(一般には)から小さなプログラムを読み込む。 ブートローダには特有の制限、特にそのサイズの制限がある。 例えば IBM PC や互換機では、一次ブートローダは必ず446(Windows NT では、ディスクシグニチャがオフセット440の位置にあるため、440バイト)でになければならず、その後に64バイトのパーティションテーブルが続き、最後が という値で終わっていなければならない(BIOS はその値を見て正しいブートローダであると判断する)。 1995年以前の などでは、OS とハードウェアが非常に密接に関連しており、標準のOS以外でブートすることができない。 そのような場合、一般にとられる解決策としては、標準OSに属するプログラムとしてブートローダを設計し、それがシステムをハイジャックして別のOSをロードする。 これは例えばアップルがというのOSのブートに使った技法で、それを流用して各種フリーウェアのOSや などがブート可能となっていた。 90年代によく使われていたMS-DOS環境からLinuxを起動するloadlin()も同様のものである(もっともMS-DOSには保護がないので、ハイジャックというほど大袈裟なものでもない)。 一般的な一次ブートローダーとしては、以下のものがある。 二次ブートローダ [ ] ブートローダが読み込む小さなプログラムは、オペレーティングシステムではなく二次ブートローダであることが多い。 、、、などがある。 二次ブートローダは実際のオペレーティングシステム OS をロードすることができ、最後にOSを実行する。 OSは初期化処理を行い、をロードし、OSの通常の処理に必要とされる他のプログラムをロードする。 この場合異なるOSを指定することもできるし、同じOSの異なるバージョンを指定することもできるし、単に異なるオプションを指定することもでき(例えば、で起動するなど)、OSではなく独立して動作するプログラムを指定することもできる(メモリテスタ 、ゲームなど )。 ブートローダーに別のブートローダーをロードさせることもできる。 例えば、GRUBがBOOTMGRをロードすることも可能である。 一般にデフォルト設定があり、ある時間内にユーザーが選択しなければデフォルト状態でブートを行う。 なお、ではが二次ブートローダのような役割を果たしている。 ただし、MS-DOSを単体で起動することもできる。 ブート処理はコンピュータがユーザとやりとりできるようになった時点で完了したと見なされる。 あるいは、が普通のアプリケーションを実行できるようになった時点で完了と見なすこともできる。 典型的なのブートは約 1 分ほどかかる。 そのうち、15秒ほどが POST が費やす時間で、残りはオペレーティングシステムのロードにかかる時間である。 OSロード後の経過時間はシステム内のコアを同時に起動することで3秒程度にまで短縮可能で、例えばでそのようなブートが可能である。 一方、大きなサーバでのブートは全てのサービス起動まで何分かかかる。 多くのではほとんど即座にブートが完了しなければならない。 たとえば、テレビが映るまでに1分かかったのでは使い物にならない。 そのため、オペレーティングシステム全体を ROM やに格納して、直接実行できるようにしている。 ただし、ROMやフラッシュメモリはRAMに比べると、2007年現在の水準では1000倍と桁違いに遅い為、など高機能な機器ではROMの内容をRAMに書き出して実行している。 などではROM上の直接実行形式で用意されたブートストラップローダーがROM上の圧縮されたプログラム本体をRAMに展開して本体プログラムが起動するという実装がとられている。 フラッシュブートローダ [ ] 組み込みシステムでは、製造工程や保守工程でプログラムを変更するためにフラッシュブートローダが必須である。 フラッシュブートローダはフラッシュメモリ内にあり、リセット後に最初に実行されるアプリケーションである。 フラッシュブートローダを出荷製品に入れておくと、アプリケーションの更新・修正、設定の変更が容易に行える。 ベースのフラッシュブートローダが一般的であり、診断プロトコルを使って通信・ダウンロードを行う。 ネットワークブート [ ] 多くのコンピュータは経由でブートを行う機能を持っている。 この場合、二次ブートローダ はのディスクに格納されており、それを のような単純なプロトコルでクライアントに転送する。 内蔵ディスクを持たないは、ネットワークブートによって起動される。 実装としては PXE などが存在する。 PC互換機のブートデバイス [ ] 対応のブート可能なフラッシュドライブ。 の一種 とはオペレーティングシステムをロードする前に初期化しなければならないデバイス(周辺機器)のことである。 これには一つの()、ひとつの出力機器()、初期プログラムロード用機器(、、、など)がある。 古いシステムではこれはフロッピーかハードディスクと限定されていた。 最近のPCのは様々なデバイスからのブートをサポートしており、ローカルのハードディスク(あるいはディスク上の)、、デバイス(フラッシュドライブ、ハードディスクドライブ、光学ディスクドライブなど)、フラッシュメモリカード、ネットワークカード(を使用)などがある。 古いPCでは、デバイス、、ドライブなどに限定されていた。 一般にユーザーがBIOSでブート順を設定することができる。 1番目をDVDドライブ、2番目をハードディスクと設定した場合、BIOSはまずDVDドライブからのブートを試みる。 そしてDVDがセットされていないなどの理由でブートに失敗するとローカルなハードディスクからのブートを試みる。 DVDにの を入れておけば、ハードディスクにLinuxをインストールしなくともLinuxを起動することができる。 これがの一例であり、ユーザーはPOST実行後にどちらのOSを起動するかを選択できる。 この場合は、電源投入時に(あるいはリセット時に)CDを入れておくか否かで起動するOSを選択しているが、一般的にはキーボードを使ってBIOSメニューを表示させて選択する(一般に F11 または ESC を押下)。 IBM PC互換機のブート手順 [ ] 電源投入直後、ないしリセットにより、は、まずの存在する 0xFFFF0 番地のメモリにある命令を実行する(ここはx86を使用するどんなコンピュータでも同じである)。 このメモリ位置は(での)システムメモリのほぼ最後尾にあたる。 そこにはBIOSの初期プログラムの位置へのジャンプ命令が含まれていて、BIOSに制御が渡る。 BIOS初期プログラムは POST を実行して必要な機器が正常に動作するかをチェックする。 また、同時にそれら周辺機器の初期化も行う。 次にBIOSは事前に設定されたデバイスリストを順にあたって、ブート可能な周辺機器を探す。 ブート可能デバイスとは、読み込みが可能で、第1セクタの最後尾に 0xAA55 という(ブートシグニチャ)があるデバイスである。 の boot0 MBR の そのようなデバイスが見つからない場合、エラーが発生してブート処理は停止する。 BIOSがブート可能デバイスを発見すると、そのを 0x7C00 というアドレス(:形式では 0000:7C00 だが、一部のBIOSでは 07C0:0000 を使用)にロードして実行する。 ハードディスクドライブの場合、ブートセクタは MBR と呼ばれ、その内容はには依存しない。 MBRのコードはテーブルを調べてアクティブなパーティションを探す。 それが見つかったら、MBRのコードはパーティションのをロードして実行する。 ブートセクタはオペレーティングシステムに依存することが多いが、その機能はをロードして実行することである。 カーネルはさらに初期化処理を続行する。 アクティブなパーティションがなかったり、アクティブなパーティションのブートセクタが不正だった場合、MBRは第二ブートローダをロードして制御を渡す。 第二ブートローダは(多くの場合ユーザーに入力してもらって)パーティションを選択して、そのブートセクタをロードする。 パーティションのブートセクタは一般にオペレーティングシステムのカーネルをロードする。 一部システム(特に最近のや )はのを採用している。 準拠のファームウェアを持つ比較的新しいシステムでは、MBR か のあるドライブからブートでき、標準のMBRブートローダを使わない。 古い16ビットBIOSインタフェースは一部のx86用OS(Windows 3. 多くのPCはチップを搭載していれば、BIOSチップメーカー名、、そのチップのIDなどを起動時に表示する。 同時に利用可能なメモリ容量など、そのコンピュータに関する情報も表示する。 その他のブート手順 [ ] 他のプロセッサは異なるブートモードを持つ。 やのブート方法として以下のような技法がある。 や一部のDSPは、ブートROMを内蔵しており、単独で洗練されたブートシーケンスを実行でき、NANDフラッシュ、SD、MMCカードなど各種ソースからブートプログラムをロードできる。 各種デバイスへの対応を回路で実現するのは困難であり、その代わりにブートROMを集積している。 ブートROMであれば、複数のデバイスからのブートを試行することもできる。 また、、、などから診断プログラムやブートローダをロードすることもできる。 不揮発性メモリ上のブートソフトウェアが何らかの原因で消去されてしまった場合なども、この機能を使って復旧することができ、製造直後に不揮発性メモリにプログラムを格納するのにも使える。 などのハードウェアデバッグ用インタフェースを使ってシステムの制御を獲得することもできる。 そのようなインタフェースを使ってブートローダーを不揮発性メモリ(フラッシュなど)に書き込むことができる。 また、デバッグ用インタフェースを使ってRAMに診断コードやブートコードをアップロードすることもでき、アップロードしたコードをプロセッサに実行させることができる。 ブートROMを集積していないプロセッサで、不揮発性メモリの内容が消去された場合、これを使って復旧を図る。 一部のマイクロコントローラはブート可能な不揮発性メモリにブートコードを書き込むことができる単純なプロトコルのインタフェースを用意している。 製造時にそのようなインタフェースを使ってブートコードを不揮発性メモリに書き込む。 システムをリセットすると、マイクロコントローラが自動的に不揮発性メモリ上のプログラムを実行開始する。 例えば などがこの方式である。 この際のインタフェースはハードウェアで実装されていることが多い。 ブートROMを持つプロセッサの場合、ブートROM上のソフトウェアでピンをそのようなインタフェースに使うこともできる。 多くの DSP には以下のようなブートモードがある。 シリアルモードブート• パラレルモードブート(HPIブートなど) DSPはやマイクロコントローラが別に存在するシステム設計ということが多く、それらがシステム全体の動作、割り込み処理、外部イベント処理、ユーザインタフェースなどを担当しており、DSPは信号処理だけを扱う。 その場合DSPは別のプロセッサからブートすることができ、そのプロセッサを「ホストプロセッサ」とも呼ぶ。 ホストプロセッサは「マスター」とも呼ばれる。 DSPは自前のブート用メモリを持たないことが多く、必要なコードをホストプロセッサから供給してもらう必要がある。 携帯電話、モデム、オーディオプレイヤー、ビデオプレイヤーなどがそのような構成を採用していることが多い。 チップは、電源を入れるとその回路構成情報を外部からロードする。 IBM の Initial Program Load [ ] IBM ではブート処理を IPL Initial Program Load と呼ぶ。 の設計に由来する用語であり、今でも使われている。 と以降のシステムでは、スイッチ群とLOADボタンの代わりに、グラフィックス・コンソール上の選択エリアを使用する。 グラフィックス・コンソールとしては () 系と 系がある。 そのうち2番目と3番目の8バイトグループがチャネルコマンドワード CCW として解釈され、さらに続けてスタートアッププログラムがロードされる。 同じプロシージャがディスク装置だけでなく、やカードリーダなどからもスタートアッププログラムをロードする。 指定されたデバイスは実際のオペレーティングシステムを主たるストレージからロードする専用プログラムを格納していなければならない。 これを "IPL Text" と呼び、ディスクにこれを置くには DASDI Direct Access Storage Device Initialization プログラムかそれと等価なプログラムをOS上で実行する。 なお、IPL対応の磁気テープやカードデッキは "IPL Text" が存在する状態で配布されている。 バロースのテープからのブート [ ] () では、ブートストラップROMもハードウェアIPLも持たない。 その代わり、システムをリセットすると、フロントパネルに装着されたテープから機械語を読み込んで、これがRAM上のブートローダとなる。 この方式では、装着するテープを診断プログラムに代えれば、通常のOSも立ち上げられないほどの障害が発生している状況でシステムの診断が可能となる。 クイックブート [ ] (例えばなど)をOSとして採用している各種機器にはクイックブートと呼ばれる素早い起動が可能なものもある。 エラー [ ] Windows では、ブート処理中に解決できないエラーが発生すると、いわゆる状態になる。 脚注 [ ] [] 注釈 [ ]• EDSACの場合はロータリースイッチなどによるハードウェアから成る仕掛けからロードされた。 ハインラインは軍時代に無線を扱っているので、そちらからこの語を採った可能性がある。 なお、邦題「時の門」は、 The Time Gate と改題されて収録された作品集があり、そちらから採ったものと思われる。 : Nicolet Instrument Corporation• MBRに仕様にもよるが、アクティブなパーティションはプライマリパーティションである必要はない。 しかし、いずれにしてもブートセクタに適切なコードがあることは必須である。 インテル版では、古いBIOSとの互換モードをファームウェアでサポートしている。 一部制御ユニットには8台のデバイスしか接続しないが、16台以上を接続するものもある。 実際、3830 DASD コントローラはオプションで32台のドライブをアドレッシングする。 出典 [ ]• Wiktionary• phrases. org. 2012年4月7日閲覧。 Buchholz, Werner 1953. Proceedings of the I. 41 10 : 1273. Dictionary. com. 2012年4月7日閲覧。 TheFreeDictionary. com. 2012年4月7日閲覧。 Oxford English Dictionary. PDP-11 Peripherals Handbook, DEC, 1975, p. 4-25• ROMカードの写真• From Gutenberg to the Internet, Jeremy M. Norman, 2005, page 436,• Van Vleck, Tom. 2010年1月18日閲覧。 Bensoussan, A. 1967-06-30. Multics System Programmer's Manual. Dunten, S. ; T. Van Vleck 1968-05-03. Multics System Programmer's Manual. ; 1971-11-03. 1st edition ed. 2008年1月7日閲覧。 Ciaramella, Alberto. "Device for automatically loading the central memory of electronic processors. " U. Patent No. 4,117,974. 3 Oct. 1978. Apple Ad, Interface Age, October 1976• coreboot. 2010年11月20日閲覧。 2010年11月20日閲覧。 2012年4月7日閲覧。 Intel. 2008年1月7日閲覧。 2012年4月7日閲覧。 Chapter 17. 2007年4月14日閲覧。 Brown, Eric 2008年10月2日. linuxdevices. com. 2012年9月7日時点のよりアーカイブ。 2010年11月20日閲覧。 Larabel, Michael 2008年6月14日. Phoronix. 2010年11月20日閲覧。 YouTube. 2010年11月20日閲覧。 gadgets-reviews. com 2008年7月29日. 2010年11月20日閲覧。 2010年11月20日閲覧。 Brown, Eric 2008年10月3日. 2013年1月28日時点のよりアーカイブ。 2010年11月20日閲覧。 YouTube. 2010年11月20日閲覧。 Brown, Eric 2008年11月7日. linuxdevices. com. 2012年9月14日時点のよりアーカイブ。 2010年11月20日閲覧。 関連項目 [ ]• - 組み込みシステム用のオープンなブートローダ• 、、、• 第二ブートローダ• - 原義• - その逸話が「boot(靴)」「bootstrap(靴紐)」の語源とされている 外部リンク [ ] ウィキメディア・コモンズには、 に関連するカテゴリがあります。 - (2013年4月27日アーカイブ分)• [ ]• de Boyne Pollard, Jonathan 2006年. Frequently Given Answers. 2012年4月7日閲覧。 de Boyne Pollard, Jonathan 2006年. Frequently Given Answers. 2012年4月7日閲覧。 de Boyne Pollard, Jonathan 1996年. Frequently Given Answers. 2012年4月7日閲覧。 de Boyne Pollard, Jonathan 2006年. Frequently Given Answers. 2012年4月7日閲覧。

次の

コマンドプロンプト shutdown

リブート コード

コールドブートとは、コンピュータの電源が完全に切れた状態から起動すること。 の場合は「コールドリブート」「コールドリセット」などという場合もある。 通常のコンピュータの起動をゼロからすべて行う起動方法で、やによるメインメモリ()や各装置のチェックや、OSのストレージ(外部記憶装置)からの読み込みと起動などを行う。 かつては電源を落として起動すると必ずコールドブートされたが、最近のWindowsなどでは初期状態ではOSの「電源を切る」操作がOSを終了するだけで停止状態となり、再び電源ボタンなどを押して起動するとウォームブートされる(高速)場合がある。 その場合、以前はウォームブート動作であることが多かった「再起動」操作が逆に完全に初期状態から起動するコールドブートとなっている。 当サイト「IT用語辞典 e-Words」 アイティーようごじてん イーワーズ はIT Information Technology:情報技術 用語のオンライン辞典です。 コンピュータ・情報・通信などを中心とする各分野の用語について、キーワード検索や五十音索引から調べることができます。 用語の意味や定義、概要や要約、略語や別表記、英語表記や綴り、フルスペル、読み方や発音、仕組みや役割、歴史や由来、語源、構造や構成、要素、特徴、機能や性能、諸元、規格や仕様、標準、原因や要因、手法や方法、方式、種類や分類、利点やメリット、欠点やデメリット、問題点、対義語や類義語との違い、用例や事例、具体例、画像や図表、関連用語、外部資料や別の辞典による解説へのリンクなどを掲載しています。 株 インセプトが制作・運営しています。 お問い合わせは まで。

次の