... 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.