Final Study Guide

This is simply a guide of topics that I consider important for the final. 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. Anything from the midterm study guide
  2. Input and Output
    1. device drivers and transparency
    2. structure of a device driver
    3. character code independence, device independence, uniform treatment of devices
    4. escape characters, bit stuffing
    5. device interfaces
    6. device drivers: lower, upper parts
    7. disk scheduling algorithms: FCFS, pick-up, SSTF, SCAN, LOOK, N-Step SCAN, C-SCAN, C-LOOK
    8. file, system calls for I/O
    9. blocking vs. non-blocking I/O
  3. Memory management
    1. bare machine, resident monitor, fence addresses, and fence registers
    2. relocation and address binding
    3. bounds registers, base and limit registers
    4. internal vs. external fragmentation
    5. compaction
    6. paging and page tables
    7. segmentation and segment tables
    8. optimizations: cache, hit ratio, effective memory access time
    9. views of memory: program vs. operating system, address translation
    10. protection
    11. segmented paging (segment the page table)
    12. paged segmentation (page the segments)
    13. virtual memory: demand paging, page faults, pure demand paging
    14. page replacement and victims and dirty bits: FIFO, OPT, LRU, stack algorithms
    15. minimum number of pages per process
    16. global vs. local allocation
    17. working set: thrashing, principle of locality, working set model: working set, window size, working set principle
    18. prepaging, I/O interlock, choosing page size, restructuring program
  4. File Systems
    1. virtual vs. physical; names; directory structures
    2. access control: rights, ACLs, UNIX abbreviations
    3. access via create, open, close, read, write, rewind, delete system calls or commands
    4. access methods: sequential, direct mapped, structured
    5. disk directory: free list implementations, allocation methods (contiguous, linked, indexed)
  5. Deadlock
    1. resource manager, request, release
    2. what is deadlock; difference between it and starvation
    3. resource types: reusable, consumable
    4. how to deal with deadlock: ignore, detection and recovery, prevention (mutual exclusion, no preemption, circular wait, hold and wait), avoidance
    5. deadlock recovery: breaking circular wait, break no preemption (i.e., allow preemption)
    6. deadlock prevention: hierarchical ordering (ordered resource) policy, acquire all resources before running
    7. deadlock avoidance: banker’s algorithm
  6. Computer Security

You can also obtain a PDF version of this. Version of June 2, 2008 at 9:44 PM