6 ms·
Show HN: My microkernel-based OS built from scratch now has basic Unix commands
This project contains no code from Linux, BSD, Minix, or any other OS. Everything up until this point is written entirely from scratch, including a pure microkernel (that only implements multiprocessor priority scheduling, memory management, and interprocess communication), a work-in-progress implementation of the standard C library, and a variety of servers that provide drivers and other essential OS functionality.
At the time of writing this post, the servers provide drivers for the keyboard, NVMe SSDs (that works on real hardware), a Unix-like virtual file system (with a single root mountpoint, /dev, /proc, etc.) and several other necessities. The main goal of this project is to research OS design and try to overcome some of the performance penalties associated with microkernels, while also building a general-purpose usable Unix-like OS on top of it. It's also intended to make the study of OS development and theory a little more approachable through self-documenting, clean, and readable modular code.
- ATechGuy 2y agoThis is quite a feat! I'm sure you learnt a lot along the way.
- jewelcodesxo 2y agoThank you! I really did learn a lot and I'm still learning more as I continue working on this
- nullpoint420 2y agoThis is awesome! Definitely going to look into this later.
- jewelcodesxo 2y agoThank you!
- pjmlp 2y agoGreat work, congratulations on going down the microkernel route.
- snvzz 2y agoWell done creating a system with a better architecture than Linux. I know, it really is a low bar. Still, good job.