Pintos: Operating System Development
Built Pintos educational operating system: a pedagogical project for understanding core OS concepts on 80x86 architecture. I developed and refined kernel threads, virtual memory management, user program execution, and file system features.
GitHub unavailable — source cannot be published under course academic integrity policies.
What it is
Pintos is the educational operating system from my OS course: a teaching kernel on 80x86 that I extended with real kernel work. I implemented and refined threads, virtual memory, user-program execution, and the file system — the pieces you have to get right before an OS stays up under load.
How it works
The work sat across the Pintos stack. In the kernel I built thread scheduling and synchronization (locks, semaphores, condition variables) so concurrent subsystems could share state without races. Above that, process control and argument-passing syscalls let user programs run. The filesystem layer added inodes, subdirectories, a block cache with eviction, and concurrent file access that still stays consistent when operations overlap or the machine dies mid-write. I ran the course suite on QEMU/Bochs, including concurrency and filesystem stress tests.