In free open source OS which has evolved a

In 2008, the operating system RIOT was created and nowadays they call themselves the friendly operating system for the Internet of Things. It is a free open source OS which has evolved a lot since the beginning. Its origin lays in a software for Wireless Sensor Networks called Feuerware which helped to monitor firefighters during rescue mission. Therefore, RIOT still has some benefits from its predecessor such as real-time support and maximum reliability. As Table 1 shows RIOT requires a small amount of 5 kB ROM and 1.5 kB RAM for a basic application. The OS is also shown to support low-end and high-end devices because of its POSIX-like API for all supported hardware.~cite{OSDevicesIoT} The total code footprint is highly optimized to be small and under the terms of the Internet Engineering Task Force RIOT’s Hardware requirements belong to Class 1 and 2.~cite{ClassesIETF}
ewline It is based on a microkernel architecture, supporting multithreading with standard API that includes a preemptive, tickless scheduler. It has flexible memory management and can run on restrained devices.~cite{5355049} A focus when developing RIOT has been to make it developer friendly by using programming languages such as C or C++ and providing standard tools. Furthermore the GNU Compiler Collection (GCC) can be used. Apart from these advantages RIOT also does not have complex hardware dependent code.~cite{RIOT}
ewlineThe OS has been extraordinary in its exclusive use of static memory allocation inside the kernel. It guarantees a runtime of O(1) by using a linked list of threads which has a fixed size. It is compulsory that the timer maximizes the duration of deep-sleep modes, so that it acts energy efficient. Whenever there are no pending tasks RIOT switches to an idle thread where it goes into the deepest possible sleep depending on peripheral devices in use. Besides interrupts, there is no other way to wake it up from the idle state. Shortly: RIOT is an OS that has a small memory footprint and is still energy efficient.~cite{TowardsOSforIOT} Another fact about RIOT is that it does not necessarily need a MMU (Memory Management Unit) or a FPU (Floating Point Unit) but it can benefit from those if they are available.~cite{Paper}Coming to the implementation of the network stack RIOT supports networking protocols such as IPv6~cite{IPv6}, 6LoWPAN~cite{6LoWPAN} or content centric networking and standard protocols such as RPL~cite{RPL}, User Datagram Protocol (UDP)~cite{UDP}, Transmission Control Protocol (TCP)~cite{TCPIP} and CoAP.~cite{CoAP}

x

Hi!
I'm Brent!

Would you like to get a custom essay? How about receiving a customized one?

Check it out