A quick look at some Embedded Operating Systems

Real Time Operating Systems

Real time operating systems are designed for real time applications that need to accomplish a certain tasks with as little OS overhead as possible. Tasks like reading the sensors and displaying data.

You could write an infinite while loop to accomplish that but things will get complicated once you have multiple tasks. RTOS provide users with a task scheduler and several methods for synchronizing tasks and inter-task communication, as well as other stuff, not necessarily related to tasks.

The task scheduler allocates CPU time for the tasks. Tasks can be prioritized, a high priority task that never stops will eat all the available CPU time and won’t let any other tasks to run. You can write your own scheduling algorithm or you can use the one provided by the OS. The algorithm can be preemptive or non-preemptive. Preemptive algorithms interrupt tasks and resumes them at a later time and non-preemptive algorithms wait until a task has finished executing.

There are a lot of real time operating systems in the market but the most popular is FreeRTOS.

In 2016 the creator of  FreeRTOS has joined Amazon and Amazon FreeRTOS was born, which is like FreeRTOS but with AWS integrations.

More: Amazon FreeRTOS

MbedOS is another modern RTOS designed with IoT in mind, it is developed by ARM and supports only ARM Cortex-M microprocessors.

More: Mbed OS

Embedded Linux

Embedded Linux  operating systems takes advantage of  the stability and robustness provided by the Linux kernel along with the many free open source packages that allow a great amount of flexibility and code reusability.

Some of the distributions are:

Android – An OS based on the Linux kernel designed for mobile devices.

OpenWrt – An Embedded Linux distribution designed for devices that route network traffic, like wireless routers.

uCLinux – Is a port of Linux but without the Memory Management Unit.

Windows IoT Core

Windows 10 IoT Core is Microsoft’s take on IoT devices. It’s Windows 10 but optimized for small devices. It can run Universal Windows Platforms applications and it integrates nicely with Azure IoT services.

More: https://docs.microsoft.com/en-us/windows/iot-core/windows-iot

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.