Click on each date for detailed notes (if available). As always, the future is uncertain, so you should take parts of the schedule that haven't happened yet with a grain of salt.
<<MonthCalendar: execution failed [Macro instance has no attribute 'form'] (see also the log)>> |
<<MonthCalendar: execution failed [Macro instance has no attribute 'form'] (see also the log)>> |
<<MonthCalendar: execution failed [Macro instance has no attribute 'form'] (see also the log)>> |
<<MonthCalendar: execution failed [Macro instance has no attribute 'form'] (see also the log)>> |
- 2007-01-17
Introduction. What the course is about. CS422/Assignments/HW0. Readings: OperatingSystemsOverview, SGG Chapter 1.
- 2007-01-22
Operating system structure, the boot process, and real-mode IA-32 assembly programming. Readings: SGG Chapter 2, OperatingSystemStructure, BootProcess, IntelAssemblyProgramming. The USB missile launcher mentioned in class can be found here.
- 2007-01-24
Processes and threads (mostly processes). Readings: Processes, SGG Sections 3.1–3.3 and 4.1–4.2, BirrellThreads.
- 2007-01-29
Threads: implementation, user vs system threads, examples, (start of) ConcurrencyControl. Readings: SGG Chapter 4.
- 2007-01-31
ConcurrencyControl. Readings: SGG Chapter 6.
- 2007-02-05
More ConcurrencyControl: Deadlock detection, recovery, and avoidance. Readings: SGG Chapter 7.
- 2007-02-07
ProcessorScheduling algorithms and their properties. CS422/Assignments/HW2. Readings: SGG Chapter 5 (you may also want to go back and look at the overview in Section 3.2).
- 2007-02-12
InterProcessCommunication. Readings: SGG §3.4–3.6.
- 2007-02-14
Start of MemoryManagement: relocation, logical vs physical addresses, segmentation, (start of) paging. Readings: SGG Chapter 8.
- 2007-02-19
More MemoryManagement: Paging. Readings: SGG §8.4–8.5, 8.7.
- 2007-02-21
Caching and VirtualMemory. Readings: SGG Chapter 9.
- 2007-02-26
InputOutput. Today we covered the basics of what the I/O system looks from the user's perspective (block devices vs character devices, asynchronous vs synchronous I/O) and the hardware perspective (I/O instructions vs memory-mapped I/O, device controllers, DMA). We also spent a while talking about condition variables, which were mostly skipped over in previous lectures but which play a big role in CS422/Assignments/HW3. Readings: SGG Chapter 13.
- 2007-02-28
More InputOutput: device driver examples. Readings: SGG Chapter 13.
- 2007-03-05
BlockDevices: low-level disk stuff. Readings: SGG Chapter 12.
- 2007-03-07
FileSystems: interface. Readings: SGG Chapter 10.
- 2007-03-26
FileSystems: implementation. Readings: SGG Chapter 11.
- 2007-03-28
FileSystems: integrity. Consistency checking, journaling, LogStructuredFilesystem. Readings: SGG §§11.7-11.8.
- 2007-04-02
Networking: transports, routing, and protocols. Readings: SGG §§16.3–16.6, 16.9.
- 2007-04-04
More Networking: TCP details, operating system support, and user interface.
- 2007-04-09
No lecture due to sudden illness.
- 2007-04-11
NetworkFileSystems. Readings: SGG Chapter 17, nfs-design.pdf
- 2007-04-16
DistributedSystems: examples of popular distributed systems that don't use any coordination mechanisms. Basic coordination mechanisms: logical time and mutual exclusion. Readings: SGG Chapter 18.
- 2007-04-18
More DistributedSystems: transactions, two-phase commit, agreement protocols, Paxos. Readings: rest of Chapter 18.
- 2007-04-23
ComputerSecurity: protection mechanisms. Readings: SGG Chapter 14.
- 2007-04-25
ComputerSecurity: implementation issues; practical attacks and defenses. Readings: SGG Chapter 15.
- 2007-04-30
- 2007-05-11
Final exam: CS422/Assignments/FinalExam