Skip to content

Operating Systems

Overview

  • Definition of what an OS is, has changed over the years
  • Today, OS includes a lot more than in the past
  • Serves as an interface between the user and the architecture
  • Serves as an abstraction layer over the actual hardware and makes it easier to program than the raw hardware
  • Intersection between hardware and software
  • Provides the illusion of infinite memory and CPU
  • Provides services like file system, virtual memory, networking scheduling
  • Coordinates applications and users to achieve fairness and efficiency (concurrency, memory protection, security, ...)
  • Ultimate goal: convenience and efficiency

Computer Architecture

  • CPU: processsor that performs the actual computation (today multiples "cores")
  • I/O devices: terminal, disks, graphics card, printer, network card
  • Memory: RAM containing data and programs used by the CPU
  • System bus: communication between CPU, memory and peripherals

Protection

  • Kernel mode vs User mode: Some instructions are restricted to be only used by the OS:
    • Users may not access I/O directly
    • Manipulate memory directly
    • Set mode bits that determine user or kernel mode
    • Disable/enable interrupts
    • Stop the machine
  • Protected instructions can only be executed by the OS
  • Hardware must support kernel and user mode
    • There is a status bit indicating the current mode in a protected register

References


Last update: December 14, 2020