A complete Unix-like operating system kernel implemented as a semester-long project for CSCI 1670/1690 (Operating Systems) at Brown University.
The implementation was split up into several sub-projects, as follows:
- Processes and Threads - Processes, threads, and synchronization primitives.
- Drivers - Device drivers for terminals, disks, and the memory devices
/dev/zeroand/dev/null. - VFS (Virtual File System) - A polymorphic interface between the operating system kernel and the various file systems (such as S5FS and device drivers).
- S5FS (System V File System) - A file system implementation based on the original Unix file system.
- VM (Virtual Memory) - User-space address space management, running user-level code, servicing system calls, and everything else required to combine the previous components 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 (e.g.
fork,mmap,munmap,brk).
NOTE: This is a placeholder repo with no code to respect Brown's Academic Code. If you are a potential employer and would like to look at the code, please send me an email.