PintOS Operating System

A fully functional single-coreoperating system in C for the x86 architecture. It supports multithreading, loading and running user programs, dynamic stack alloction, buffer cache and an inode-based FFS file system.

Skills: C, Operating Systems, Systems Programming, Concurrency

• Engineered a fully functional single-core OS (PintOS) in C, including comprehensive design documentation • Developed interrupt handling, including 25 system calls, enabling context switching and service for threads. • Built robust multithreading functionality with Strict Priority OS Scheduler dynamic stack allocation, using various synchronization primitives including locks, semaphores, and condition variables, implemented from scratch. • Implemented a buffer cache with least-recently-used (LRU) functionality, improving memory access speeds.