Lecture Notes
[an error occurred while processing this directive]
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.
Lecture | Notes | Topics |
---|---|---|
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 | 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 | Threads. Synchronization with Condition Variables. Unix implementation. Monitors. Semaphore implementa- tion, disabling interrupts. | |
7 | Deadlock, deadlock prevention. deadlock avoidance, banker's algorithm, recovery, rollback. Unix file lock- ing. | |
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 | 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 seg- mentation combined, sharing, paging vs. segmentation. | |
12 | 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, modify- ing code to minimize paging, algorithm comparison. | |
16 | I/O device characteristics and device management. | |
17 | I/O device characteristics and device management. | |
18 | File 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. | |
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 | Networks and communications protocols, examples, hardware, topologies, performance parameters, proto- cols, ISO, wide area nets, broadcast nets, ethernet. | |
22 | Networks: ring networks, circuit switching, packet switching, names vs. routes, communication problems, datagrams, TCP/IP, NFS. | |
23 | Protection and security: problems, levels of info pro- tection, design principles, authentication, authoriza- tion 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, cryp- tanalysis, key distribution, DES, public key encryp- tion, safe mail, digital signatures, Clipper Chip. | |
26 | Virtual Machines, VMM, emulators, implementation, memory mapping, I/O, VM performance. Real Time Systems - deadlines. | |
27 | Performance 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. |