Midterm Study Guide

This is simply a guide of topics that I consider important for the midterm. I don’t promise to ask you about them all, or about any of these in particular; but I may very well ask you about any of these, as well as anything we discussed in class, in discussion section, in the text, or that is in the reading.

  1. Beginnings and basics
    1. First generation: open shop
    2. Second generation: batch, buffering, device independence, interrupts
    3. Third generation: multiprogramming, basic protection, time sharing, layers of abstraction, virtual machines
    4. Fourth generation: mini- and microcomputers, networking
    5. Functions of an operating system: process, memory, secondary storage, user interface, efficiency, reliability, maintainability, small size
    6. I/O: polling vs. interrupt-driven, DMA
    7. Proces:s address space state information resources
    8. Process table entry
  2. System calls
    1. interaction with operating system
    2. File-oriented Linux system calls
    3. Process-oriented Linux system calls
  3. Synchronization and Communication
    1. parbegin, parend
    2. fork, join, quit
    3. Bernstein conditions
    4. Critical section problem
    5. Evaluating proposed software solutions to the critical section problem
    6. Software solutions: Peterson’s solution, bakery algorithm
    7. Hardware solutions: test and set
    8. Semaphores: wait, signal; solving synchronization problems
    9. Abstract data types, monitors; wait, signal in monitors; solving synchronization problems
    10. Different ways to implement signals in monitors
    11. Eventcounters and sequencers
    12. Priority waiting in monitors
    13. Interprocess communication: send, receive
    14. Explicit vs. implicit naming; blocking (synchronous) vs. non-blocking (asynchronous) send, receive; link capacity
  4. Scheduling
    1. Metrics for scheduling: turnaround time, response ratio, waiting time, response time, external factors
    2. Process scheduling algorithms: FCFS, SPN, PSPN, HRRN, RR and quanta, MLFB
    3. External priority methods: worst service next, deadline scheduling, fair share scheduling
  5. Memory management
    1. Programs and memory
    2. Memory management with resident monitor
    3. Fence addresses and registers, base and limits registers, bounds registers
    4. Swapping
    5. Fixed size regions (MFT), variable size regions (MVT)
    6. Memory holes (external fragmentation) and allocation algorithms
    7. Fragmentation and compaction

UC Davis sigil
Matt Bishop
Office: 2209 Watershed Sciences
Phone: +1 (530) 752-8060
Email: mabishop@ucdavis.edu
ECS 150, Operating Systems
Version of April 20, 2022 at 7:23PM

You can also obtain a PDF version of this.

Valid HTML 4.01 Transitional Built with BBEdit Built on a Macintosh