Lecture Notes

Or browse the lecture notes directory.

Date Student(s)
2009-01-26 David DeFlyer
Andrew Bullen
Mitchell Hong
2009-01-28 Rohan Gupta
2009-02-02 Rudy Harjanto
Kai Lin Huang
2007-02-04 Noah (Xixiang) Xing
Jinna Lei
2009-02-09 Jonathan Hirschberg
Kumar Garapaty
2009-02-11 Theron Ji
Ami Domadia
2009-02-18 Arkadiy Tetelman
Yi Gao
2009-02-23 Richard Mar
Kristian Lyngbaek
2009-02-25 Abner Morales
Charles Ahn
2009-03-02 Kevin Irish
Gabriel Darone
2009-03-04 Maurya Talisetti
Christopher Berner
2009-03-09 Tian Liang
Colby Boyer
2009-03-11 Robin Liu
Mu-Qing Jing
2009-03-16 Chris Fletcher
Eric Paik
2009-03-18 Zhiyi Li
Guan Quan Liu
2009-03-30 Ilia Lebedev
Raul Anaya
2009-04-01 Andrew Lee
Sherry Hung
2009-04-06 Chao Michael Zhang
Max Loh
2009-04-08 Hon Wai Fung
CongJie Huang
2009-04-13 Armen Khodaverdion
Gautam Wilkins
2009-04-15 Borden Liu
Dwight Crow
2009-04-20 Upinder Malhi
Edward Lin
2009-04-22 Adam Kauk
Kevin Stich
2009-04-27 Shaharyar Muzaffar
Matt Carroll
2009-04-29 Quang Tran
Bao Kham Chau
2009-05-04 Thomas Clark
Colin Rhodes
2009-05-06 Randy Villanueva

Approximate Lecture Schedule


Prof. Alan J. Smith

This outline is approximate, as to coverage and timing.

LectureTopics
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 implementation, disabling interrupts.
7Deadlock, deadlock prevention. deadlock avoidance, banker's algorithm, recovery, rollback. Unix file locking.
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 segmentation 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, protocols, 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 protection, design principles, authentication, authorization determination, access lists, capabilities, Multics protection, access enforcement, common problems.
24Protection: examples of penetration, countermeasures, inference controls, confinement problem, viruses.
25Encryption: substitution, transposition, codes, cryptanalysis, key distribution, DES, public key encryption, 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 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.

Last Updated: $Date: 1/20/2009 11:23:15 $