CS 308- Operating Systems

Chapter 1

  • What is an Operating System?
  • A program that acts as an intermediary between a user and the computer hardware (and software)
  • A program that provides an environment in which a user can execute program conveniently and efficiently
  • A resource allocator and manager
  • Similar to a government.
  • What is a computer system? Components:
  • Hardware
  • Operating System
  • Software
  • Data
  • Users
  • What are the resources of a computer system?
  • CPU
  • I/O devices
  • More
  • Historical overview:
  • Simple batch system
  • Multiprogrammed batched systems
  • Time-sharing systems
  • Personal-computer systems
  • parallel systems
  • Distributed systems
  • Real-time systems
  • New vocabulary:
  • Turnaround time
  • Spooling (Simultaneous Peripheral Operation On-line)
  • Job pool
  • Response time
  • Process
  • Tightly-coupled vs loosely-coupled
  • Throughput
  • Graceful degradation or Fault-tolerant
  • RJE -- Remote-Job-Entry
  • Front-end & back-end processors

    [No

    Chapter 2

  • Computer-systems structures

  • Computer-system operation
  • I/O structure:
  • I/O interrupts
  • DMA structure
  • Storage structure
  • Main memory
  • Magnetic disks
  • Magnetic tapes
  • Storage hyrarchy
  • Caching
  • Coherency and consistency
  • Hardware protection
  • Dual-mode operation
  • I/O protection
  • Memory protection
  • CPU protection
  • General system architecture
  • New vocabulary

  • Bootstrap program
  • Interrupt
  • Trap
  • System call
  • Volatile & nonvolatile
  • Seek time
  • Rotational latency
  • Cache
  • Time slice

    Chapter 3

    Operating-system structures

    System components:
  • Process management
  • Main-memory management
  • File management
  • I/O system management
  • Secondary-Storage management
  • Networking
  • Protection system
  • Command-interpreter system
  • Operating system services

    System calls

    System programs

    System structure

    This section lends itself well to student presentations:

  • MS-DOS
  • Unix
  • Venus
  • OS/2
  • Virtual machines

    System design & implementation

    System generation

  • New vocabulary

  • A process
  • A file
  • Command interpreter
  • Chapter 4

    Processes

  • Process concept
  • Process scheduling
  • Operation on processes
  • Cooperating processes
  • Threads
  • Interprocess communication
  • New vocabulary or concepts

  • process
  • Process state
  • Process Control Block
  • Ready queue
  • Job queue
  • Dispatch
  • Context switch
  • Parent & child
  • Chapter 5

    CPU scheduling

  • Basic concepts
  • Scheduling criteria
  • Scheduling algorithms
  • Multiprocessor scheduling
  • Real-time scheduling
  • Algorithm evaluation
  • New vocabulary and concepts:

  • CPU burst
  • I/O burst
  • Preemption
  • FIFO
  • FCFS
  • Response time
  • CPU utilization
  • SJF
  • SRTF
  • Round Robin
  • Deterministic modeling
  • Chapter 6

  • Review Cooperating Processes (Ch. 4.4)
  • Review Threads (Ch. 4.5)
  • Critical-Section Problem
  • Synchronization Hardware
  • Semaphores
  • Classical problems of synchronization:
  • The bounded-buffer problem
  • The readers and writers problem
  • The dining-philosophers problem
  • Critical regions
  • Monitors
  • Chapter 7

    Deadlocks

  • Deadlock characterization: Necessary conditions
  • Resource allocation graph
  • Methods for handling deadlocks
  • Deadlock prevention
  • Deadlock avoidance
  • Deadlock detection