Genesis: from raw hardware to processes - PowerPoint PPT Presentation


PPT – Genesis: from raw hardware to processes PowerPoint presentation | free to download - id: c949d-ZDc1Z


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation

Genesis: from raw hardware to processes


BIOS loads a more sophisticated loader from the boot sector and yields control to it. ... A user can specify which disk partition and OS image to boot ... – PowerPoint PPT presentation

Number of Views:18
Avg rating:3.0/5.0
Slides: 14
Provided by: csF2
Learn more at:


Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Genesis: from raw hardware to processes

Genesis from raw hardware to processes
  • System booting sequence how does a machine come
    into life

How is the First Process Created?
  • What happens when you turn on a computer?
  • How to get from raw hardware to the first running
    process, or process 1 under UNIX?

Booting Sequence
  • The address of the first instruction is fixed
  • It is stored in read-only-memory (ROM)
  • ROM is read-only, permanent memory, and is always
    available to be used.

Booting Procedure for i386 Machines
  • On i386 machines, ROM stores a Basic Input/Output
    System (BIOS)
  • BIOS contains program that knows how to access
    storage devices, keyboard, and graphic card.

  • Performs Power-On Self Test (POST)
  • Tests the system
  • Looks for and checks peripherals
  • During this time, you will hear memory counting,
    which consists of noises from the floppy and hard
    drive, followed by a final beep
  • Locates a valid device with which to boot the
    system (boot device)
  • Floppy ? CDROM ? hard drives

After the POST
  • The master boot record (MBR) is loaded by BIOS
    from the boot device.
  • The MBR is stored at the first logical sector
    (track 0, cylinder 0, and head 0) of the boot
    device (e.g., a hard drive) that
  • Fits into a single 512-byte disk sector (boot
  • Boot loader machine code instructions for
    booting the machine.
  • Partition table the physical layout of the disk
    (e.g., number of tracks)

After Getting the Info on the Boot Device
  • BIOS loads a more sophisticated loader from the
    boot sector and yields control to it.
  • Under Linux, this sophisticated loader is called
    LILO (Linux Loader) or Grub (GNU Grub Unified
    Boot Loader).
  • The more sophisticated loader loads the operating

More on OS Loaders
  • LILO
  • Is partly stored in MBR with the disk partition
  • A small machine code binary on the MBR whose job
    is to locate the second stage boot loader and
    load the first part of it into memory.
  • A user can specify which disk partition and OS
    image to boot
  • Every time a configuration change is made, run
    /sbin/lilo to change MBR.
  • Windows loader assumes only one bootable disk
  • After loading the kernel image, LILO sets the
    kernel mode and jumps to the entry point of the
    operating system

Booting Sequence in Brief
  • A CPU jumps to a fixed address in ROM,
  • Loads the BIOS,
  • Performs POST,
  • Loads MBR from the boot device,
  • Loads an OS loader,
  • Loads the kernel image,
  • Sets the kernel mode, and
  • Jumps to the OS entry point.

Linux Initialization
  • Set up a number of things
  • Trap table
  • Interrupt handlers
  • Scheduler
  • Clock
  • Kernel modules
  • Process manager
  • Hand-craft environment for the init process (the
    first process, process 1).

Process 1
  • Is instantiated from the init program
  • Is the ancestor of all processes
  • Controls transitions between runlevels
  • Executes startup and shutdown scripts for each

  • On RedHat, the init do the following (run as a
  • Run /etc/rc.d/rc.sysinit that sets environment
    path, checks file system, etc (system
  • Run /etc/inittab script that decides how system
    should be setup in each runlevel.
  • Set the source function library,
    /etc/rc.d/init.d, how to start and kill a
    program, etc
  • Start all background processes by looking at the
    rc directories for the runlevel as default in
    /etc/inittab e.g /etc/rc.d/rc5.d for runlevel 5.
  • Fork /sbin/mingetty to give virtual consoles
    (login prompts).

  • Level 0 shutdown
  • Level 1 single-user
  • Level 2 multi-user (without network file
  • Level 3 full multi-user
  • Level 5 X11
  • Level 6 reboot