Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
FreeRTOS-Kernel
FreeRTOS kernel files only, submoduled into https://github.com/FreeRTOS/FreeRTOS and various other repos.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
unikraft
FlexOS is a Unikraft-based OS allowing users to easily specialize the safety and isolation strategy at compilation time. (by project-flexos)
-
darwin-xnu
Discontinued Legacy mirror of Darwin Kernel. Replaced by https://github.com/apple-oss-distributions/xnu
I'm reading through the MIT xv6 OS handbook and code (here: https://github.com/mit-pdos/xv6-riscv/) and they mention the fact that they created it as a monolithic kernel since most unix systems are monolithic. They then introduce the microkernel concept. Are there microkernel concepts out there (especially code) I can check out? I'm curious to see how userspace processes communicate to kernel processes to execute privileged actions.
This is based on little kernel from recollection (noted somewhere in the docs)
https://github.com/littlekernel/lk
Here's one that is "production" ready: the Mirage-Firewall microkernel running on Qubes OS.[0]
[0] : https://github.com/mirage/qubes-mirage-firewall
Hubris is a microkernel-ish OS for embedded systems, and has a bunch of documentation about its design:
https://hubris.oxide.computer/reference/
It's all open-source on Github:
https://github.com/oxidecomputer/hubris
(I work at Oxide, mostly using Hubris)
It seemed to be in a similar space to Genode when I had a brief look. Is it clear how it compares?
A system that claims to allow you to configure it in microkernel and other modes might be interesting for comparison of the approaches, but I've only noticed it via a local connexion: https://project-flexos.github.io/
The Nintendo Switch runs a microkernel called "Horizon". It has been fully reverse-engineered, and a 1:1 open-source reimplementation exists: https://github.com/Atmosphere-NX/Atmosphere/tree/master/meso...
And the original basis for the NeXTStep -> OpenStep -> OS X -> iOS / MacOS line. Source for XNU, the current incarnation of Apple's microkernel is available as part of the Darwin stuff: https://github.com/apple/darwin-xnu