Overview of OS

  • What’s an OS?

    • Extended machine (abstraction layer)
    • Resource Manager
  • Process

    • A program in execution (aka job or task)
    • Has CPU state, or context, in registers
    • Has allocated resources
      • PCB = Process Control Block
      • Memory
      • Files, network resources

  • Process States
    • Running
    • Blocked or wait or suspended
    • Ready
  • I/O Methods
    • Programmed I/O (device driver), write date to device data register, setup other registers, and wait.
    • Interrupt driven I/O
    • DMA I/O (Direct Memory Access)
      • Interrupts are served by DMA
      • In traditional interrupt driver IO, data are first copied to OS memory space.

OS Architecture

  • Layered OS
    • Not as efficient - errors may need to pass through many layers to go down to hardware
  • Monolithic
    • OS composed of a single module
    • All data and code use same memory space
    • Low overheads and easy to implement
  • Microkernel
    • Remove as much functionality from OS as possible
    • Security and protection can be enhanced
    • System expansion can be easier
  • Hybrid
  • Distributed