Project field note
PennOS
A single-process, multi-threaded operating system with a priority scheduler, process lifecycle, interactive shell, PennFAT filesystem, and syscall abstraction.
Interactive artifact
PennOS shell
A browser mock of the shell. Try help, ls, cat notes.txt,
ps, or a background job like sleep 3 &.
PennOS is a single-process, multi-threaded operating system. Due to course policy, I can't share the code lest future students be tempted to forgo the arduous process of buliding their own OS from scratch.
It implements a credit-based preemptive priority scheduler with three priority levels, round-robin scheduling within each level, and proportional CPU allocation without starvation.
The system includes process creation, blocking waits, signals, voluntary exit, orphan reparenting, zombie reaping, an interactive POSIX-like shell, foreground and background jobs, I/O redirection, shell script execution, and terminal signal forwarding.
PennOS also includes PennFAT, a FAT-based filesystem with kernel-level file operations, permission checking, single-writer enforcement, and a clean separation between kernel APIs and user-facing system calls.