JaeOS® -- Just Another Embedded OS

Because the RTOS should be a commodity.
Because the RTOS should be a commodity.

JaeOS® Documentation

Table of Contents


The primary purpose of JaeOS® is to be a commodity RTOS so I have tried to keep core features to a minimum even when I was tempted to add features just because it looked easy.

I aimed to have just enough functionality to support common third party software packages including running a TCP/IP stack.

Also JaeOS® is just an RTOS core, it does not include device drivers, file systems or a GUI. The purpose of JaeOS® is to enable running portable, RTOS independent software implementing such functionality, not to compete with them.

JaeOS® Core Features

  1. Multitasking.
  2. Task creation and destruction.
  3. Delay/sleep for a certain amount of time.
  4. Task synchronzation by means of counting semaphores.
  5. Task suspend and resume.
The schedulign algorithm is a strictly priority based real time scheduler.

JaeOS® Advanced Features

The JaeOS® RTOS allows running tasks that yield the CPU to each other after their time slice has expired.

This is implemented on top of the priority based scheduling mechanism. There is no provision to run more them one task at the same priority. A task participating in time sharing is simply removed from the set of runnable tasks when its time slice has expired and replaced by another with a fresh time slice.

In my opinion this mechanism has yielded a simpler and easier to understand implementation than allowing multiple tasks running at the same priority level. Opinions may vary on this subject, but keeping the system simple was the first priority.

While most small embedded systems can do just fine with a strictly priority based scheduling algorithm, allowing tasks to be be executed in a time sharing fashion makes it easier to implement systems where multiple things of the same importance need to run.

A network server servicing multiple clients would be a good example.

JaeOS® Experimental Features

Symmetric Muiltiprocessing (SMP): The JaeOS® RTOS has experimental support to use multiple CPU cores on some target systems.

While the JaeOS® RTOS is not optimized for such operation, it is sometimes useful to be able to schedule tasks to run in parallel on multiple CPU cores.

SMP operation is somewhat uncommon in small embedded systems that the JaeOS® RTOS is suitable for, and it has only been tested to a limited extent, so it is still considered to be experimental.

JaeOS® Detailed Documentation

There are various JaeOS® documents in existence. The ones listed below are of particular interest to anyone who is considering using the JaeOS® RTOS.

The html documents below are provided for easy on-line viewing.

Last Modified: 2018-October-14.

JaeOS® is a registered trademark of Andras Zsoter in Canada.