Patchwork is a 64-bit monolithic NON-POSIX operating system for the x86_64 architecture that rigorously follows a “everything is a file” philosophy. Built from scratch in C it takes many ideas from Unix, Plan9, DOS and others while simplifying them and sprinkling in some new ideas of its own.
↫ PatchworkOS GitHub page
Patchwork is a surprisingly advanced operating system considering it’s a hobby project. It has multithreading with a constant-time scheduler, fully preemptive mutitasking, SMP, file-based IPC (including pipes, shared memory, sockets and Plan9 inspired “signals” called notes), and much more. It also uses a Linux-style VFS and has a custom C standard library. On top of that, there’s a modular window manager that supports themes, in which everything is a window, and so much more.
It supports x86_64, but only supports running in RAM. It’s licensed under the MIT license.

Not POSIX?
What’s the point? The outlier being windows, even Microsoft has made efforts to make it easy to go from mostly to completely POSIX
WSFL is 80-some-percent and non-MS packages can bring it to full compliance, though without certification. wSFU was compliant.
I may be missing something but at a time when every major and most minor OSs work hard for compliance… why would anyone not?
lostinlodos,
Everyone’s going to have their own opinion about it, but I don’t get very excited about “yet another POSIX OS”. It’s been done to death and I think there’s more innovation to be had than just re-implementing the same thing again.
The prevailing benefit of posix is that it gets you compatibility, which doesn’t need to be explained, but committing to posix compliance ropes in a lot of work and legacy baggage into your OS. It also steers you into designs that make your OS look and feel more like a clone than an original creation.
For example POSIX tty, termios, job control interfaces are largely based on obsolete hardware and antiquated concepts, which makes things more complicated than and necessary. Cleaning all this up allows shells to be simpler. Pthreads and posix AIO are one way to handle concurrency, but not necessarily the most interesting. Coroutines and async/await language constructions have really changed the game in terms of how we approach concurrent IO in software development and it could be extremely interesting to see an OS truly embrace this instead of going with the old approach. Posix forks are criticized for being an inefficient way to spawn children and have been problematic in terms of unintentionally leaking file handles. IMHO posix permissions bits are bad and should be deprecated.
Sometimes linux itself creates calls that stray from the posix camp because linux developers felt they could do better. For example epoll is used on web servers because it scales with less overhead than the posix standard select & poll mechanisms. While a new OS can implement both, as linux does, it creates more complexity and requires more work.
It seems like the authors here are convinced they can do better than unix did in terms of “everything is a file”. I look at the exceptions in unix, like network interfaces and ip tables not being files, and wonder if it was a missed opportunity to apply “everything is a file” more consistently.
BTW these are my response to your question and not necessarily in the context of PatchworkOS.