personal-os

A mock operating system that runs in the browser — a kernel, a window manager, a shell with thirty-two commands, and seven apps. You can boot it from here.

#typescript#react#nextjs
Boot →

Slackware is what started this. I wanted to take UNIX's mechanism-over-policy split and find out how far I could push it, and learn how an operating system actually fits together while I was at it.

So the kernel keeps three things: a virtual filesystem, a process table, and an event bus. The window manager, the shell, and the apps are written against those three. An app reaches the kernel only through a syscall, and only for what its manifest declared.

The three layers: policy on top (window manager, shell, the seven apps), the kernelAPI in the middle as the only door between them, and mechanism underneath (virtual filesystem, process table, event bus). The kernel knows nothing above the line.

The filesystem is this site's own content/ file so most of this site contents has a reacheable endpoint in the OS. Check it out!

There is no phone layout yet.