Start systému TUOX, obsazení pamìti

Autoøi: Radim Drobek, René Kohut


Pøi startu systému BIOS kopíruje Boot sector na adressu 0000h:7C00h, kde se pøedává øízení. Zde se spouští program který zavede na adresu 0000h:0700h (viz. obr.) LOADer a provede skok na tuto adresu. Zde dostává øízení LOADer který natahá jedntotlivé moduly od adresy 00D0h:0000h do pamìti dle obrázku. Jedntlivé moduly jsou v pamìti uloženy na hranicích paragrafù tj. segmentová èást adresy (ofsetová je nulová), pøièemž segment CS dalšího modulu je vypoèten z velikosti alokované pamìti +1 (v paragrafech).Jeden paragraf je pøièten z tohoto dùvodu, aby se kód nepøekrýval se zásobníkem pøedcházejícího modulu.

Rozlozeni modulu v pameti

LOADer zároveò ukládáda na zásobník kódový CS a datový segmenty DS všech modulù a nakonec zde uloží segment prvního volného místa v pamìti(viz. obrázek).Ty pak použije Kernel jako arqumenty funkce Main().

STACK

Nakonec LOADer nastaví DS,ES,SS a SP pro Kernel a pøedá mu øízení skokem na adresu 00D0h:0000h.

Modul in memory