GNU/Linux >> Linux の 問題 >  >> Linux

BIOS は 512 バイトのブートローダーを 0x7c00 にコピーしますか?

<ブロック引用>

... ブート セクタ ローダーは、メモリ アドレス 0x7C00 (私が正しければ) にあるディスケットの 512 バイトのデータを RAM にロードします

...

マシンが起動しているため、RAM を空にする必要があるため、ブートローダーは RAM の 0x0000 にロードしましたか?

No. 0000:7C00 RAM アドレスを指します . RAMは「ランダムアクセスメモリ」を意味し、メモリ内の各場所に直接アクセスできることを意味します。 「空のRAM」のようなものはありません。また、INT13 割り込み関数「Read Sectors From Drive」を参照することもできます:パラメータの 1 つ (ES:BX で渡される) ) は、セクタの内容が格納される宛先アドレスを指す必要があります。したがって、BIOS が行うことは、ドライブから 512 バイトをロードし、それを 0000:7C00 に格納することです。 0000:7DFF まで 、そして 0000:7C00 にジャンプします プライマリ ブート ローダー コードを実行します。

<ブロック引用>

カーネルなどに慣れるために読むべき記事や本はありますか?

この Wiki は非常に便利です:http://wiki.osdev.org/Main_Page。起動プロセスについては、http://wiki.osdev.org/Boot_Sequence を参照してください。


Linux
  1. brk() システムコールは何をしますか?

  2. 実行権限は何をしますか?

  3. カーネルはどれくらいの RAM を使用しますか?

  1. ps コマンドはどのように機能しますか?

  2. ループバック インターフェイスはどのように機能しますか

  3. ep 能力とはどういう意味ですか?

  1. Linuxターミナルでファイルをコピーする

  2. テールはファイル全体を読み取りますか?

  3. Psの出力にはどういう意味がありますか?