Final Exam Review Notes
You will be allowed 1 8.5" by 11" sheet of notes for the Final. You can use the front and back of the sheet for your notes.
The font should be large enough so that you can read it.
The Final is not explicitly comprehensive. That means that you won't
have, for example, a question asking you to run the Banker's Algorithm again.
Past topics may, however, be referenced in the course of asking a question. Get
it?
On the Final, you will be probed on Chapters 9-19 of our text...
excluding:
- Section 14.5 & 14.8 - "RAID levels" and tertiary storage
- Section 18.6 - Capability-based systems: Hydra and CAP
- Chapter 16 Distributed File Systems
- Chapter 17 Distributed Coordination
My review notes below are simply my thoughts on what is important for the
Final. You are still responsible for all items listed above, even
if they are not explicitly mentioned in these notes.
Chapter 9-10 Memory Management
Top five concepts/points:
- Address binding - figure 9.1 on page 275, logical versus physical address
space
- Contiguous memory allocation - first/best/worst fit, fragmentation
(external vs. internal, and not just in memory allocation, of course)
- Paging - page table (all the flavors: hierarchical, hashed, inverted),
frame table, TLB
- Virtual memory - locality of reference, demand paging ala figures on pages
320-322, performance, thrashing
- Page replacement algorithms - Fifo, Lru, Optimal, Second chance, program
#2 stuff, Belady's Anomaly
OS-specific reading: Virtual memory implementations in Windows NT &
Solaris
Chapter 11-12 File Systems
Top five concepts/points:
- File system basics - file attributes, operations, types, structure, access
methods (sequential, direct, indexed)
- File sharing and protection - sharing semantics, groups, access control
list (ACL), Unix protection
- Directory structures - single-level, two-level, tree, DAG, general graph
- File system structure - on disk, in memory, partitions, directory
implementations (list, hash table)
- Allocating files on disk - contiguous, linked, indexed, Unix inode
"combined scheme" ala figure on page 429, free space management
(bit vector, list, grouping)
OS-specific topic: NFS
Chapter 13-14 I/O Systems
Top five (or so) concepts/points:
- I/O hardware - polling vs. interrupts, int handler, maskable ints, int
vector, traps, DMA
- Kernel I/O handling - scheduling, buffering, caching, spooling
- Disk scheduling - FCFS, SSTF, Scan, Look, C-Scan/C-Look,
- Disk basics - blocks, cylinders, sectors, formatting, handling bad blocks
(sector sparing & slipping)
OS-specific topic: Unix V Streams I/O structure
Chapter 18-19 Protection & Security
Top five concepts/points:
- Domains - Unix setuid, Multic rings, need-to-know principle, access
matrix, access list, capability list
- Language-based protection - enforced in compiler, Java 2 example, type
safety
- Security basics - levels (physical, human, network, OS), user
authentication
- Threats - Trojan horse, trap door, stack overflow, worms, viruses, denial
of service
- Cryptography - public keys, secret keys, SSL
OS-specific reading - Windows NT
Chapter 15 Distributed Systems
Top five (or so) concepts/points:
- Distributed OS - motivation, network OS vs. distributed OS
- Connection topology - fully connected, partially, tree, star, ring
- Naming - DNS
- Definitions - routing strategies (fixed, virtual, dynamic), packets
(reliable and not), connections (circuit, message, packet), contention
(collision detection, tokens, message slots)
- Communication protocols - ISO standard layers, Internet protocol (IP)
Os-specific example: TCP/IP