BIOS(code stored on ROM)
At BIOS session, several tasks are executed:
- Power-on self test (POST), making suring: memory, disk,screen,ect. are in good condition
- so it knows where to load the boot program( on DISK)
- also prepare memory(run process) and disk(boot program)
- Load and transfer control to boot program
- Provide drivers for all devices,
Boot(code stored on DISK)
Set up stack, clear BSS, uncompress kernel, then transfer control to Kernel
Idle process(pid=0) is created; set up initial page tables, turn on address translation
Initialize rest of kernel
- create vfs_root_vnode
- set the “cwd” of idle/init process
- make the null, zero, and tty devices using “mknod”
- “/dev”
- “/dev/null” “/dev/zero”,
- “/dev/tty0” “/dev/tty1”
- create the “init” process(pid=1),
which is the ancestor of all other user processes - invoke the scheduler
Kernel(code stored on disk)
- Now the File System is ready to use
- Also need to execute other configuration