GNU/Linux >> Belajar Linux >  >> Linux

Apakah BIOS menyalin bootloader 512-byte ke 0x7c00

... boot-sector loader memuat 512 byte data disket yang berada di alamat memori 0x7C00 (jika saya benar) ke dalam RAM

...

Karena mesin sedang melakukan booting, RAM harus kosong, sehingga bootloader dimuat pada 0x0000 dari RAM?

Nomor 0000:7C00 mengacu pada alamat RAM . RAM berarti "Memori Akses Acak", artinya setiap lokasi di memori dapat diakses secara langsung. Tidak ada yang seperti "RAM kosong". Anda juga dapat merujuk ke fungsi interupsi INT13 "Baca Sektor Dari Drive":salah satu parameter (diteruskan dalam ES:BX ) perlu menunjuk ke alamat tujuan tempat konten sektor akan disimpan. Oleh karena itu, yang dilakukan BIOS adalah memuat 512 byte dari drive dan menyimpannya ke dalam 0000:7C00 ke 0000:7DFF , lalu melompat ke 0000:7C00 untuk menjalankan kode pemuat boot utama.

Adakah artikel/buku yang harus saya baca agar saya terbiasa dengan Kernel, dll?

Wiki ini sangat berguna:http://wiki.osdev.org/Main_Page. Untuk proses boot, lihat http://wiki.osdev.org/Boot_Sequence.


Linux
  1. Salin file di terminal Linux

  2. Bagaimana Cara Kerja Sticky Bit?

  3. Apakah Tail Membaca Seluruh File?

  1. Apa Artinya Dalam Keluaran Dari Ps?

  2. Apakah Perintah Invers dari Cut Ada?

  3. Bagaimana Cara Kerja Perintah Tee??

  1. Apa yang dilakukan Rackspace di cloud?

  2. Mengapa perintah dan dmidecode gratis menunjukkan nilai yang berbeda untuk RAM?

  3. Berapa banyak RAM yang digunakan kernel?