How secs-dev/os-course works
This repository is the entry point for an operating-systems course: students choose labs, with README-documented recommended prerequisites guiding later work. The labs cover file systems, concurrency, Linux, and experiments; Xv6 is maintained in a separate repository. The intro experiment generates graph data and compares traversal approaches, including direct file I/O and memory mapping. The graph reflects documented course ordering and sampled experiment code; unsampled lab internals are represented only at their documented lab-directory paths.
Main entry points: vtsh/README.md VT Shell · vtpc/README.md Page Cache · graph_traverse.c Direct-I/O Traversal · corosched/README.md CoroSched
Components 17
File Systems
- Page Cache
lab/vtpc/README.md - Kernel FS
lab/vtfs/README.md - FUSE
lab/fuse/README.md
Concurrency
Linux
- Kernel Module
lab/vtkm/README.md - BPF XDP
lab/bpf-xdp/README.md
Experiments
- Intro Experiment
lab/intro-exp/README.md - Graph Generator
lab/util/graphgen.py - Graph File
- Direct-I/O Traversal
lab/intro-exp/src/graph_traverse.c - Mapped Traversal
lab/intro-exp/src/graph_traverse_mmap.c - Graph I/O
lab/intro-exp/src/graph_io.h
Other components
- Student
- Xv6 OS
- Course Project
lab/project/README.md
Connections 19
- Student → Intro Experiment: starts
- Student → Xv6 OS: starts
- Student → Course Project: starts
- Student → VT Shell: starts
- VT Shell → Page Cache: recommended first
- VT Shell → Kernel Module: recommended first
- Page Cache → Kernel FS: recommended first
- Page Cache → FUSE: recommended first
- VT Shell → CoroSched: recommended first
- Page Cache → CoroHTTP: recommended first
- CoroSched → CoroHTTP: recommended first
- VT Shell → BPF XDP: recommended first
- Student → Graph Generator: configures
- Graph Generator → Graph File: writes
- Student → Direct-I/O Traversal: runs
- Student → Mapped Traversal: runs
- Direct-I/O Traversal → Graph File: reads or updates
- Mapped Traversal → Graph File: maps and updates
- Direct-I/O Traversal → Graph I/O: uses