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 SDKPart 1 -- Overview of the Quest
RTOS and Quest-V partitioning hypervisor |
||
| Week 2 (1/27) |
Quest-V SDK Part 2 -- including assignment
discussion |
|
|
| Walkthrough of markdown documents, code
examples, toolchain, example demos |
|
|
|
| Week 3 (2/3) |
System structure -- monoliths,
microkernels, virtual machines |
|
|
| Virtualization -- VT-x basics, including
VMCS details |
|
|
|
| Week 4 (2/10) |
Virtualization -- guest address
translation: shadow page tables/EPTs |
|
|
| Virtualization -- Quest-V control flow |
|
||
| Week 5 (2/17) |
Substitute Monday Schedule for Presidents' Day Holiday |
|
|
| x86 Architecture -- ISA, inline assembly, 32- vs 64-bit, switching into 64-bit mode, 2- vs 4/5-level paging |
|
||
| Week 6 (2/24) |
Quest walkthrough Part 1 - features, code structure, bootstrapping, memory layout, address spaces, threads, interrupts, syscalls,... |
|
|
| Quest walkthrough Part 2 -- user-kernel control flow, per-CPU data structures, modules, driver subsystem, serial debugging,... | |||
| Week 7 (3/3) |
Symmetric multiprocessing -- initialization (INIT/SIPI/SIPI, etc), synchronization basics (semaphores, spinlocks) |
|
|
| Batched Priority Locking (BPL) -- explanation and comparison with alternative approaches |
|
|
|
| Week 8 (3/10) |
Spring Recess |
||
| Spring Recess |
|||
| Week 9 (3/17) |
Scheduling -- Quest VCPU design, sporadic servers, theory vs code walkthrough |
|
|
| Scheduling -- Linux SCHED_DEADLINE, CBS, PREEMPT-RT concepts |
|
|
|
| Week 10 (3/24) |
Memory Management -- TLSF, Pow2 memory allocator, Quest code walkthough of memory management |
|
|
| Input/Output -- IDT, device enumeration, PCI configuration space, LAPIC/IOAPIC, MSI |
|
|
|
| Week 11 (3/31) |
USB Part 1 -- Overview of USB concepts (EHCI, xHCI) |
|
|
| USB Part 2 -- Communication, xDBC, xDCI |
|
|
|
| Week 12 (4/7) |
Power Management -- ACPI (power states and
table structures), ACPICA documentation |
|
|
| No class (PI meeting) |
|||
| Week 13 (4/14) | Differentiated Services -- interrupters work with MSI, Quest IOVCPUs |
|
|
| Power Management in Quest-V |
|
|
|
| Week 14 (4/21) |
Quest-V advanced concepts -- shmcomm, tuned pipes, DriveOS & ModelMap |
|
|
| Security -- system compartmentalization basic concepts, capability systems | Basic Concepts:
Capability Systems:
Capability-aware Hardware:
|
|
|
| Week 15 (4/28) |
Security -- vmfunc instructions, CET (control flow enforcement technology), VT-rp (HLAT concepts), CACHE approach: sentry code concepts, examples, comparison with related work |
|
|
| Class Project Presentations | |
||
| |
Poster Session |
|