Syllabus


Future lecture/discussion material is subject to change.

Date Topic Addl. Reading
  Discussion  
8/27 L1. Class Overview and Big Picture (DKW, KL) Slides  
8/28 D1. Overview of MPs and Environment  
8/29 L2. RISC-V ISA: Introduction and Instructions (DKW) Slides APR Ch.1, Ch.5
9/3 L3. RISC-V ISA: Control Flow Instructions, Assembly (DKW) Slides APR Ch.6-7
9/4 D2. RISC-V ISA  
9/5 L4. RISC-V ISA: RV64, Calling Conventions (DKW) Slides APR Ch.7-8
9/10 L5. Device I/O (KL) Slides  
9/11 D3. MP1  
9/12 L6. Device I/O (KL) Slides (same as L5)  
9/17 L7. Interrupts (KL) Slides  
9/18 D4. MP1  
9/19 L8. Interrupts (KL) Slides (same as L7)  
9/24 L9. Interrupts (KL) Slides (same as L7)  
9/25 D5. MP2  
9/26 L10. Concurrency with Interrupts (KL) Slides  
10/1 L11. Concurrency with Interrupts cont'd (KL) Slides (same as L10)  
10/2 D6. No Discussion  
10/3 MIDTERM EXAM 1 (NO LECTURE)  
10/8 L13. Concurrency with Interrupts cont'd (KL) Slides (same as L10)  
10/9 D7. MP2  
10/10 L14. Multi-threading (KL) Slides  
10/15 L15. Multi-threading (KL) Slides (same as L14), Device Abstraction Slides   
10/16 D8. MP2  
10/17 L16. Device Drivers: Introduction, I/O Interfaces (DKW) Slides  
10/22 L17. Device Drivers: Read and Write Implementations (DKW) Slides TEP Ch. 36
10/23 D9. MP3  
10/24 L18. Device Drivers: I/O Operations, Device Files (DKW) Slides TEP Ch. 36
10/29 L19. Drivers in Linux (DKW) Slides Code Recording (Open in New Tab) LDD Ch.1-3
10/30 D10. MP3  
10/31 L20. Filesystem (DKW) Slides   
11/5 L21. Recap (KL) Slides  
11/6 D11. Midterm Review  
11/7 MIDTERM EXAM 2 (NO LECTURE)  
11/12 L22. Virtual Memory (KL) Slides  
11/13 D12. Post-Exam Discussion  
11/14 L23. Virtual Memory (KL) Slides MP3 kernel memory  
11/19 L24. Processes (KL) Slides  
11/20 D13. MP3  
11/21 L25. System Calls (KL) Slides (same as Processes)  
12/3 L26. Moar Concurrency (KL) Slides  
12/4 D14. MP3  
12/5 L27. So Much Concurrency, wow (KL)   
12/10 L28. The Delta (KL)  
12/17 FINAL EXAM: 7:00 - 10:00 P.M.  
APR
An Introduction to Assembly Programming with RISC-V
OAA
RISC-V Open Architecture Atlas
TEP
Operating Systems: Three Easy Pieces
LDD
Linux Device Drivers