2022-12

Pintos Operating System

A full operating-system kernel built in C for Stanford's OS course (CS 140). Implements a priority-based thread scheduler, virtual memory, 14 system calls, and an indexed-inode file system.

CSystems

Overview

Pintos is Stanford's teaching OS. Over the course of CS 140, the kernel was extended from a bare stub to a functional OS capable of running user programs with full memory isolation.

What was built

  • Thread scheduler: Priority-based scheduler with multi-level feedback queue — 100x performance improvement measured by timing code
  • User programs: Backbone for loading and running ELF executables
  • System calls: 14 system calls including read, write, exec, wait, exit, and file operations
  • Virtual memory: Demand paging with a supplemental page table, swap, and memory-mapped files
  • File system: Indexed-inode scheme supporting extensible files and subdirectories