Students must contact the instructor prior to missing an exam to schedule a makeup exam. Makeup exams will only be scheduled following an exam in cases of documented emergencies.
Problem sets or laboratory assignments or course project submitted after the due date/time are considered late and will not be graded. Late submissions will only be graded in cases of documented emergencies.
Discussion of course material and collaboration with other students is encouraged but each student must write/type and submit his/her own solution. Your essays, code and proofs (if applicable) should never contain sections which are identical to the submission of another student, past or present. Submitted work must be entirely that of the student(s) whose name(s) appear(s) on the submission and not solicited in any way from others. Violation of these policies can result in automatic failure of the course.
Week | Monday | Wednesday |
Topic Introduction to the fundamentals of computer architecture using the RISC-V ISA |
1. CPU design (data path and control, pipelining, etc.) M. Kinsy |
2. Memory systems including caching and virtual memory 3. Peripherals - I/O M. Kinsy |
Topic LVM Overview: a modern compiler infrastructure |
Jan 20 Martin Luther King Jr. Holiday M. Kinsy |
1. Brief introduction to LLVM analysis and instrumentation passes 2. LLVM-based symbolic execution M. Kinsy |
Topic LLVM Programming |
3. LLVM intermediate representation (LLVM IR) programming M. Kinsy |
4. LLVM Review & Presentations LLVM Compilation Support DUE M. Kinsy |
Topic Overview of Operating Systems and Microkernels |
1. Differences between microkernel and monolithic M. Kinsy |
2. Advantages of a microkernel architecture in terms of security, safety, and reliability M. Kinsy |
Topic OS/microkernel structures and privileged operations |
1. Characteristics/properties of microkernel-based operating systems 2. Exokernel, L3 microkernel, sel4 microkernel M. Kinsy |
3. Microkernel-implemented capabilities 4. Implementation of microkernel internals on the RISC-V architecture M. Kinsy |
Topic Virtualization techniques |
1. Memory Virtualization M. Kinsy |
2. CPU and Device virtualization Simple Microkernel Design: DUE M. Kinsy |
Topic Microkernel process management |
1. Synchronization, communication and scheduling M. Kinsy |
2. Lightweight message passing interface (MPI) and remote procedure calls (RPC) 3. Shared memory multiprocessor M. Kinsy |
Topic File system design fundamental concepts |
1. Linked and indexed file allocation, mounting, virtual file system layer, memory mapping, and journaling M. Kinsy |
2. Goals of different file systems and virtual file system (VFS) 3. File systems performance optimizations Simple File System (SFS) DUE M. Kinsy |
Topic Project Activities |
Apr 21 Project Activities M. Kinsy |
Apr 23 Project Activities M. Kinsy |
Topic Project Activities |
Apr 28 Project Activities M. Kinsy |
Apr 30 Project Activities M. Kinsy |
Topic Final Reports - Final Microkernel |
May 05 Final examinations |
May 07 Final examinations |