Next

Load OS

* If an extended partition is found, the volume boot record is read and
    any additional logical volumes are noted.

    Extended partion allows for an additional 24 logical partitions.
      Some OSes can boot from a logical partition, other can't.

  Next, boot code found in MBR runs and reads volume (partition) boot record
    of active partition.

    Early pcs used CHS addressing.

    On older systems, BIOS limits require OS to be on 1st 1024 cylinders.
      Even if the OS has facilities to work with larger drives,
        It must first be loaded with the Rom BIOS code.

    Newer computers have an extended int 13 in its BIOS that overcome the 
      1024 cylinder limit and uses LBA addressing.

  Boot loaders
    When you install multiple OSes, the standard code in the MBR is replaced.
      with a loader that allows you to toggle the active partition flag.

    LILO, GRUB, etc. are examples of other boot loaders.

 Repair programs for MS.

    Dos - Fdisk /mbr - can be used to reinstall the standard mbr code.

    Windows 2000 - fixmbr in recovery console

    Vista/Win7 - bootrec /FixMbr  from command prompt in Recovery Environment

  Loads OS.
    In early OSes, implemented as a series of tasks, each enabling the system
      to perform the next task more efficently.
  
    In MS/DOS 
      io.sys -> msdos.sys -> command.com (config.sys) -> autoexec.bat

      Io.sys - Expands i/o functionality.

      Msdos.sys - Microsoft OS kernel.
         
      Command.com - Command interpreter.
        config.sys - user specified configuration data.
          Specific mapping of devices such as com/lpt (device aliasing).

      Autoexec.bat - runs default user select programs and commands.
        Sets path information, system variables, and may run user specified 
          applications

    In later versions of the MS/OS
      Separate steps merged, expanded, and altered to fit current OS functions.

    * Linux uses kernel modules which may be 'add-ons' called on boot up
      or compiled into kernel.

      And a set of configuration files that start additional proceses on 
        boot up based on selected run-level.

        Debian - stores configuration files in /etc/init.d and links to these
          in one of the rc#.d directories. Links are numbered to provide order
          of startup.  Multiple rc.d directories exist to allow different lists
          depending on what mode the os is being started in.

          0 - halt, shutdown.
          1 or S - single user.
          2 - multiuser - no network support.
          3 - multiuser - network support.
          4 - reserved.
          5 - multiuser - network support, graphical interface support.
          6 - reboot

  OS often replaces ROM Bios with better software version once up.

  If PNP exists
    OS may perform additional configuration.
    In some cases,  after user logs in - provides ability to restrict access.

  Finally, the user interface is displayed and ready to receive input.

Motorola 680x0 (Early Apple Macs) boot process
  On power up or reset, CPU
    Sets status register to indicate supervisor mode.

    Masks all interrupts.

  Supervisor stack pointer & PC taken from 1st 8 bytes of memory.
    Requires special hard wiring to set these values (tiny rom area).

  1st 256 bytes of memory loaded with various vector addresses.
    Like the ROM Bios INTs of Intel.

  Reads supervisor routines from hard drive.

  Rest of hardware initialized.

Next