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.
- 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
- hardware characteristics of disks, magnetic tape, communications lines
- escape characters, buit 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
- Saltzer's and Schroeder's Design Principles
- access control: subects, objects, access control matrix, access control lists, capability lists, Multics protection rings,
- logging actions and auditing
- verification of user identity; the UNIX/MINIX method
- keeping data private (confidentiality)
- keeping data unaltered (integrity)
- attacks: ciphertext only, known plaintext, chosen plaintext
- classical ciphers: Cæsar cipher, Data Encryption Standard
- key distribution problem
- 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