jotaOS is an x86 operating system made in C++ that I've been working on since June 21 2019 (almost a year ago). It's not just a kernel, but aims to be a whole set of projects.
GitHub organization:
https://github.com/jotaOSMain repository:
https://github.com/jotaOS/jotaOSI'm trying to make everything myself, and by everything I mean everything: bootloader, standard library, filesystem (JOTAFS, similar to ext2 but arguably worse), all system utilities, cryptographic library, editor... Maybe in the future I will make a C++ compiler, but I can't say for sure, it's a hard task.
I try to document most things I do (which are not generic to all OS and might have some degree of interest) in the wiki of the corresponding project inside of the GH organization.
jotaOS is still in a pretty early stage, I try to dedicate as much time as I can to it, but university is in the way, so...
I have taken breaks from it, some have took even more than a month (mainly because of uni), but I'm planning on developing it in the long term, as I do my best to make adding new things convenient (modular) and I do mostly stuff that seems fun to me.
Here's my (almost) daily updated TODO list, where I jot things that come to my mind:
https://jlxip.net/jotaOS/TODO.htmlThere's no automated ISO building yet but hopefully will be soon.
The motivation behind this project is that I firmly believe that the best way to truly know every aspect of computers in depth is to try to make everything yourself. This way, I'm learning a whole lot in the journey about things like computers at the low level, drivers, filesystems, networking, process handling, schedulers, the mathematics behind cryptography... For instance, a few days ago I finished my implementation of a Red-Black tree, from which I've learned a lot about data structures (definitely more than what's teached in uni).
I just wanted to leave this here as a historical note of sorts. I don't really recommend any of you to try it at the present time, as has literally zero utility (right now you only have an echo shell). If you read this post a few months (or years!) later in time, please go check how I'm going, will I have abandoned it? Will it have some functionality? Only time will tell.
Finally, I would like to give my most sincere thanks to the OSDev.org community, without which I would have never been able to begin this amazing journey. Thanks to all of those who write the wiki, and to those who solve questions in the forums.
Good luck with your projects!