Study Guide for Final

This is simply a guide of topics that I consider fair game 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.

  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. hardware characteristics of disks, magnetic tape, communications lines
    5. escape characters, buit stuffing
    6. device interfaces
    7. device drivers: lower, upper parts
    8. disk scheduling algorithms: FCFS, pick-up, SSTF, SCAN, LOOK, N-Step SCAN, C-SCAN, C-LOOK
    9. file, system calls for I/O
    10. 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
    1. Saltzer's and Schroeder's Design Principles
    2. access control: subects, objects, access control matrix, access control lists, capability lists, Multics protection rings,
    3. logging actions and auditing
    4. verification of user identity; the UNIX/MINIX method
    5. keeping data private (confidentiality)
    6. keeping data unaltered (integrity)
    7. attacks: ciphertext only, known plaintext, chosen plaintext
    8. classical ciphers: Cæsar cipher, Data Encryption Standard
    9. key distribution problem
    10. public key ciphers: requirements, RSA cryptosystem


Send email to cs150@csif.cs.ucdavis.edu.

Department of Computer Science
University of California at Davis
Davis, CA 95616-8562



Page last modified on 3/13/2000