Weenix is a Unix-like operating system that I developed its major parts for in CS1690 at Brown.
Parts that I implemented include:
- Procs: threads, processes, and synchronization primitives
- Drivers: device drivers for terminals, disks, and the memory devices (/dev/zero & /dev/null)
- VFS: common interface between the OS kernel and the file systems
- S5fS: file system based on the original Unix file system built on top of VFS
- VM: virtual memory maps, page fault handler, system calls, anonymous objects, and shadow objects that achieve a fully functional OS that is capable of managing user address spaces, running user-level code, and servicing system calls.
A full documentation written by Brown University is available here.