Operating Systems

Types

  • Interactive
    • The user controls the operating system
  • Real Time
    • For when reacting to things need to be instant
    • Typically for embedded
  • Batch
    • System that does a very repetitive task
    • Do not care about the user
    • Ex: mainframe that just prints bills

Architecture

  • Monolithic
    • The whole OS is compiled together
    • Linux
  • Microkernel
    • The actual kernel space is as small as possible (just hardware interface) and the rest is implemented in the user space
    • Has a lot of delay in message passing
    • Educational kernels like Minux (because it makes it easier for students to modify)
  • Hybrid
    • Combines aspects of both
    • Darwin and Windows NT

Purpose

  • Resource Manager
  • Extended Machine
    • Provides users and programs with a better, simpler, cleaner model of the computer
  • The OS is NOT
    • User Interface (that is just another program)
    • System Tools (tools to manage the system)
    • Libraries

Trapping to Kernel Space

System Calls Hardware Interrupts

Unfiled

Boot Process Processes

Generations

  1. Vacuum tubes, Plugboards, Perforated Cards (1945-55)
    • Programmer/user = operator
    • Single small & simple application program at a time
    • No OS
    • Unreliable (rarely commercial, mostly military or research)
  2. Transistor and Batch Systems (1955-65)
    • Batch system — user is not the operator
    • Reliable enough to be sold (typically to large companies)
    • Uni-programmed: would run multiple jobs in a single queue (not pipelined at all)
      • First sense of an operating system
    • Later upgraded to multi-programmed (would pipeline large scale resources)
  3. ICs and Multiprogramming
    • Has user interaction
      • User is back to being the operator
    • Timesharing system
      • Each user has a terminal that connects to a mainframe
      • Each user is given equal processing time
      • Machine is now fast enough that shared machine still feels interactive
  4. Personal Computers (1980-Present)
  5. Mobile Computers (1990-Present)