Week
|
Topic |
Reading |
Notes* |
| Week 1 (1/20) |
Introduction -- course overview, refresher on OS basics (OS structure: monoliths, microkernels, virtual machines, syscalls, kernel services, etc) | |
|
| |
Quest-V SDK | ||
| Week 2 (1/27) |
Quest-V SDK (continued) -- Walkthrough of markdown documents, code examples, Quest-V overview -- features, code structure, walkthrough and how it works |
|
|
| Virtualization and Microkernels |
|
||
| Week 3 (2/3) |
Virtualization and Microkernels -- continued |
|
|
| Virtualization -- shadow page tables/EPTs, VMCS details |
|
||
| Week 4 (2/10) |
x86 Architecture -- ISA, inline assembly, 32- vs 64-bit, switching into 64-bit mode, 2- vs 4/5-level paging |
|
|
| Quest overview -- features, code structure, boot up/initialization | |||
| Week 5 (2/17) |
Substitute Monday Schedule for Presidents' Day Holiday | |
|
| |
Symmetric multiprocessing -- initialization (INIT/SIPI/SIPI, etc), synchronization basics (semaphores, spinlocks) | ||
| Week 6 (2/24) |
Batched Priority Locking (BPL) -- explanation and comparison with alternative approaches |
|
|
| |
Scheduling -- Quest VCPU design, sporadic servers, theory vs code walkthrough |
|
|
| Week 7 (3/3) |
Scheduling -- Linux SCHED_DEADLINE, CBS, PREEMPT-RT concepts |
|
|
| |
Memory Management -- TLSF, Pow2 memory allocator, Quest code walkthough of memory management |
|
|
| Week 8 (3/10) |
Spring Recess | ||
| |
Spring Recess | ||
| Week 9 (3/17) |
Input/Output -- IDT, device enumeration, PCI configuration space, LAPIC/IOAPIC, MSI |
|
|
| USB Part 1 -- Overview of USB concepts (EHCI, xHCI) |
|
||
| Week 10 (3/24) |
USB Part 2 -- Communication, xDBC, xDCI |
|
|
| Differentiated Services -- interrupters work with MSI, Quest IOVCPUs |
|
||
| Week 11 (3/31) |
Power Management -- ACPI (power states and table structures), ACPICA documentation | ||
| |
Power Management in Quest-V |
|
|
| Week 12 (4/7) |
Quest-V advanced concepts -- shmcomm, tuned pipes |
|
|
| |
DriveOS & ModelMap |
|
|
| Week 13 (4/14) |
Security -- system compartmentalization basic concepts, capability systems | Basic Concepts:
|
|
| |
Security -- system compartmentalization basic concepts, capability systems (continued) | Capability Systems:
|
|
| Week 14 (4/21) |
Security -- microkernels and virtualization approaches |
|
|
| |
Security -- vmfunc instructions, CET (control flow enforcement technology), VT-rp (HLAT concepts), CACHE approach: sentry code concepts, examples, comparison with related work |
|
|
| Week 15 (4/28) |
Class Project Presentations (Part 1) | |
|
| |
Class Project Presentations (Part 2) |
|