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 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. Types of operating systems: monolithic, kernel, process hierarchy, object oriented, client server
    8. Command interpreters and user environments for invoking programs
    9. Basic parts of kernel: first-level interrupt handler, dispatcher, interprocess communications primitives
    10. Process control block
  2. 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: down, up; solving synchronization problems
    9. abstract data types, monitors; wait, signal; solving synchronization problems
    10. different ways to implement signals in monitors
    11. priority waiting in monitors
    12. interprocess communication: send, receive
    13. explicit vs. implicit naming
    14. blocking (synchronous) vs. non-blocking (asynchronous) send, receive
    15. link capacity
    16. remote procedure calls
  3. Scheduling
    1. short-term, medium-term, long-term schedulers
    2. metrics for scheduling: turnaround time, response ratio, waiting time, response time, external factors
    3. first come first serve algorithm
    4. Shortest process next, pre-emptive shortest process next (shortest remaining time next) algorithms
    5. Highest response ratio next algorithm
    6. Round robin algorithm, quantum
    7. Multilevel feedback queue algorithm
    8. External priority methods: worst service next, deadline scheduling, fair share scheduling

You can also obtain a PDF version of this. Version of April 27, 2008 at 7:58 PM