Page 1 of 1
JaeOS -- Just Another Embedded OS
Posted: Fri Dec 04, 2015 9:51 am
by azsoter
I have been doing work on this RTOS for over a year now, I think it is time for it to be listed in the OsDev Wiki:
JaeOS -- Just Another Embedded OS
A 'commodity OS' for small embedded systems.
People often choose to hack something ad hoc on bare metal
when they would benefit from having an OS core.
JaeOS is intended to be suitable for small projects that don't
need all the features in a bigger / commertial RTOS but still would benefit
from having an OS.
JaeOS is available for free under the MIT license.
Official website:
http://jaeos.com/
Re: JaeOS -- Just Another Embedded OS
Posted: Fri Dec 04, 2015 2:57 pm
by onlyonemac
While it is true that a lot of "bare metal" experiments would benefit from an OS, there are three main reasons why such systems usually lack a proper operating system:
- Direct hardware-level access is required, so an operating system is unnecessary and would get in the way more than anything else
- The hardware is too specialised and/or not close enough to "normal" hardware for any pre-existing operating system to work with it
- Writing a small operating system is part of the project
#2 is particularly significant, as indeed the range of hardware seen in bare metal projects is very wide and I believe it would be impossible to have one operating system able to cater for all possible hardware variations. Furthermore, where the hardware does not deviate widely from "standard" hardware, it is often possible to port a small Linux kernel to run on the hardware and I have in fact seen this done in a lot of such projects. For projects involving more unique hardware, I doubt that a project such as yours would cater much better for them than a small Linux kernel, and would probably require as much work to port it in which case using Linux clearly has its advantages.
Re: JaeOS -- Just Another Embedded OS
Posted: Fri Dec 04, 2015 5:59 pm
by azsoter
Thanks for the reply, but I have to respectfully disagree.
>While it is true that a lot of "bare metal" experiments would benefit from an OS,
I did not say "experiments" -- unfortunately people hack stuff on bare metal in real life products.
>Direct hardware-level access is required, so an operating system is unnecessary and would get in the way more than anything else
But if you are using a small RTOS with no hardware abstraction you have direct access to hardware. Unlike with bare metal you also have things such as multi-tasking and thread synchronization.
>Furthermore, where the hardware does not deviate widely from "standard" hardware, it is often possible to port a small Linux
>kernel to run on the hardware and I have in fact seen this done in a lot of such projects.
This is most certainly true. In fact all the hardware that JaeOS currently runs on can run Linux or uCLinux. Just because one can run Linux on a certain piece of hardware it does not necessarily mean Linux is the right choice for a particular project.
In fact I often work on projects where people most specifically do not want Linux and for good reasons (sometimes it is hard enough to convince them to even have an RTOS).
>For projects involving more unique hardware, I doubt that a project such as yours would cater much better for them than a small
>Linux kernel, and would probably require as much work to port it in which case using Linux clearly has its advantages.
There are things that I would do with Linux and there are things where it is just not the right answer.
If Linux is the right answer for your project then JaeOS probably is not. On the other hand if you are trying to choose between bare metal and having an RTOS at all, chances are your product is not very well suited to be implemented on a Linux base.
I wrote JaeOS because I actually needed it.
In any case I did not post the announcement about JaeOS to debate its relative merits compared to Linux (which is comparing apples and oranges anyway), I have only posted the announcement here because I wish to have JaeOS listed on the projects page and the instructions said the way to do that is to post here.