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