BIOS とは何ですか? また、なぜ必要なのですか?

BIOS とは何ですか? また、なぜ必要なのですか?

Wikipedia や他の Web サイトで BIOS について読んでみましたが、あまり理解できませんでした。BIOS とは何か、なぜ必要なのか教えてください。また、BIOS はすべての電子機器に搭載されているのでしょうか、それともコンピューターとスマートフォンだけでしょうか。

答え1

PCはオペレーティングシステム(OS)と呼ばれる複雑なプログラムによって動作します。これらはRAMメモリ上にホストされており、不安定なつまり電源を切ると内容は失われます。

そこで疑問が生じます。PC の電源をオンにすると、RAM は空になるので、PC はどのように起動するのでしょうか?

これを可能にするのがBIOSです。これは非常に小さなプログラムで、不揮発性の読み取り専用メモリ(ROM)上にホストされています。つまり電源を切っても消えません。特別な回路によってROMからPCに自動的にロードされ、PCが起動プロセスを開始できるようにします。

ROM メモリの容量が少ないため、実行できる処理は小さく、基本的には次の 3 つに限られます。

  1. セルフテストを実行します。
  2. 周辺機器(ディスク、ビデオ、キーボードなど)が正しく動作することを確認し、初期化します。
  3. より高度な初期化段階が存在する可能性のある場所 (ハード ドライブ、CD-ROM ディスク、USB スティック、ネットワーク) のリストを決定し、この新しい段階に制御を渡そうとします。成功した場合は起動プロセスが続行されますが、失敗した場合は、理解しにくいエラー メッセージが表示されて停止します。

第二段階については曖昧にしていましたが、基本的に、新しい段階はハードドライブやCD-ROM、USBスティックのマスターブートレコード(MBR)と呼ばれる特別な場所にあります。これは小さいたとえば、ディスクの (446 バイト) セクションは、ディスクがスライスに分割されている (専門用語ではパーティション分割) 方法と、これらのスライスのどれに電源投入プロセスの次の段階があるかを PC に伝えます。この最後の段階は最終段階で、実際のオペレーティング システム (Windows、Mac Os、Linux、Unix など) を PC の RAM にロードする役割を担います。そして、それ以降は通常どおりの処理になります。

答え2

良い質問。

1978年に私が初めてプログラミングの仕事に就いたとき、私たちは部屋ほどの大きさのミニコンピュータを持っていました。HP2100クラッシュすると、フロント パネルの 16 個のスイッチを慎重に設定し、スイッチを切り替えてそのメモリ ワードをロードし、これを約 20 回繰り返す必要がありました。少しでもミスをすると、最初からやり直さなければなりませんでした。

手作業でプログラムしなければならなかったのは、ブートローダーロードされると、実行スイッチをクリックしてこのコードを実行し、プログラムが紙テープ リーダーを起動して、長い紙テープのパンチ穴をメモリに読み込みます。

この紙テープには、単純な、より複雑なプログラムが収録されていました。BIOS(基本入出力システム)このプログラムは、ハードディスクにアクセスする方法、つまり、読み取り書き込みヘッドを前後に動かす方法や、別のプログラム、つまりより大きなプログラム、つまりオペレーティングシステムを含むデータのセクターを一掃する方法を知っていました。また、何か問題が発生した場合には、メモリ内の内容を調べて手動で編集するための非常に簡単なコマンドラインツールがありました。

つまり、これは 3 段階のプロセスであり、長年にわたって変わっていません。

さて、これらの初期の PC では、マイクロコンピュータの BIOS は現在とは少し異なっていました。

ディスク上のファイルを一覧表示する dir などのコマンドをコマンド ラインに入力すると、オペレーティング システムはファイル システムに基づいて検索する場所を計算しますが、その後、特定のデータ ブロックを取得するためにハードウェアを動かしてディスクを回転させる作業を BIOS に実際に実行するよう要求します。同様に、BIOS は、画面に情報を表示したり、キー入力を取得したり、データをプリンターに送信したりするために使用されるシリアル ポートへの低レベル インターフェイスを提供しました。したがって、DOS (ディスク オペレーティング システム) はコマンド ラインを処理しますが、文字を画面に送信する必要があることがわかると、そのジョブはシリアル I/O 回路の操作方法を知っている BIOS に渡されます。

BIOSは抽象化レイヤーであり、インプレッション単価そしてMSDos異なるハードウェア、たとえばハードディスクやフロッピー ディスクのサイズや種類が異なる場合。

今日の BIOS も同様ですが、オペレーティング システムがロードされると、ほとんどのオペレーティング システムでは、BIOS ハードウェア ドライバーがオペレーティング システムとより緊密に統合されたドライバーに置き換えられます。これは、パフォーマンスを向上させるため、つまり同じことをより速く実行するために行われます。

IBMIBM PC 用の BIOS のソース コードを公開し、エンジニアが研究して変更できるようにしました。ある冬、私は MSDos を逆アセンブルしました。これは、今では許可されていないオペレーティング システム全体です。どのように動作するかを確認するためです。2 か月かかり、逆アセンブルには巧妙な基本プログラムがいくつか必要で、コードが何をしているのか理解するのに頭を悩ませましたが、最終的には、オペレーティング システムが正確に何をどのように行うのかをしっかりと理解できました。これは魔法ではありません。高レベルのコマンドをハードウェア アクションに変換する、注意深く記述された一連の関数にすぎません。BIOS も例外ではありません。BIOS には、実行を要求できるさまざまな機能があり、さまざまなハードウェアに合わせて構成する方法があります。

これらすべてがどこから来たのかという歴史を少し知ることで、この現代の魔法をよりよく理解できるのではないかと思いました。現在、このコードは独自のものであるため、ほとんどのエンジニアはそれがどのように機能するかを知ることができません。

答え3

それで、簡単に言うと。

BIOS は Basic Input/Output System の略で、コンピューター (PC、ラップトップ、メインフレーム、その他のコンピューター、携帯電話、タブレットなどの電子玩具) のメインボードや、DVD、BD などのその他すべての種類のハードウェアなどのプログラム可能なデバイスで最も重要なプログラムです。

BIOS はデバイス内に直接保存され、その動作を制御します。メイン ボードの BIOS には、ボードを構成するためのシンプルなインターフェイスがあります。

関連情報