Archive / / / 2002-10-06-notes4.txt
2002-10-06 19:58:46 UTC
previous next
OS Outline: entry.asm: -have 30 or so bytes reserved for the stack, and set the stack to it -print boot messages -read multiboot structure and save info -read command line and save info (overwriting multiboot if nessessory) -copy multiboot structures out of the kernel stack and heap -initisiaize GDT, IDT, Page tables, etc, putting them in the kernel heap, using kernel malloc protocol -activate page tables -call 'kmain' in main.c main.c: -kmain: --unmap the kernel from 0x400000 --read system info from info saved by entry.asm --create processes for the drivers or reserve space in the ring0 server area --initilize drivers --create processes for the servers given by the multiboot loader (or ring0 server area) --load in order specified by command line 0xFFFFF000 - 0xFFFFFFFF: Last page unmapped 0x00000000 - 0xC0000000: User mode process