Skip to main content.

Lecture Notes

Or browse the lecture notes directory.

See also student-taken notes, Karl's section notes.

Lecture Schedule

This outline is approximate, as to coverage and timing. Because a new topic was sometimes started mid-lecture, boundaries between Prof. Smiths' note sets are also approximate.

1 Smith.1 Introduction, processes, multiprogramming.
2 EIT, scheduler, CPU scheduling system model, CPU scheduling, goals.
3 CPU scheduling, metrics, constraints, open vs. closed systems, user characteristics, job characteristics, FIFO, round robin, little's formula, CPU Scheduling: SJF, SPT, SRPT, FB, MLFB, Exponential queue.
4 Smith.2 CPU scheduling: fair share scheduler, countermeasures. Discrete event simulation. Cooperating processes, atomic operations, critical sections, too much milk problem. Synchronization with semaphores.
5 Synchronization: producers and consumers, readers and writers, dining philosophers.
6 Smith.3 Threads. Synchronization with Condition Variables. Unix implementation. Monitors. Semaphore implementation, disabling interrupts.
7 Deadlock, deadlock prevention. deadlock avoidance, banker's algorithm, recovery, rollback. Unix file locking.
8 Linkers and loaders. Dynamic storage allocation: stacks, heaps, fragmention (external/internal), first fit, best fit, next fit, bit map, reference counts, garbage collection, buddy system.
9 Smith.4 Memory management - flat memory, relocation (static, dynamic), base and bounds, swapping.
10 Multiple variable length segments, address translation, processes vs. threads, managing segments, paging (intro)
11 Paging: translation, PTBR, pros/cons, page tables, page table implementation, wired down pages, paging and segmentation combined, sharing, paging vs. segmentation.
12 Smith.5 Paging: copy on write, address space communication, I/O in paging system, sharing, 370 implementation, VAX implementation, TLB, principle of locality, translator.
13 Demand paging, principle of locality, page faults. paging fetch algorithms, page replacement algorithms (RAND, FIFO, LRU, MIN/OPT), real vs. virtual time.
14 Evaluation of paging algorithms, stack algorithms. implementing LRU, clock algorithm, local vs. global replacement.
15 Thrashing, working sets. page fault frequency, page size, I/O and paging, trace driven simulation, modifying code to minimize paging, algorithm comparison.
16 Smith.6 I/O device characteristics and device management.
17 I/O device characteristics and device management.
18 Smith.7 File and I/O systems - disk management, file allocation, contiguous allocation, linked files, multilevel indexed file, simple indexed file, dynamic optimized allocation (Demos), free block list.
19 I/O optimization: block size, disk arm sked (fcfs, sstf, scan, cscan), rotational scheduling, skip sector allocation, track offset for head switching, file placement, disk caching, prefetching, data replication, ALIS, RAID.
20 File descriptor, tree structured directories, links, symbolic links, root, tree structured directories, working directory, operations on files, file backup and recovery.
21 Smith.8 Networks and communications protocols, examples, hardware, topologies, performance parameters, protocols, ISO, wide area nets, broadcast nets, ethernet.
22 Networks: ring networks, circuit switching, packet switching, names vs. routes, communication problems, datagrams, TCP/IP, NFS, distributed systems, Amdahl's Law.
23 Smith.9 Protection and security: problems, levels of info protection, design principles, authentication, authorization determination, access lists, capabilities, Multics protection, access enforcement, common problems.
24 Protection: examples of penetration, countermeasures, inference controls, confinement problem, viruses.
25 Encryption: substitution, transposition, codes, cryptanalysis, key distribution, DES, public key encryption, safe mail, digital signatures, Clipper Chip.
26 Smith.10 Virtual Machines, VMM, emulators, implementation, memory mapping, I/O, VM performance. Real Time Systems - deadlines.
27 Performance evaluation: measurement, hardware monitoring, software monitoring, multics, GTF, workload characterization, analytic modeling, queueing networks, simulation, back-of-the-envelope calculations. Hints for OS designers. Current research in Operating Systems.
Smith.11 Grad schools