Skip to content

fxlin/os-course

Repository files navigation

WELCOME!

You just found the landing page for the UVA operating system course.

If you have taken this course, you may find materials here.

Although the 1st offering was for cs6456 (grad OS), much content will stay the same for cs4414 (undergrad OS).

Rationale

Most existing OS courses and textbooks focus on kernel designs. As new systems, such as AI engines and trusted execution environments, become part of computing infrastructures, understanding them is as important as kernels. They shall enter the OS curriculum.

Philosophy

The course's first-class goal is to give you experience on software systems. While OS knowledge (e.g. "what are page tables?") is readily available from YouTube, StackOverflow, etc., the experience (e.g. "how to tinker with page tables?") is best delivered through hands-on learning with tight feedback loops.

Overview

The core parts are a series of four projects based on real hardware (ARM64): baremetal kernel, multicore, trusted execution, and filesystem forensics. To give you an idea, check out the link above.

All projects are linked as submodules here.

About

A fun OS course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published