Weenix (C)

Over the semester I implemented the Weenix operating system in CSCI1690 Operating Systems.

As part of this, I implemented in C:

  • Threads, processes, and synchronization primitives
  • Device drivers for terminals, disks, and memory devices
  • Virtual File System - A common interface between the operating system kernel and various file systems
  • S5FS - A file system based on the Unix file system
  • Virtual Memory - User address space management, running user-level code, servicing system calls. This includes virtual memory maps, handling page faults, memory management via anonymous objects and shadow objects, and system calls.