44 comments

[ 5.5 ms ] story [ 53.8 ms ] thread
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!

Video demo would be amazing.
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 ```

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?
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? :)

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?
What else does it have rather than beautiful UI? Network support? Sound? What file systems does it support? What about multiple users? What about applications isolation?

It would be nice to have such information displayed somewhere on the site.

(comment deleted)
damn this is really good. I hope the register folk sees this.
so cool! building from past 6 years (impressive)
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.
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?

The framework has a layer of OS abstraction, and uses SDL to create the window and get user inputs
Very impressive! Do you support GPUs or is the UI completely CPU rendered? It looks really beautiful.
It's CPU rendering, GPU is on the roadmap
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.

And unlike a similar project, they accomplished it without the benefit of divine guidance.

Very impressive!

(comment deleted)
Slightly related and coming from ignorance here, but what is the general intuition for the pros and cons of a microkernel approach in OS development?
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.
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:

Wow, you did it yourself?! This is just wow, as a C/C++ developer I know how to create an OS, but at most I could come up with an idea, but writing all this myself, I have no words.
I find every project of this nature so so beautiful and incredible. Congrats.
Looks great. I did pick up pretty strong NIH vibes, though. As an example, would CMake or Meson not work as a build system?
This is your chance! As a clean slate design, you can abandon the concept of a hierarchal file system and replace it with rdbms.
Thank you! We need more GPOS options. We have been entrenched in the main 3. I think there's lots of room for making something better. [misaligned incentives?]
Looks awesome. Consider it bookmarked.

I'm on macOS, and still no luck building the code. But anything which doesn't involve building a custom GCC easily gets my vote :)

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.