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:

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:

  1. Address binding - figure 9.1 on page 275, logical versus physical address space
  2. Contiguous memory allocation - first/best/worst fit, fragmentation (external vs. internal, and not just in memory allocation, of course)
  3. Paging - page table (all the flavors: hierarchical, hashed, inverted), frame table, TLB
  4. Virtual memory - locality of reference, demand paging ala figures on pages 320-322, performance, thrashing
  5. 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:

  1. File system basics - file attributes, operations, types, structure, access methods (sequential, direct, indexed)
  2. File sharing and protection - sharing semantics, groups, access control list (ACL), Unix protection
  3. Directory structures - single-level, two-level, tree, DAG, general graph
  4. File system structure - on disk, in memory, partitions, directory implementations (list, hash table)
  5. 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:

  1. I/O hardware - polling vs. interrupts, int handler, maskable ints, int vector, traps, DMA
  2. Kernel I/O handling - scheduling, buffering, caching, spooling
  3. Disk scheduling - FCFS, SSTF, Scan, Look, C-Scan/C-Look, 
  4. 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:

  1. Domains - Unix setuid, Multic rings, need-to-know principle, access matrix, access list, capability list
  2. Language-based protection - enforced in compiler, Java 2 example, type safety
  3. Security basics - levels (physical, human, network, OS), user authentication
  4. Threats - Trojan horse, trap door, stack overflow, worms, viruses, denial of service
  5. Cryptography - public keys, secret keys, SSL

OS-specific reading - Windows NT

Chapter 15 Distributed Systems

Top five (or so) concepts/points:

  1. Distributed OS - motivation, network OS vs. distributed OS
  2. Connection topology - fully connected, partially, tree, star, ring
  3. Naming - DNS
  4. Definitions - routing strategies (fixed, virtual, dynamic), packets (reliable and not), connections (circuit, message, packet), contention (collision detection, tokens, message slots)
  5. Communication protocols - ISO standard layers, Internet protocol (IP)

Os-specific example: TCP/IP