Real-Time Operating Systems (RTOS)
Many people don’t realize that computers in cars, appliances, hospital equipment, and everywhere else need operating systems. Operating Systems like Windows, OSX, or Linux are designed for workstations and laptops with higher performing CPUs and more memory. Other devices often called Internet of Things or IoT devices (sometimes called embedded devices), typically don’t have powerful processors or much memory. IoT devices need lightweight operating systems that are customized to their unique need.
When it comes to PCs or laptops you have 3 main choices, however, when it comes to IoT devices there are many more options. These operating systems, sometimes called Real-Time Operating Systems or RTOS, come in all shapes and sizes. “To be considered "real-time," an operating system must have a known maximum time for each of the critical operations that it performs (or at least be able to guarantee that maximum most of the time).” [Source] “The scheduler in a Real-Time Operating System (RTOS) is designed to provide a predictable (normally described as deterministic) execution pattern. This is particularly of interest to embedded systems as embedded systems often have real-time requirements.” [Source]
Here are a few of the major players for IoT and RTOS:
RIOT OS
Windows 10 IoT or CE
WindRiver VxWorks
Google Brillo
ARM Mbed OS
Embedded Apple iOS
Nucleus RTOS (Mentor Graphics)
Green Hills Integrity
Zephyr
Free RTOS
Contiki
QNX Neutrino (Blackberry)
RTEMS (Real-Time Executive for Multiprocessor Systems)
TI-RTOS Kernel (Texas Instruments)
Andriod
MicroC/OS (µC/OS)
Linux (Ubuntu or Debian)
LynxOS
Exercise
Find some devices in your home that have operating systems. See if you can find out which operating system they use.
For example, my Jeep uses Uconnect In-Vehicle Infotainment (IVI). With a little research, I was able to find out that Uconnect is built on QNX. QNX was developed by Blackberry and probably very similar to Blackberry OS used on phones.
I also looked up my Garmin GPS device. Although I am not sure what they used on my particular GPS, I did find an article that they are switching to Nucleus RTOS.
You may come across a few devices that don’t need real-time capabilities and run on general purpose Operating Systems.
Resources