← Back to blog

IoT Operating Systems

An overview of common IoT operating systems such as Contiki OS, RIOT OS, FreeRTOS, and TinyOS.

This article introduces common operating systems used in Internet of Things systems and compares some of the most popular options.

Common IoT operating systems include:

  • LiteOS
  • TinyOS
  • RIOT OS
  • FreeRTOS
  • Contiki OS
  • Ubuntu Core
  • Windows 10 IoT

In this article, the comparison focuses on Contiki OS, RIOT OS, FreeRTOS, and TinyOS.

Comparison Parameters

Before reading the comparison table, it is important to understand the meaning of the parameters. These parameters are criteria used to evaluate an operating system or development environment.

IoT operating systems comparison parameters
Parameters used to compare IoT operating systems.

Architecture in Kernel

Kernel architecture describes the internal structure of the operating system kernel. The kernel manages processes, resources, and low-level system behavior.

  • Microkernel: separates services into smaller independent components.
  • Monolithic Kernel: includes most system services inside the kernel itself.

Scheduler

The scheduler determines how processing time is shared between tasks. Examples include first come first served, round robin, and priority-based scheduling.

Programming Model

The programming model describes how applications are developed and executed. Examples include event-driven programming, task-based models, and multi-threading.

Targeted Devices

Targeted devices describe the type of hardware that can run the operating system, such as small microcontrollers or ARM-based devices.

Supported MCU Families

This parameter identifies the microcontroller families supported by the operating system, such as ARM Cortex, PIC, AVR, or MSP430.

Programming Languages

This parameter describes the programming languages supported by the system, such as C, C++, nesC, or Assembly.

License

The license describes whether the operating system is open source or commercial. Open-source licenses allow developers to study, modify, and adapt the system.

RAM / ROM

RAM and ROM requirements describe the minimum memory needed to run the operating system or applications on the target device.

Comparison Table

After understanding the parameters, the comparison table can be used to compare Contiki OS, RIOT OS, FreeRTOS, and TinyOS more clearly.

IoT operating systems comparison table
Comparison between Contiki OS, RIOT OS, FreeRTOS, and TinyOS.

Summary

Choosing an IoT operating system depends on the target hardware, memory requirements, scheduler, programming model, supported languages, and project needs. There is no single best operating system for every case.