-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathOS_Boot_kernel.theory.txt
20 lines (15 loc) · 1.47 KB
/
OS_Boot_kernel.theory.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
┏━━━━━━━━━━━━━━━━━┓
┃ BOOT KERNEL ┃
┗━━━━━━━━━━━━━━━━━┛
┌──────────┐
│ BOOT │
└──────────┘
- BIOS mappé entre 0xc0000 et 0xfffff, mais première instruction exécutée par CPU est 0xffff0. Effectue d'abord POST (power on-self test, test de bon fonctionnement du hardware)
- recherche d'un périphérique dont le premier secteur se terminerait par le magic number MBR 0x55aa, et l'exécute.
- Le MBR (512 octets) mappe le partition loader de la partition active, et jumpe vers elle.
- Cette partition est en général Grub, qui s'occupe ensuite de passer en mode protected et de sauter vers le noyau. (Grub peut aussi remplacer le MBR).
┌───────────┐
│ NOYAU │
└───────────┘
La zone noyau comprend dans la mémoire par exemple le noyau (exécutable), les descripteurs de pages (!= pages tables) utilisés par le noyau pour savoir quelles pages sont libres ou non, etc.
D'autres zones mémoire sont réservées : celles utilisées par le BIOS, le framebuffer, les périphériques, etc.