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…')

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Typing 'DOS' at the DECB 'OK' prompt loads in track 34 off of the disk.

  1. Track 34 gets loaded into address $2600, and execution of code starts at $2602.
  2. $2602 contains a BRA to the execution point of the REL module.
  3. REL copies the boot track ($2600 to $3800) to address $ED00, and jumps to another routine inside of REL, at the new address.
  4. REL then jumps to Krn, which sets up system variables, the system memory map, system call tables, IRQ & SWI setup, and calls BOOT.
  5. BOOT reads sector $000000 off of a disk, and finds out where the OS9Boot file is.
  6. BOOT requests system memory for the size of OS9Boot, seeks to where OS9Boot is, and loads it directly into RAM.
  7. It then returns to Krn, after setting up pointers in low memory to the OS9Boot file.
  8. Krn links to KrnP2, and executes it.
  9. KrnP2 sets up more system calls, links to the clock module, and calls it.
  10. Clock sets up some more system calls, starts multitasking, and returns to KrnP2.
  11. KrnP2 then does F$Chain of 'SysGo'. This prints a start up banner, and runs your 'startup' file through a shell.