Skip to content

Pintos Operating System

This is the second-year OS group project, which was implemented using C. Developed an x86 simple operating system with thread scheduling, resource management, virtual memory management and support for user programs. Thread scheduling implementation includes a Round-Robin process scheduler and a priority-based scheduler based on CPU time of each process, using synchronisation mechanisms such as locks, semaphores and monitors. Virtual memory management implementation includes page allocation, copy-on-write, shared-pages, memory-mapped files and page swapping. Enable user-space program execution by implementing a number of standard Unix system calls, such as file open and close.