Top
Best
New

Posted by ksec 9/13/2025

SkiftOS: A hobby OS built from scratch using C/C++ for ARM, x86, and RISC-V(skiftos.org)
466 points | 97 comments
thegeomaster 9/13/2025|
What an astounding achievement. In 6 years, this person has written not only a very well-designed microkernel, but a build system, UEFI bootloader, graphical shell, UI framework, and a browser engine.

The story of 10x developers among us is not a myth... if anything, it's understated.

nylonstrung 9/13/2025||
And unlike a similar project, they accomplished it without the benefit of divine guidance.

Very impressive!

cidd 9/14/2025|||
The greatest programmer who ever lived. Gifted with divine intellect.
YJfcboaDaJRDw 9/13/2025||||
[dead]
speed_spread 9/13/2025|||
[flagged]
reactordev 9/13/2025|||
Not with Messiah.ai :D
cryptoz 9/13/2025||
Oh my God. That domain is parked and for sale for $125,000?!?!

Wild.

zenmac 9/13/2025||
Oh that is nothing. Check out god.ai..... domain parking is back. At this point we might as well just have a TLD for .god
TuxSH 9/13/2025|||
> TLD for .god

Sounds like a good TLD for an "identity and access management" system :)

KerrAvon 9/13/2025|||
Musk would just hog it for himself
Levitating 9/13/2025|||
You might enjoy reading the SerentiyOS progress reports

https://serenityos.org/

ktallett 9/13/2025||
I want serenity now
Rohansi 9/14/2025||
https://www.youtube.com/watch?v=LW_s6EqOxqY
rayiner 9/13/2025||
Yeah it’s amazing.
monax 9/13/2025||
Didn’t expect to see my project on the main page today ‘^^ Right now the build is broken, so you can’t test the full OS, but you can run individual apps with:

```bash ./skift.sh run --release <app-name> ```

on Linux or macOS.

To see all available apps:

```bash ls ./src/apps ```

monax 9/13/2025||
This works for everything except the browser. For that, use:

```bash ./skift.sh run --release vaev-browser -- <url-or-file> ```

The HTTP stack is super barebones, so it only supports `http://` (no HTTPS). It works with my site, but results may vary elsewhere.

Most of my time so far has gone into the styling and layout engine rather than networking.

Rochus 9/13/2025|||
Impressive achievements, congrats! You said that your microkernel is "influenced by Zircon". Did you also study other architectures like e.g. sel4, Minix or openQNX? What do you consider the important design choices in your microkernel design? Is there a document where you go into this? Have you done performance measurements, i.e. to which other microkernel design do you think your kernel is comparable in terms of performance?
pjmlp 9/13/2025|||
Kudos for exploring other avenues outside UNIX.
monax 9/13/2025||
Thanks! Skift is basically a patchwork of all the OS ideas I like. The UI takes inspiration from SwiftUI/Flutter, the microkernel is influenced by Zircon, and there are some Plan 9 ideas where everything is a URL. A few bits are probably inspired by NT and Darwin too, though I don’t remember exactly which.
keyle 9/13/2025|||
Sounds like really solid ideas. You must have a lot of experience to inspire yourself from so many diverse niche worlds. GL!
pjmlp 9/13/2025|||
Maybe adding some Xerox PARC, Oberon, NeXTSTEP / NeWS style, Powershell ideas could also be interesting, on how the shell, UI, and dynamically loaded code (or OS IPC), makes the whole OS customizable, , just throwing another set of ideas into your bucket.

Overall it looks interesting, all the best.

QuantumNomad_ 9/13/2025|||
Skift, Karm, Hjert, Opstart.

As a Norwegian, the name of this system and those components sound Danish (Skift, Karm, Opstart) and Danish-inspired (Hjert). Am I right? :)

monax 9/13/2025||
Yes, you're right, I found the Danish word cool-sounding
detached_prx 9/13/2025|||
Hi monax, I would like to hear how you started the project. I am also currently trying to implement my own micro kernel, with hopes of doing something similar to SkiftOS in order to learn OS fundamentals, but I don't know how to start. What are the first things to tackle when taking on such a project?
monax 9/13/2025|||
I don’t know what I can tell you, I think where you start and how you start don’t really matter. The important thing is to keep going. These kinds of projects are a lot of work, and as long as you keep making progress, you’ll eventually get to what you want.
detached_prx 9/13/2025||
Thank you for the reply, one more thing. Did you study established code bases and/or books to guide you through the architecture process and initial implementation? If so, how do you take advantage of these resources without falling into the trap of "borrowing" implementation while trying to build your vision?

What you did here is really cool and inspiring :).

qingcharles 9/13/2025|||
I always paste this book here when hobby OSes appear. I wrote my own GUI OS in the 90s and I couldn't have done it without this. Copies available on your usual shadow library I would imagine...

https://us.amazon.com/Developing-32-Bit-Operating-System-Cd-...

DeathArrow 9/13/2025||
How much time did it take you to get the project to this phase?
monax 9/13/2025||
I had multiple rewrites, but this last iteration is two years old
gl-prod 9/13/2025||
How long did the first iteration take?
hu3 9/13/2025||
This is the kind of project that allows you to have a 2 line CV:

contact: your e-mail

skills: project website

and you'd get hired in a ton of places.

rubymamis 9/13/2025||
The code is really well written - very understandable and modern, kudos on that!

I'm curious, how come the app I just compiled works on macOS?

monax 9/13/2025|
The framework has a layer of OS abstraction, and uses SDL to create the window and get user inputs
j1000 9/13/2025||
How devs can create something like this with normal time constrains? I couldn't squeeze this kind of project having day to day 9 to 5 job as dev.
monax 9/13/2025||
You don't! Most of it was written during a phase of my life where I had barely any social life '^^
j1000 9/18/2025||
Anyway, congrats, this is huge! :)
masijo 9/13/2025||
I wonder the same thing.
spuz 9/13/2025||
What ideas do you employ around security? Do apps have full access to memory? To hardware? Is there a permissions system? Sorry I'm not that familiar with how microkernels work.
monax 9/13/2025|
Apps don’t get full access to memory or hardware. The kernel only maps what they’re allowed to see. Drivers live in user space, and apps talk to them through capabilities (handles you can pass around). There’s no ambient authority, you only get access if you’ve been given the key.
Panzerschrek 9/13/2025|||
What about filesystem access rights? Does any application have full access to all user's files? Or only to files belonging to this particular application?
monax 9/13/2025||
Applications will each have their own namespace, and will only have access to user files if given the right to, on a per directory/file basis
Panzerschrek 9/13/2025||
This is a very nice approach. You should mention it on the main page of your OS site.
spuz 9/13/2025|||
Interesting. Thanks.
pkphilip 9/13/2025||
This looks really cool! congratulations to the person who made this! Is there a video demo of this somewhere?

I am amazed that you also managed to write a browser engine!

zhainya 9/13/2025|
Video demo would be amazing.
exikyut 9/13/2025||
It should be embedded into the website alongside the pictures, in a carousel.
reactordev 9/13/2025||
Obviously not her first rodeo...

I dove deep into the code base. Found lib-sdl. Found impl-efi. Found co_return and co_await's. Found try's. Found composable classes. Found my codebase to be a mess compared to the elegance that is this. We are not worthy...

The modules... :chefs-kiss:

thorn 9/13/2025||
Kudos to the owner of this project. Well done. It is really modern C++ (with modules) and improvements on top. I see that it introduced some kind of GC and other high-level quality-of-life improvements. I noticed stuff like `co_try` and `.unwrap()` and `async`. Was it inspired by Rust? What plans do you have with this project?
brodo 9/13/2025|
Very impressive! Do you support GPUs or is the UI completely CPU rendered? It looks really beautiful.
monax 9/13/2025|
It's CPU rendering, GPU is on the roadmap
More comments...