Operating Systems for Low-End Devices in the Internet of Things: A Survey

The Internet of Things (IoT) is projected to soon interconnect tens of billions of new devices, in large part also connected to the Internet. IoT devices include both high-end devices which can use traditional go-to operating systems (OSs) such as Linux, and low-end devices which cannot, due to stringent resource constraints, e.g., very limited memory, computational power, and power supply. However, large-scale IoT software development, deployment, and maintenance requires an appropriate OS to build upon. In this paper, we thus analyze in detail the specific requirements that an OS should satisfy to run on low-end IoT devices, and we survey applicable OSs, focusing on candidates that could become an equivalent of Linux for such devices, i.e., a one-size-fits-most, open source OS for low-end IoT devices.

[1]  Adam Dunkels,et al.  Demo abstract: MSPsim - an extensible simulator for MSP430-equipped sensor boards , 2007 .

[2]  Sang Cheol Kim,et al.  NanoQplus : A Multi-Threaded Operating System with Memory Protection Mechanism for WSNs , 2008 .

[3]  Eric Fleury,et al.  FIT IoT-LAB: A large scale open experimental IoT testbed , 2015, 2015 IEEE 2nd World Forum on Internet of Things (WF-IoT).

[4]  Michele Zorzi,et al.  Interoperable and globally interconnected Smart Grid using IPv6 and 6LoWPAN , 2012, 2012 IEEE International Conference on Communications (ICC).

[5]  David E. Culler,et al.  TinyOS: An Operating System for Sensor Networks , 2005, Ambient Intelligence.

[6]  C. Pronk,et al.  Verifying FreeRTOS; a feasibility study , 2010 .

[7]  Peter Palensky,et al.  Communication and Computation in Buildings: A Short Introduction and Overview , 2010, IEEE Transactions on Industrial Electronics.

[8]  Emmanuel Baccelli,et al.  RIOT and the Evolution of IoT Operating Systems and Applications , 2015, ERCIM News.

[9]  Kristofer S. J. Pister,et al.  Industrial Routing Requirements in Low-Power and Lossy Networks , 2009, RFC.

[10]  Nathan Ickes,et al.  Energy-centric enabling tecumologies for wireless sensor networks , 2002, IEEE Wireless Communications.

[11]  Philip Levis,et al.  Experiences from a Decade of TinyOS Development , 2012, OSDI.

[12]  Jeff Rose,et al.  MANTIS OS: An Embedded Multithreaded Operating System for Wireless Micro Sensor Platforms , 2005, Mob. Networks Appl..

[13]  Thomas Pötsch,et al.  Communication techniques and challenges for wireless food quality monitoring , 2014, Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences.

[14]  Jerald Martocci,et al.  Building Automation Routing Requirements in Low-Power and Lossy Networks , 2010, RFC.

[15]  Lyman Chapin,et al.  THE INTERNET OF THINGS : AN OVERVIEW Understanding the Issues and Challenges of a More Connected World , 2015 .

[16]  Michael Norrish,et al.  seL4: formal verification of an OS kernel , 2009, SOSP '09.

[17]  Matthias Wählisch,et al.  A Distributed Test System Architecture for Open-source IoT Software , 2015, IoT-Sys@MobiSys.

[18]  W. Eric Norum EPICS on the RTEMS real-time executive for multiprocessor systems , 2002 .

[19]  Raj Kumar,et al.  A Comparative Analysis of Wireless Sensor Network Operating Systems , 2011 .

[20]  Gennaro Boggia,et al.  Standardized Protocol Stack for the Internet of (Important) Things , 2013, IEEE Communications Surveys & Tutorials.

[21]  戴偉堯 uC/OS-II 上可攜的對稱式多處理器模組設計 , 2009 .

[22]  Girts Strazdins,et al.  MansOS: easy to use, portable and resource efficient operating system for networked embedded devices , 2010, SenSys '10.

[23]  Jochen H. Schiller,et al.  A real-time kernel for wireless sensor networks employed in rescue scenarios , 2009, 2009 IEEE 34th Conference on Local Computer Networks.

[24]  Jakob Buron,et al.  Home Automation Routing Requirements in Low-Power and Lossy Networks , 2008, RFC.

[25]  Wei Dong,et al.  Providing OS Support for Wireless Sensor Networks: Challenges and Approaches , 2010, IEEE Communications Surveys & Tutorials.

[26]  Thomas C. Schmidt,et al.  RIOT OS: Towards an OS for the Internet of Things , 2013, 2013 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS).

[27]  Colin O'Flynn,et al.  Making sensor networks IPv6 ready , 2008, SenSys '08.

[28]  Thomas R. Henderson,et al.  Network Simulations with the ns-3 Simulator , 2008 .

[29]  Gareth Halfacree,et al.  Meet the Raspberry Pi , 2016 .

[30]  Adam Dunkels,et al.  Contiki - a lightweight and flexible operating system for tiny networked sensors , 2004, 29th Annual IEEE International Conference on Local Computer Networks.

[31]  Vinny Cahill,et al.  Towards real-time middleware for vehicular ad hoc networks , 2004, VANET '04.

[32]  Anamaria Martins Moreira,et al.  Formalizing FreeRTOS: First Steps , 2009, SBMF.

[33]  Carsten Bormann,et al.  Terminology for Constrained-Node Networks , 2014, RFC.

[34]  Peter I. Corke,et al.  Darjeeling, a feature-rich VM for the resource poor , 2009, SenSys '09.

[35]  Matteo Petracca,et al.  PyFUNS: A Python Framework for Ubiquitous Networked Sensors , 2015, EWSN.

[36]  Ismael Ripoll,et al.  TLSF: a new dynamic memory allocator for real-time systems , 2004, Proceedings. 16th Euromicro Conference on Real-Time Systems, 2004. ECRTS 2004..

[37]  Matthias Wählisch,et al.  Old Wine in New Skins?: Revisiting the Software Architecture for IP Network Stacks on Constrained IoT Devices , 2015, IoT-Sys@MobiSys.

[38]  Bart Jacobs,et al.  Increased security through open source , 2007, Commun. ACM.

[39]  Tim Winter,et al.  Routing Requirements for Urban Low-Power and Lossy Networks , 2009, RFC.

[40]  Muneeb Ali,et al.  Protothreads: simplifying event-driven programming of memory-constrained embedded systems , 2006, SenSys '06.

[41]  Aleksandar Milenkovic,et al.  Wireless sensor networks for personal health monitoring: Issues and an implementation , 2006, Comput. Commun..

[42]  Michael Roitzsch,et al.  Ten Years of Research on L 4-Based Real-Time Systems , 2006 .

[43]  Mun Choon Chan,et al.  Indriya: A Low-Cost, 3D Wireless Sensor Network Testbed , 2011, TRIDENTCOM.

[44]  Karen A. Scarfone,et al.  SP 800-82. Guide to Industrial Control Systems (ICS) Security: Supervisory Control and Data Acquisition (SCADA) systems, Distributed Control Systems (DCS), and other control system configurations such as Programmable Logic Controllers (PLC) , 2011 .