... zavaděč zaváděcího sektoru načte 512 bajtů dat z diskety, která se nachází na adrese paměti 0x7C00 (pokud se nemýlím) do RAM
...
Protože se počítač spouští, RAM musí být prázdná, takže bootloader, který nahrál na 0x0000 RAM?
č. 0000:7C00
odkazuje na adresu RAM . RAM znamená "Random Access Memory", což znamená, že každé místo v paměti je přístupné přímo. Neexistuje nic jako "prázdná RAM". Můžete se také podívat na funkci přerušení INT13 "Načíst sektory z disku":jeden z parametrů (předán v ES:BX
) musí ukazovat na cílovou adresu, kde bude uložen obsah sektoru. BIOS tedy načte 512 bajtů z disku a uloží je do 0000:7C00
do 0000:7DFF
a poté přeskočí na 0000:7C00
spustit kód primárního zavaděče.
Nějaké články/knihy, které bych si měl přečíst, abych se seznámil s jádry atd.?
Tato Wiki je velmi užitečná:http://wiki.osdev.org/Main_Page. Proces spouštění najdete na http://wiki.osdev.org/Boot_Sequence.