A Journey of Modern OS Construction From boot to DOOM

📅 2025-04-24
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Conventional teaching operating systems often lack modern features and real-world application support, limiting students’ exposure to contemporary OS design principles and practical engineering challenges. Method: This work proposes a “reverse-engineering–driven” pedagogical paradigm: starting from a fully functional OS (e.g., VOS), it systematically decomposes the system into a sequence of incrementally implementable prototypes, guided by authentic use cases—including DOOM gaming, audio/video playback, and blockchain mining—to motivate and contextualize core mechanism design. VOS is implemented in Rust and C, featuring MMU-based virtual memory, a lightweight microkernel, SMP-aware scheduling, FAT32/USB protocol stacks, and a framebuffer-based GUI framework; it supports bare-metal booting on portable hardware and full graphical interactivity. Its modular architecture ensures prototype independence and composability. Contribution/Results: Deployed in undergraduate OS courses across multiple universities worldwide, VOS has demonstrably enhanced students’ engineering proficiency, systems-level intuition, and intrinsic motivation.

Technology Category

Application Category

📝 Abstract
VOS is a first-of-its-kind instructional OS that: (1) Runs on commodity, portable hardware. (2) Showcases modern features, including per-app address spaces, threading, commodity filesystems, USB, DMA, multicore, self-hosted debugging, and a window manager. (3) Supports rich applications such as 2D/3D games, music and video players, and a blockchain miner. Unlike traditional instructional systems, VOS emphasizes strong motivation for building systems-supporting engaging, media-rich apps that go beyond basic terminal programs. To achieve this, we design VOS to strike a careful balance between essential OS complexity and overall simplicity. Our method, which we call inverse engineering, breaks down a full-featured OS into a set of incremental, self-contained prototypes. Each prototype introduces a minimal set of OS mechanisms, driven by the needs of specific apps. The construction process (i.e., forward engineering) then progressively enables these apps by bringing up one mechanism at a time. VOS makes it accessible for a wider audience to experience building a software system that is self-contained and usable in everyday scenarios.
Problem

Research questions and friction points this paper is trying to address.

Designing an instructional OS for modern hardware and features
Balancing OS complexity with simplicity for educational purposes
Enabling rich applications beyond basic terminal programs
Innovation

Methods, ideas, or system contributions that make the work stand out.

Runs on portable commodity hardware
Uses incremental self-contained prototypes
Balances OS complexity with simplicity
🔎 Similar Papers
No similar papers found.