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