CSE 598 Secure Microkernel Design - Spring 2025


Class Syllabus

The general format of the course consists of some regular lectures, problem sets, labs, a project, and exams.
Grading Policy
  • Project 1: 25% RISC-V instruction additions & LLVM compilation support
  • Project 2: 25% Simple microkernel design: writing, building, and loading a simple microkernel
  • Project 3: 25% Simple File System (SFS): Design and implementation of a simple UNIX-like file system with a hierarchical directory structure.
  • Project 4: 25% Security and performance exploration on the final microkernel.
  • Grades will be posted on Canvas.
  • Grades will be assigned two ways:
    • >90 [A], >80 [B], >70 [C], >60 [D]
Missed Class Policy

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.

Late Submission Policy

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.

Plagiarism

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.

Please refer to the Arizona State University’s policy on academic dishonesty.
Tentative Schedule
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