As a semester-long project for CSCI1690, I built out a full Unix-based operating system kernel.
The project involved implementing the following:
- Procs — Threads, processes, and synchronization primitives.
- Drivers — Device drivers for terminals, disks, and the memory devices /dev/zero and /dev/null.
- VFS — An interface between the operating system kernel and the various file systems (such as S5FS or RAMFS).
- S5FS — A file system based on the original Unix file system.
- VM — Userspace address space management, running user-level code, servicing system calls, and basically everything else needed to combine all of the previous componenets into a fully functioning operating system. This includes virtual memory maps, handling page faults, memory management via anonymous objects and shadow objects, and system calls.
NOTE: This is a placeholder repo with no code to respect Brown's Academic Code