Chapter 21

下書き(あふれた内容は、次回持ち越し)(^^ゞ

shiozumi
shiozumi
2021.07.26に更新

LBAについて、軽く補足して置きますね。こちらの2つのサイトをご覧ください。
https://www.hazymoon.jp/OpenBSD/misc/hdd.html
それでは、また、こちらのサイトを使って説明していきます。ページを下にするロールして、5.2 の8.4Gの壁 をご覧ください。

https://ja.wikipedia.org/wiki/Logical_Block_Addressing
https://e-words.jp/w/LBA.html

動画解説9(LBAジオメトリ変換)

--- 8.4G bytesの壁 137G bytes 迄可能!
ソフトウェア割り込み INT 13H 拡張INT 13H
ビット数 24bit 28bit
対応 レジスタに値 Disk Address Packet の構造体のアドレス指定

LBA 144P(ペタ)Bの壁(おまけ!)

今回も電卓を使って計算しますが、2のべき乗ではなく、2進数からビット変換して計算してみますね! あと以前にも紹介した、単位についても、かる~く覚えて置きましょう! Pペタは、10の15乗ですよ!

動画解説10(144P bytes 計算)

ATA規格 Advanced Technology Attachment(アドバンスド テクノロジー アタッチメント)

https://ja.wikipedia.org/wiki/Advanced_Technology_Attachment

http://park12.wakwak.com/~eslab/pcmemo/hdisk/hdisk2.html

かなり余談ですが、Gooleで画像検索!

https://www.google.com/search?q=マスターブートレコード&sxsrf=ALeKk01s57ePlX8Ecf4HlibHxnKdYfz_Fw:1626220095906&source=lnms&tbm=isch&sa=X&ved=2ahUKEwi_8ZH5neHxAhUuCqYKHZKPBUwQ_AUoAnoECAEQBA&biw=1832&bih=1103&dpr=1.5

キーワードを入れて、画像検索すると、目的の物が見つかったりするんですよね~(^^ゞ

BIOSとBIOS拡張の深堀!(Wikiを参考にして~)

それでは、前回に引き続き、電源をONしたとき、マザーボード上で最初に起動されるファームウェア、BIOSの学習を進めていきますね~

学習用で参考にするサイトは、こちらです!

https://ja.wikipedia.org/wiki/Basic_Input/Output_System

いきなり上級者用のサイトとなりますが、私なりに、なるべく分かりやすく解説して行きますので、どうぞ、よろしくお願いします。

BIOSの起動フロー(Wikiから引用)

  1. リアルモード のアドレス空間1MBの内、最後尾付近のアドレス(0FFFF0h 番地)にある命令を実行する。そのアドレスに記されたジャンプ命令により、BIOSの実行コードの先頭にジャンプして処理が開始される。
  2. 電源が投入された場合 「コールドブート」 はPower On Self Test (POST) が実行され、 リセットボタンが押された場合 「ウォームブート」 はPOSTを省略し、メモリのテストにかかる時間を節約する。
  3. BIOSは、起動デバイス に指定された記憶装置を探し、ブートローダープログラム の場所を特定して実行、PCにコントロールを委ねる。この過程をブートストラップ、略してブートと呼ぶ。

メモリー空間とアドレス ≠ 土地と住所(郵便番号)

メモリーは、みなさんご存じだと思いますが、メモリ-空間内の任意の位置を表す、アドレスについては、あまり意識することもありません。現実で例えれば、メモリーは土地、アドレスは、住所や、郵便番号ですね。人が目的地に行くのにも住所を調べると思いますが、パソコンも同じく、アドレスを調べて、そこから次の処理へと繋がって行きます。

メモリーアドレス(0xA0000~0xFFFFF)までの、PCのメモリーマップです。

Power On Self Test(Wikiから引用)

CPU、RAM、割り込み、DMAコントローラなどの搭載デバイスのほかに、チップセット、ビデオカード、キーボード、ハードディスク、光学ドライブなどのハードウェアのシステム構成をテスト、認識、初期化する。

BIOSのまとめ・・・かる~く (;^_^A

BIOS起動、接続されたパーツに問題がなければ、ピ! と音が鳴り、POSTを実行する。BIOS拡張領域を検索して、プログラムエントリーを見つけたら実行して初期化、それを繰り返し行う。最後は起動装置から(HDD,SSD,CD-ROM,etc)から、ブートローダーを探して読み込んでOSを実行する。

BIOSの補足(中級者向けのサイト!)

http://park12.wakwak.com/~eslab/pcmemo/boot/boot2.html

こちらのサイトでは、より詳細な説明がありますので、よろしければどうぞ!
POST(Power On Self Test)の説明については、Wikiよりも丁寧に書かれています。