Towards an OS for the Internet of Things
The Internet of Things (IoT) is characterized by heterogeneous devices. They range from very lightweight sensors powered by 8-bit microcontrollers (MCUs) to devices equipped with more powerful, but energy-efficient 32-bit processors.
However, neither a traditional operating system (OS) currently running on Internet hosts, nor a typical OS for sensor networks are capable of fullfilling the diverse requirements of such a wide range of devices. To leverage the IoT, redundant development should be avoided and maintenance costs should be reduced.
In this paper we revisit the requirements for an OS in the IoT. We introduce RIOT OS, a real time capable OS that explicitly considers devices with minimal resources but eases development across a wide range of devices.
Available open source RIOT code requires less than 5 kByte of ROM and less than 1.5 kByte of RAM for a basic application on MSP430. It uses a multi-threaded programming model in combination with standard ANSI C code and a common POSIX-like API for all supported hardware –from 16-bit microcontrollers to 32-bit processors.
Hence, for projects involving heterogeneous IoT hardware, it is possible to build the whole software system upon RIOT and easily adopt existing libraries. Moreover, the availability of several networking protocols including the latest standards of the IETF for connecting constrained systems to the Internet (6LoWPAN, RPL) make RIOT IoT-ready. On-going work includes full POSIX compliance and porting to various IoT platforms.
To read this external content in full, download the complete paper from the author online archives.