Skip to main content.

Lecture Notes

Or browse the lecture notes directory.

See also student-taken notes, Thomas' 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.

1introduction, processes, multiprogramming.
2EIT, scheduler, CPU scheduling system model, CPU scheduling, goals.
3CPU 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,
4CPU scheduling: fair share scheduler, countermeasures. Discrete event simulation. Cooperating processes, atomic operations, critical sections, too much milk problem. Synchronization with semaphores.
5Synchronization: producers and consumers, readers and writers, dining philosophers.
6Threads. Synchronization with Condition Variables. Unix implementation. Monitors. Semaphore implementa- tion, disabling interrupts.
7Deadlock, deadlock prevention. deadlock avoidance, banker's algorithm, recovery, rollback. Unix file lock- ing.
8Linkers and loaders. Dynamic storage allocation: stacks, heaps, fragmention, (external/internal)first fit, best fit, next fit, bit map, reference counts, garbage collection, buddy system.
9Memory management - flat memory, relocation (static, dynamic), base and bounds, swapping.
10Multiple variable length segments, address translation, processes vs. threads, managing segments, paging (intro)
11Paging: translation, PTBR, pros/cons, page tables, page table implementation, wired down pages, paging and seg- mentation combined, sharing, paging vs. segmentation.
12Paging: copy on write, address space communication, I/O in paging system, sharing, 370 implementation, VAX implementation, TLB, principle of locality, translator.
13Demand paging, principle of locality, page faults. paging fetch algorithms, page replacement algorithms (RAND, FIFO, LRU, MIN/OPT), real vs. virtual time.
14Evaluation of paging algorithms, stack algorithms. implementing LRU, clock algorithm, local vs. global replacement.
15Thrashing, working sets. page fault frequency, page size, I/O and paging, trace driven simulation, modify- ing code to minimize paging, algorithm comparison.
16I/O device characteristics and device management.
17I/O device characteristics and device management.
18File and I/O systems - disk management, file alloca- tion, contiguous allocation, linked files, multilevel indexed file, simple indexed file, dynamic optimized allocation (Demos), free block list.
19I/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.
20File descriptor, tree structured directories, links, symbolic links, root, tree structured directories, working directory, operations on files, file backup and recovery.
21Networks and communications protocols, examples, hardware, topologies, performance parameters, proto- cols, ISO, wide area nets, broadcast nets, ethernet.
22Networks: ring networks, circuit switching, packet switching, names vs. routes, communication problems, datagrams, TCP/IP, NFS.
23Protection and security: problems, levels of info pro- tection, design principles, authentication, authoriza- tion determination, access lists, capabilities, Multics protection, access enforcement, common problems.
24Protection: examples of penetration, countermeasures, inference controls, confinement problem, viruses.
25Encryption: substitution, transposition, codes, cryp- tanalysis, key distribution, DES, public key encryp- tion, safe mail, digital signatures, Clipper Chip.
26Virtual Machines, VMM, emulators, implementation, memory mapping, I/O, VM performance. Real Time Systems - deadlines.
27Performance evaluation: measurement, hardware monitor- ing, software monitoring, multics, GTF, workload char- acterization, analytic modeling, queueing networks, simulation, back-of-the-envelope calculations. Hints for OS designers. Current research in Operating Sys- tems.