A semester-long project taken as part of CS2670 (Graduate Operating Systems) where I developed my own operating system kernel based on Unix. You can find more information about the course here and the project here.
This was split into 5 sub-projects which are ordered in terms of completion below:
-
Procs: The basic building blocks of the OS, containing implementation of threads, processes, and synchronization primitives
-
Drivers: Device drivers for terminals, disks, and the memory devices
/dev/zero
and/dev/null
-
VFS (Virtual File System) : Implementation of a common interface between the operating system kernel and the various file systems such as RAMFS, S5FS and device drivers
-
S5FS (System V File System) : Implementation of on-disk file system based on original Unix file system
-
VM (Virtual Memory) : Management of user address spaces, running user-level code, and servicing system calls. This project essentially combined all of the previous components into a fully functional operating system. Additionall functionalities include virtual memory management, page fault handling, memory management with anonymous and shadow objects, and system calls (such as
fork
,brk
andmmap
calls)
Note: To respect Brown's academic code, this is a placeholder repo. If you are a potential employer and would like access to the code, please contact me at [email protected]