JaeOS® -- Just Another Embedded OS
Because the RTOS should be a commodity.
So why would one roll his own RTOS when there are dozens, if not hundreds out there on the Internet? Mostly out of frustration.
If one searches for an RTOS on GitHub some 60 hits show up. The number of OS projects on the osdev.org Wiki and operating systems listed on Wikipedia is in the hundreds. So apparently writing a new OS isn't exactly rocket science. Which begs the question why is the basic OS kernel not a commodity?
If you are a carpenter and you use screws, or bolts and nuts to build your products you can go to your friendly neighborhood hardware store and buy what you need. You don't have to give details about your business to your supplier just to get a price quote. Neither does the manufacturer of your bolts and nuts attach arbitrary restriction on their use and force you to buy a new package of bolts to hold tables together, because you are supposed to use the previous bag only for making chairs
And I am reasonably certain that if anyone tried to explain to you that you have to buy bolts and nuts in packages that also include washers and O-rings that people who use bolts and nuts might need, and if you can't find a good use for them that is your problem, at the very least you would look for another supplier.
Yet the software industry operates on those principles, and people are so used to it that they don't even find it the least bit odd.
So my choices appear to be to accept this insanity, embrace someone else's science project OS, or roll my own. I have opted for the latter.
For various jobs I have ended up writing an OS kernel at least twice before. Now I have decided to implement one for myself that is truely free in the sense that it has no strings attached to it that would limit what I am allowed to do with it.
While writing an operating system requires investing actual work in the project, the feeling when you see that you now have enough functionality that can support some serious third party software such as a TCP/IP stack does give you the feeling that you have accomplished something.
When I have decided to start working on my own embedded OS core the goal was to have a minimalistic implementation of a multi-tasker that I can use for projects that many people would consider doing on bare metal without an OS, but which projects nevertheless would benefit from having some notion of multiple threads progressing at the same time.
In many aspects I have accepted limitations for the sake of simplicity.
Last Modified: 2018-January-06.