Future lecture/discussion material is subject to change.
Date | Topic | Reading | |
---|---|---|---|
Lecture | |||
Discussion | |||
8/23 | 1. Class overview and big picture: Lecture1 | CN | |
8/24 | Overview of MPs and Environment | MP0 | |
8/25 | 2. x86 instruction set architecture: introduction and instructions: Lecture2 | CN | |
8/30 | 3. x86 isa: assembler conventions, calling convention, example: Lecture3 | CN | |
8/31 | PS1, x86 | PS1 | |
9/1 | 4. C to x86 linkage, device I/O; role of system software, system calls: Lecture4 | CN, ULK1 | |
9/6 | 5. Interrupts and exceptions, processor and ISA support: Lecture5 | CN, (ULK4) | |
9/7 | MP1, x86, calling convention | MP1 | |
9/8 | 6. Shared resources, critical sections, examples: Lecture6 | CN, (ULK5) | |
9/13 | 7. Multiprocessors and locks, conservative synchronization desig: Lecture7 | CN (ULK5) | |
9/14 | PS2, Synchronization | PS2 | |
9/15 | 8. Linux synchronization interface, synchronization hazards: Lecture8 | CN | |
9/20 | 9. Programmable interrupt controller motivation and design: Lecture9 | CN | |
9/21 | MP2.1, Synchronization | MP2 | |
9/22 | 10. Linux abstraction of PIC; Interrupt support in Linux: data structures, installation and removal : Lecture10 | CN (LDD9) | |
9/27 | 11. EXAM Review; example of a synchronization primitive design: Lecture11_Opt | CN, (LDD9) | |
9/28 | Exam review | ||
9/29 | MIDTERM EXAM 1 (NO LECTURE) | ||
10/4 | 12. Interrupt support in Linux: invocation; summary of the interrupt support: Lecture12 | ||
10/5 | MP2.2 | MP2 | |
10/6 | 13. Soft interrupts/tasklets; Virtual memory: rationale, segmentation: Lecture13 | CN, ULK2 | |
10/11 | 14. Virtual memory: paging (Form groups for MP3): Lecture14 | CN, ULK2, (LDD13) | |
10/12 | MP3 overview, MP3.1 | MP3 | |
10/13 | 15. Virtual memory conclusions; Filesystem: philosophy, ext2 as example (file system in MP3): Lecture15 | CN, ULK12&18 | |
10/18 | 16. Programs to processes: rationale, terminology, and structures (task structure, kernel stack, TSS): Lecture16 | ULK3 | |
10/19 | MP3.2 | MP3 | |
10/20 | 17. Programs to processes: creating processes; job types and basics of scheduling Lecture17 | ULK3&7 | |
10/25 | 18. Programs to processes: scheduler design and implementation: Lecture18 | ULK7 | |
10/26 | MP3.3; Exam 2 review | MP3 | |
10/27 | 19. System call linkage: Lecture19 | CN; ULK10 | |
11/01 | MIDTERM EXAM 2 (NO LECTURE) | ||
11/2 | MP3.3 | MP3 | |
11/3 | 20. Memory allocation: Lecture20 | ULK8 | |
11/8 | 21. Memory management data structures- process address space: Lecture21 | ULK9 | |
11/9 | MP3.4, system calls | MP3 | |
11/10 | 22. Abstracting devices: block and character devices; device drivers: Lecture22 | LDD1&3, (ULK13) | |
11/15 | 23. Driver development process and detailed example: Lecture23 | CN6a; LDD3 | |
11/16 | MP3.4, system calls | MP3 | |
11/17 | 24. Detailed example of driver development, continued: Lecture24 | CN6a | |
Thanksgiving Break | |||
11/29 | 25. Signals: user-level analogue of interrupts, controlling behavior: Lecture25 | CN | |
12/01 | 26. Class summary; brief introduction of my research: resilient computing systems | ||
11/30 | MP3.5 | MP3 | |
12/6 | No lecture, MP3 demos | ||
12/9 | FINAL EXAM: December 09; 1:30pm - 4:30pm |