# Redesigning my microkernel from the ground up

DevFeed: [Redesigning my microkernel from the ground up](<https://devfeed.tech/articles/redesigning-my-microkernel-from-the-ground-up-20797.md>)

Original publisher: [Read original article](<https://drewdevault.com/blog/Hermes-from-the-ground-up/>)

Author: January

Published: 2026-01-12T00:00:00Z

Content type: opinion

Language: en

Sources: [Drew DeVault](<https://devfeed.tech/sources/drew-devault.md>)

Topics: [systems](<https://devfeed.tech/topics/systems.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [kernels](<https://devfeed.tech/topics/kernels.md>), [Development](<https://devfeed.tech/topics/development.md>), [Code](<https://devfeed.tech/topics/code.md>), [Unix](<https://devfeed.tech/topics/unix.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [development](<https://devfeed.tech/tags/development.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [kernels](<https://devfeed.tech/tags/kernels.md>), [operating-systems](<https://devfeed.tech/tags/operating-systems.md>), [os](<https://devfeed.tech/tags/os.md>), [scheduler](<https://devfeed.tech/tags/scheduler.md>), [systems](<https://devfeed.tech/tags/systems.md>), [unix](<https://devfeed.tech/tags/unix.md>)

## AI overview

The author explains why the Helios microkernel project was abandoned after design and implementation problems, and describes starting Hermes from scratch while reusing selected code from Helios and Bunnix. Hermes is not yet feature-complete, but the author says it has a more robust design and supports symmetric multiprocessing.

## Source excerpt

As you may recall, circa 2022-2023 I was working on a microkernel written in Hare named Helios. Helios was largely inspired by and modelled after the design of seL4 and was my first major foray into modern OS development that was serious enough to get to a somewhat useful state of functionality, with drives for some real hardware, filesystems, and an environment for running user programs of a reasonable level of sophistication. Helios development went strong for a while but eventually it slowed and eventually halted in a state of design hell. Since Helios was my first major OS project at this scale and with this much ambition, the design and implementation ended up with a lot of poor assumptions that made it a pretty weak foundation for building a complete OS upon. In late 2023 I more or less gave up on it and moved my OS development work out of the realm of writing code and back into the realm of thinking really hard about how to design operating systems. What followed was a couple of years of design thinking, developing small scale design experiments, and doing deeper research into prior art - reading papers and studying existing kernels. It was also during this period that I wrote Bunnix, a working Unix clone, motivated in part by a desire to gain some first-hand experience working in the design and implementation of Unix-style operating systems - a fertile environment for learning a lot of the nuts and bolts of OS implementations by working against a complete and proven design. In August I was finally prepared to have another go. I decided to start over from scratch, importing and adapting and rewriting code from Helios and Bunnix on an as-needed basis to speed things up, and writing from scratch anything where the lessons learned in hindsight outweighed the benefits of adapting existing code.1 The result is Hermes. Hermes has not yet reached feature parity with Helios, lacking some IPC features and an aarch64 port, but already it's significantly more robust and