| Monday | Tuesday | Wednesday | Thursday | Friday |
| aug 24 week 1 |
aug 25 LEC 1: Introduction, slides, and Xv6 book Preparation: Read Xv6: Ch 2 OS Organization (for your amusement: Unix) Assignment: Lab shell: Unix shell |
aug 26 | aug 27 LEC 2: C Programming, slides, and examples Preparation: Read Introduction in Lab firstlab: C Programming, Pointers: 5.1- 5.6, and Structures: 6.1-6.4 in Kernighan & Ritchie Assignment: Lab firstlab: C Programming |
aug 28 |
| aug 31 week 2 |
sep 1 LEC 3: C Programming - Xv6 API, slides, and examples Preparation: Read Xv6: Ch 1 OS Interfaces |
sep 2 | sep 3 DUE at 8AM: Lab firstlab: C Programming LEC 4: C Programming - Xv6 API, slides, and examples Preparation: Read Bitwise Operators: 2.9, Pointers: 5.1- 5.6, and Structures: 6.1-6.4 in Kernighan & Ritchie Assignment: Lab util: Unix utilities |
sep 4 |
| sep 7 week 3 Labor Day |
sep 8 LEC 5: OS Design, slides Preparation: Read Xv6: Ch 2 OS Organization and xv6 code: kernel/proc.h, kernel/defs.h, kernel/entry.S, kernel/main.c, user/initcode.S, user/init.c, and skim kernel/proc.c and kernel/exec.c |
sep 9 | sep 10 DUE at 8AM: Lab util: Unix utilities LEC 6: RISC-V Calling conventions, slides Preparation: Read RISC-V Calling Convention |
sep 11 DROP w/o W |
| sep 14 week 4 |
sep 15 LEC 7: System Call Entry/Exit and Traps, slides, slides_extra Preparation: Read Xv6 Ch 4 Traps, except 4.6 and kernel/riscv.h, kernel/trampoline.S, and kernel/trap.c Assignment: Lab syscall: System calls |
sep 16 | sep 17 LEC 8: Virtual Addressing, slides Preparation: Read OSTEP: Ch 15: Address Translation, Ch 16: Segmentation, and Ch 18:Intro to Paging. | sep 18 |
| sep 21 week 5 |
sep 22 DUE at 8AM: Lab syscall: System calls LEC 9: Page Tables, slides Preparation: Read Xv6: Ch 3 Page Tables and kernel/memlayout.h, kernel/vm.c, kernel/kalloc.c, kernel/riscv.h, and kernel/exec.c |
sep 23 | sep 24 LEC 10: Page Faults, slides Preparation: Read Xv6: Section 4.6 Page Faults Assignment: Lab pgtbl: Page Tables |
sep 25 |
| sep 28 week 6 |
sep 29 LEC 11: Device drivers, slides Preparation: Read Xv6: Ch 5 Interrupts and kernel/kernelvec.S, kernel/plic.c, kernel/console.c, kernel/uart.c, kernel/printf.c |
sep 30 | oct 1 DUE at 8AM: Lab pgtbl: Page Tables LEC 12: Locking, slides Preparation: Read Xv6: Ch 6 Locking with kernel/spinlock.h and kernel/spinlock.c Assignment: Lab traps: Traps |
oct 2 |
| oct 5 week 7 |
oct 6 Review Material from First Half of Class Prepare for Midterm Exam Discuss Second Half Material |
oct 7 | oct 8 Midterm Exam |
oct 9 |
| oct 12 week 8 Fall Break |
oct 13 Fall Break |
oct 14 |
oct 15 Review Midterm Exam Begin Second Half of Material | oct 16 |
| oct 19 week 9 |
oct 20 DUE at 8AM: Lab traps: Traps LEC 13: Scheduling Basics, slides Preparation: Read OSTEP: Ch 6: Direct Execution and Ch 7: Scheduling. |
oct 21 | oct 22 LEC 14: Scheduling Fair, slides Preparation: Read OSTEP: Ch 8: MLFQ and Ch 9: Lottery. |
oct 23 |
| oct 26 week 10 |
oct 27 LEC 15: Scheduling Details, Scheduling Coordination, code, slides Preparation: Read Xv6: Ch 7 Scheduling at least through Section 7.6, and kernel/proc.c, kernel/swtch.S, kernel/sleeplock.c Assignment: Lab scheduling: Scheduling |
oct 28 | oct 29 LEC 16: File systems, slides Preparation: Read Xv6: Ch 8 File system (except for logging sections) and kernel/bio.c, kernel/fs.c, kernel/sysfile.c, kernel/file.c |
oct 30 DROP w/o F |
| nov 2 week 11 |
nov 3 DUE at 8AM: Lab scheduling: Scheduling LEC 17: Crash recovery, slides Preparation: Read Xv6: Ch 8 logging sections and kernel/log.c |
nov 4 | nov 5 LEC 18: File system performance and fast crash recovery Preparation: Read Journaling the Linux ext2fs Filesystem (1998) Assignment: Lab fs: File Systems |
nov 6 |
| nov 9 week 12 |
nov 10 LEC 19: Concurrency - Threads Intro, slides Preparation: Read OSTEP: Ch 26: Concurrency Intro and Ch 27: Threads API. |
nov 11 | nov 12 DUE at 8AM: Lab fs: File Systems LEC 20: Concurrency - Locks, slides Preparation: Read OSTEP: Ch 28: Locks |
nov 13 |
| nov 16 week 13 |
nov 17 LEC 21: Concurrency - Condition Variables, Semaphores, slides Preparation: Read OSTEP: Ch 30: Condition Variables Ch 31: Semaphores. Assignment: Lab thread: Multithreading |
nov 18 | nov 19 Special Lab Day - Security Lab. Preparation: Read and answer the questions in Lab Security. Mandatory Class Attendance! Assignment: Lab security: Security |
nov 20 |
| nov 23 week 14 |
nov 24 Special Lecture Topic Day - Bitcoin and Blockchains, slides |
nov 25 | nov 26 Thanksgiving Break |
nov 27 Thanksgiving Break |
| nov 30 week 15 |
dec 1 DUE at 8AM: Lab thread: Multithreading Review Material from Entire Class Prepare for Final Exam |
dec 2 | dec 3 DUE at 8AM: Lab shell: Unix shell Free Day - Ask questions about Final Exam as needed |
dec 4 All Labs Must Be Submitted by 5PM Today! |
| dec 7 week 16 - Exams |
dec 8 Final Exam: 8:30-11 |
dec 9 Exam Week |
dec 10 Exam Week |
dec 11 Exam Week |
Questions or comments regarding CPSC 405? Send e-mail to Gusty at ecooper@umw.edu.
Top //
CPSC 405 home //
Last updated 8-Aug-2024 13:30 EST