The NitrOS-9 Boot Process Explained
From NitrOS-9
Revision as of 19:23, 16 April 2010 by Boisy (Talk | contribs) (Created page with 'Typing 'DOS' at the DECB 'OK' prompt loads in track 34 off of the disk. <ol> <li>Track 34 gets loaded into address $2600, and execution of code starts at $2602.</li> <li>$2602 c…')
Typing 'DOS' at the DECB 'OK' prompt loads in track 34 off of the disk.
- Track 34 gets loaded into address $2600, and execution of code starts at $2602.
- $2602 contains a BRA to the execution point of the REL module.
- REL copies the boot track ($2600 to $3800) to address $ED00, and jumps to another routine inside of REL, at the new address.
- REL then jumps to Krn, which sets up system variables, the system memory map, system call tables, IRQ & SWI setup, and calls BOOT.
- BOOT reads sector $000000 off of a disk, and finds out where the OS9Boot file is.
- BOOT requests system memory for the size of OS9Boot, seeks to where OS9Boot is, and loads it directly into RAM.
- It then returns to Krn, after setting up pointers in low memory to the OS9Boot file.
- Krn links to KrnP2, and executes it.
- KrnP2 sets up more system calls, links to the clock module, and calls it.
- Clock sets up some more system calls, starts multitasking, and returns to KrnP2.
- KrnP2 then does F$Chain of 'SysGo'. This prints a start up banner, and runs your 'startup' file through a shell.