This repository contains reference solution example code and Beamer resources for the operating systems course experiments Pintos.
Pintos is an educational operating system targeting 32-bit x86 architectures. It provides a challenging yet manageable complexity, with a simple yet sufficient design to understand operating system principles (runnable on emulators like QEMU, Bochs, VMWare Player, or physical x86 machines). The main codebase, documentation, and project tasks were developed by Ben Pfaff from Stanford University and others.
This repository has implemented all Pintos projects, including:
- Beamer
- Task 1: Booting Pintos
- Task 2: Debugging
- Task 3: Kernel Monitor
- Beamer
- Task 1: Alarm Clock
- Task 2: Priority Scheduling
- Task 3: Advanced Scheduler
- Beamer
- Task 1: Process Termination Messages
- Task 2: Argument Passing
- Task 3: Accessing User Memory
- Task 4: System Calls
- Task 5: Denying Writes to Executables
- Beamer
- Task 1: Paging
- Task 2: Accessing User Memory
- Task 3: Stack Growth
- Task 4: Memory Mapped Files
- Beamer
- Task 1: Indexed and Extensible Files
- Task 2: Subdirectories
- Task 3: Buffer Cache
- Task 4: Synchronization
The beamer
folder contains the Beamer slides used for teaching along with their LaTeX source code.
This repository is designed for Wuhan University's operating systems course experiments. It includes:
- Reference implementation source code
- Beamer presentation slides
- Screenshots of experimental results:
![]() |
![]() |
---|---|
![]() |
![]() |
Important Notes:
- When evicting physical pages, only the current process's pages are considered - other processes' pages cannot be evicted.
- These is a potential optimization area if further development is needed.
- Direct submission of this code for course assignments is strongly discouraged.
- The original source code framework was adapted from PintosM by Prof. Ryan Huang from Johns Hopkins University, who taught a similar undergraduate OS course and modified the original Pintos labs (added Lab0 and fixed macOS compatibility issues).
- Peking University's version (pintos) improved documentation, coding standards, scripts, and provided a Docker testing environment for students.