research in internet of things' operating systems (iot os's)

25
GEN600 Final Technical Report: Research in Internet of Things' Operating Systems (IoT OS's) Salahuddin M. ElKazak Cairo University, Masters in Computer Engineering

Upload: salahuddin-el-kazak

Post on 14-Apr-2017

2.593 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Research in Internet of Things' Operating Systems (IoT OS's)

GEN600 Final Technical Report:

Research in Internet of Things'Operating Systems (IoT OS's)

Salahuddin M. ElKazak

Cairo University, Masters in Computer Engineering

Page 2: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 2

Abstract

With the recent extraordinary scientific discoveries and technological advances computers have

become ubiquitous and the vision of Internet of Things (IoT) is coming to reality; while Operating

Systems (OS's) may be considered a relatively old field of research, its unique role in the IoT and

the crucial reliance on it being critically efficient in various ways for various types of Things re-

ignites its field of research once more. This report first introduces the two terminologies IoT and OS

explaining what they are and defining their relationship to one another. Then, the report continues to

explore the field of IoT OS's and current research as a form of survey report. Finally, the report

proves that the field of IoT has reignited the field of OS research and that current IoT OS's are still

in need of valuable research to enforce the field of IoT and let it thrive into fruition.

Keywords: IoT, Internet of Things, OS, Operating Systems, Field of Research, Survey on

IoT OS

GEN600: Final Technical Report

Page 3: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 3

Table of Contents1.Introduction.......................................................................................................................................52.Objectives..........................................................................................................................................63.What is IoT........................................................................................................................................7

3.1.IoT as a new area of research.....................................................................................................83.2.IoT's importance in the future....................................................................................................8

4.What are Operating Systems...........................................................................................................104.1.OS's as an old ongoing technology..........................................................................................114.2.OS's impact due to IoT............................................................................................................124.3.Comparison between IoT OS's and nonIoT OS's.....................................................................134.4.Differing Concepts...................................................................................................................144.5.Need for a special OS..............................................................................................................15

5.Survey on IoT OS's..........................................................................................................................165.1.Comparison of IoT OS's..........................................................................................................185.2.Most used IoT OS's..................................................................................................................195.3.Specialized usage of IoT OS's.................................................................................................20

6.IoT OS as an area of research..........................................................................................................217.Conclusion.......................................................................................................................................228.Future Work.....................................................................................................................................23

GEN600: Final Technical Report

Page 4: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 4

List of TablesTable 5.1: IoT OS Comparisons (Several Cited Resources)...............................................................18

List of FiguresFigure 3.1: MCU Billion Dollar Sales (Micrium, 2015)......................................................................9Figure 3.2: Billion MCU Unit Shipments (Micrium, 2015).................................................................9Figure 4.3: Impact of application and hardware trends on OSs, what’s broken in current OS design, and the OS outlook. (Milojičić, D., Timothy, R., 2016).....................................................................12Figure 4.4: Typical components of an OS for low-end IoT devices,including a common low-power IPv6 protocol stack.............................................................................................................................13

List of Abbreviations

Acronym Expanded Form Acronym Expanded Form

DMA Direct Memory Access NVRAM Non-Volatile RAM

IoT Internet of Things OS Operating System

MMUs Memory Managing Units OS's Operating Systems

NUMA Non-Uniform Memory Access SoCs Systems on Chips

NVM Non-Volatile Memory WSN Wireless Sensor Network

GEN600: Final Technical Report

Page 5: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 5

1. Introduction

With the recent extraordinary scientific discoveries and technological advances computers have

become ubiquitous and the vision of Internet of Things (IoT) is coming to reality; while Operating

Systems (OS's) may be considered a relatively old field of research, its unique role in the IoT and

the crucial reliance on it being critically efficient in various ways for various types of Things re-

ignites its field of research once more.

The applications and usage of IoT and the need for its specialized OS's along with the slow reaction

of researchers is an alarm for the urgency of more research in this area. IoT developers/researchers

are still rare, many cannot even define the word correctly. OS developers/researchers are also rare

and that is due to the fact that it is a highly specialized field with a very slow curve and tolerance

for change.

This report first introduces the two terminologies IoT and OS, in the first and second sections,

explaining what they are and defining their relationship to one another. Then in the third section, the

report continues to explore the field of IoT OS's and current research as a form of survey report.

Finally in the last sections, the report proves that the field of IoT has reignited the field of OS

research and that current IoT OS's are still in need of valuable research to enforce the field of IoT

and let it thrive into fruition.

GEN600: Final Technical Report

Page 6: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 6

2. Objectives

The main importance of this report lies in the need to grasp IoT researchers' attentions and lead

them to realize the importance of

1. using OS's for IoT devices

2. researching IoT-specific OS's

3. developing IoT-specific OS's

4. contributing to IoT applications through specialized OS's

The report should:

1. define clearly the terms mentioned above

2. use statistics for the indicators of IoT OS's importance specifically

3. use statistics for the indicators of IoT's importance generally

4. define the need for OS's in the field of IoT

5. exemplify important IoT markets

6. exemplify important IoT application-specific needs/usages

GEN600: Final Technical Report

Page 7: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 7

3. What is IoT

The Internet of Things (IoT) is the vision of interconnecting objects, users and entities or “things”.

While humans can communicate with others via various applications and websites, the vision is to

enable human to object communication, object to object communication and various variations

(ITU-T, 2012).

The Internet is no longer limited to human communication, for example one may communicate with

their own air conditioner and instruct it to start working before arriving home. Even more so, let the

car deliver that instruction automatically, it can use the Internet to predict traffic, tell the air

conditioner that you are heading home and the expected arrival time depending on which the air

conditioner can decide to work on a particular degree!

While this may seem of science-fiction or at least extremely luxurious for homes, it is the natural

evolution of the Internet. More and more devices are becoming connected in the industry either to

be controlled, used for sensing or be simply accounted for. Smart grids are demanding an IoT

structure to rationalize nation-wide energy consumption. Wireless Sensor Networks are turning into

an IoT structure.

GEN600: Final Technical Report

Page 8: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 8

3.1. IoT as a new area of researchInternet of Things is a term that has been coined by Kevin Ashton in 1999 (Ashton, 2009), therefore

it is not a new terminology or idea, however only recently when computers in general and

embedded systems in particular became ubiquitous, the field of IoT research started booming.

A lot of research, as previously mentioned, is converging into an integrated IoT structure. It is

becoming a reality whether it is properly researched or haphazardly connected.

3.2. IoT's importance in the futureIoT serves a highly important role in the future, it will eventually become a reality with time as

more and more people contribute unknowingly to it. However, without proper research, IoT can

become a threat to people's lives.

Imagine a world of IoT without any regulations, without any security designs, without efficient use

of technology. The result could range from simple invasion of people's privacy to illegal control of

cities perhaps even countries. Even ignoring the security threats, how about electrical and energy

threats, what about efficient use of power and rules for conserving it?

As shown in Figure 3.1 and Figure 3.2, micro-controller unit (MCU) sales have been booming in

the last few years. This is a powerful indicator of the future and demand for Embedded Systems

which as discussed is the underlying natural core of IoT.

GEN600: Final Technical Report

Page 9: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 9

GEN600: Final Technical Report

Figure 3.1: MCU Billion Dollar Sales (Micrium, 2015)

Figure 3.2: Billion MCU Unit Shipments (Micrium, 2015)

Page 10: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 10

4. What are Operating Systems

Operating Systems (OS's) are system programs that manage computer resources whether tangible

resources (like memory, storage, network, input/output etc.) or intangible resources (like running

other computer programs as processes, providing logical ports for different network connections

etc.). The OS mainly comprises of a kernel, utility software and a system shell.

The kernel contains modules for managing various resources. It is the real master and controller of

the hardware; it gives permissions/authorization to other software and users to perform any action.

The kernel, from its name, is the most essential and core part of the OS without which an OS will be

useless. Examples of popular kernels are Linux, Minix, Windows NT, XNU and Unix. As opposed

to their encompassing OS's that could be of various distributions and flavors like Ubuntu (Linux),

Android (Linux), Embedded Linux (Linux), Fedora (Linux), RedHat (Linux), Windows XP (NT),

Windows 7 (NT), MacOS (XNU), iOS (XNU), FreeBSD (Unix), NetBSD (Unix).

Utility software supports the OS's operation and provides the kernel with essential software like

debuggers, compilers, etc. It also provides users access to basic software like text editors etc.

System shells provide users with an interface to the kernel.

GEN600: Final Technical Report

Page 11: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 11

4.1. OS's as an old ongoing technologyOS's have been used as early as the 1960's (Lavington, 1998). The first OS's were uncoordinated,

existing with almost no agreed upon standards, and proprietary, the code being almost exclusive to

their developers leaving little to no space for research.

Since they are an essential part of almost any computer/device, their developers and designers try

not to change anything that is not broken for the sake of stability, (Milojičić, D., Timothy, R.,

2016).Not being able to change quickly forces any field to have a slow research and development

process. This results in a field that is not very attractive which further impedes its growth.

OS's previously were designed after the classical models like the Harvard or Von Neumann

architectures, which is no longer applicable with new parallel and distributed models that require

vigorous changes and demand different requirements.

OS research thrived with open source according to (Milojičić, D., Timothy, R., 2016); which would

be expected since by definition, an open source product would provide researchers with a cheaper

and more accessible code to base their researches upon.

GEN600: Final Technical Report

Page 12: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 12

4.2. OS's impact due to IoT“The Linux OS is optimized for a sweet spot— the maximum of the bell curve covering the area

bounded by the extremes. Going outside these zones will compromise the optimizations for this

sweet spot. Thus, the Linux community has less interest in going outside the current zones, where

innovation can happen.” (Milojičić, D., Timothy, R., 2016)

GEN600: Final Technical Report

Figure 4.3: Impact of application and hardware trends on OSs, what’s broken in current OS design, and the OS outlook. (Milojičić, D., Timothy,R., 2016)

Page 13: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 13

Furthermore, (Milojičić, D., Timothy, R., 2016) believes that current OS's cannot change enough to

suit future changes in both directions (high-end and low-end devices). Our concern is low-end IoT

devices and Figure 4.3 shows impact on OS design in general including IoT OS's.

4.3.Comparison between IoT OS's and nonIoT OS's(Milojičić, D., Timothy, R., 2016) argues that current OS's have become highly bloated and are no

longer actively supporting technological advancements. The article proceeds to stress on hardware,

software and network trends that force the nonIoT OS's to serve only a specific group instead of

being general-purpose.

(Hahm et al, 2015) describes an IoT OS's structure for low-powered devices. All changes and

segments supporting the previous arguments and described in more details in the next segment.

GEN600: Final Technical Report

Figure 4.4: Typical components of an OS for low-endIoT devices,including a common low-power IPv6 protocol stack.

Page 14: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 14

4.4. Differing ConceptsThe following summarizes the analysis by (Milojičić, D., Timothy, R., 2016), which I believe,

critically pinpoints the defining differing concepts between IoT and nonIoT OS's and hence, the

specific need for IoT OS's and their research.

The hardware trends are changing rapidly towards more complex internal structures which demand

control by the OS, this would require changes in the OS structure. Furthermore, the hardware

structure has flexible energy requirements that should be supported by the OS. Moreover, the

emergence of Nonvolatile Memory (NVM) and Nonvolatile RAM (NVRAM) changes the typical

memory model that current OS's support.

Additionally, even the most stable and feature-rich OS's fail to completely envelope the hardware

due to proprietary drivers and thus fail to withhold the fundamental purpose of OS's as resource

managers. Finally, the diversity and fast-paced technological improvements cannot be fully

supported by OS's except through partial workarounds or costly development.

On the other hand, application models are shifting towards rack-scale computing; this demand for

large-scale scalable parallel distributed computing would definitely require a technological shift in

the structure of OS design to match it. Even more, the applications would require virtual machine

technologies to adapt to their separate needs of hardware, networks and supporting software.

Specifically pinpointing the lagging OS aspects, the monolithic kernel in-memory structure that

requires the kernel to be the sole controller of the system fails the distributed structure which has

separate memories across network(s). This also affects the security of the system since high-

privileged data requires secure communication which would have to occur across platforms and

networks. More so, it will affect the scheduling algorithms which depend on a limited number of

native users and their applications rather than a distributed nature.

GEN600: Final Technical Report

Page 15: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 15

Two critical stacks of the OS should also be changed, the network and data storage/filesystem

stacks. These are affected by Direct Memory Access (DMA) due to their demanding bandwidth of

large data streams. This causes a demand of computer structural change like using the network

interface card as a simple switch or using solid-state drives as a storage underlying technology.

These changes would have to be adapted for large-scale parallelized and distributed systems with

multi-core integration. Their basic data structures and governing protocols would have to be suited

for their needs.

4.5.Need for a special OSWhile IoT devices can be managed by complex embedded device programs, in my opinion,

avoiding the use of OS's would be ignoring the technological advancements in this particular area.

IoT devices need to manage their resources, OS's act mainly as resource managers.

IoT devices are usually simple in nature and exist mainly for a few purposes like smoke sensors or

a.c. controllers or TV's etc. However, ignoring the uses of OS's in appropriately managing resources

especially now that there is an extra network stack added to each and every IoT device would be

counter-productive.

Finally, the supporting and suggested structural changes discussed previously can only indicate and

prove one thing, that current general-purpose OS's are no longer general-purpose and that specific-

purpose OS's are required for IoT low-power devices.

GEN600: Final Technical Report

Page 16: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 16

5. Survey on IoT OS's

“TinyOS is an open source, BSD-licensed operating system designed for low-power wireless

devices, such as those used in sensor networks, ubiquitous computing, personal area networks,

smart buildings, and smart meters. A worldwide community from academia and industry use,

develop, and support the operating system as well as its associated tools, averaging 35,000

downloads a year.” (TinyOS, 2013)

“Contiki is an open source operating system for the Internet of Things. Contiki connects tiny low-

cost, low-power microcontrollers to the Internet.” (Contiki, 2015)

“Nano-RK is a fully preemptive reservation-based real-time operating system (RTOS) from

Carnegie Mellon University with multi-hop networking support for use in wireless sensor networks.

Nano-RK currently runs on the FireFly Sensor Networking Platform as well as the MicaZ motes. It

includes a light-weight embedded resource kernel (RK) with rich functionality and timing support

using less than 2KB of RAM and 18KB of ROM. Nano-RK supports fixed-priority preemptive

multitasking for ensuring that task deadlines are met, along with support for CPU, network, as well

as, sensor and actuator reservations. Tasks can specify their resource demands and the operating

system provides timely, guaranteed and controlled access to CPU cycles and network packets.

Together these resources form virtual energy reservations that allows the OS to enforce system and

task level energy budgets.” (Nano-RK, 2011)

“FreeRTOS is a market leading RTOS from Real Time Engineers Ltd. that supports 35 architectures

and received >113000 downloads during 2014. It is professionally developed, strictly quality

controlled, robust, supported, and free to embed in commercial products without any requirement to

expose your proprietary source code. FreeRTOS has become the de facto standard RTOS for

GEN600: Final Technical Report

Page 17: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 17

microcontrollers by removing common objections to using free software, and in so doing, providing

a truly compelling free software model.” (FreeRTOS, 2015)

“ARM® mbed OS is an open source embedded operating system designed specifically for the

"things" in the Internet of Things (IoT). It includes all the features you need to develop a connected

product based on an ARM Cortex-M microcontroller, and is perfect for applications including smart

cities, smart homes and wearables.” (mbed, 2015)

“RIOT is an operating system designed for the particular requirements of Internet of Things (IoT)

scenarios. These requirements comprise a low memory footprint, high energy efficiency, real-time

capabilities, a modular and configurable communication stack, and support for a wide range of low-

power devices. RIOT provides a microkernel, utilities like cryptographic libraries, data structures

(bloom filters, hash tables, priority queues), or a shell, different network stacks, and support for

various microcontrollers, radio drivers, sensors, and configurations for entire platforms, e.g. TelosB

or STM32 Discovery Boards.” (RIOT, 2015)

“Brillo brings the simplicity and speed of software development to hardware for IoT with an

embedded OS, core services, developer kit, and developer console.” (Brillo, 2015)

GEN600: Final Technical Report

Page 18: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 18

5.1. Comparison of IoT OS's

Table 5.1: IoT OS Comparisons (Several Cited Resources)

System License Architectures Supported Technologies SupportedTypical

Configuration Size

ProgrammingModel

Language,IDE,

Simulator

TinyOSOpen Source BSD

telos family, micaZ, IRIS, mica2, the shimmer family, epic, mulle, tinynode, span, iMote2, MSP430 family, Atmega128, Atmega128L, Atmega1281, px27ax, CC1000, CC2420, TDA5250, RF212, RF230, XE1205, AT45DB, STM25P

Broadcast based Routing, Probabilistic Routing, Multi-Path Routing, Geographical Routing, Reliability based Routing, TDMA based Routing, Directed Diffusion, TinySec

few kB RAM10s kB ROM

Event Driven,support for

TOS threads

NesC / Any,TinyDT,Eclipse /TOSSIM

ContikiOpen Source BSD

mica2, micaZ, Atmel ARM, Atmel AVR, STM32w, TI MSP430, TI CC2430, TI CC2538, TI CC2630, TI CC2650, LPC2103, Freescale MC13224, Microchip dsPIC, Microchip PIC32

6lowpan, RPL, CoAP, TLS, DTLS

2KB RAM40KB ROM

Protothreadsand events

C / Any /COOJA

Mantis Open Source mica2, micaZ, TELOS motes0.5KB RAM14KB ROM

Threads C

Nano-RK

Open Source Dual License GPL and Commercial

micaZ, firefly sensor networking platform

RTLink, PCF TDMA, b-mac, U-Connect, WiDom

2KB RAM18KB ROM

ThreadsC / Any,Eclipse /

LiteOSOpen Source GPLv3

micaZ, MIB510, MIB520 JTAGThreads and

EventsLiteC++

FreeRTOSOpen Source Modified GPL

ARM7, ARM9, ARM CortexM3, ARM Cortex-M4, ARM Cortex-A, RM4x, TMS570, Cortex-R4, Atmel AVR, AVR32, HCS12, Altera Nios II, MicroBlaze, Cortus APS1, Cortus APS3, Cortus APS3R, Cortus APS5, Cortus FPF3, Cortus FPS6, Cortus FPS8, Fujitsu MB91460 series, Fujitsu MB96340 series, Coldfire V850, 78K0R, RenesasH8/S, MSP430, 8052, X86, RX,SuperH, PIC, Atmel SAM3, Atmel SAM4, Atmel SAM7, Atmel SAM9

TCP, UDP, Ethernet, TLS4KB RAM9KB ROM

C

mbed OSOpen Source Apache v2.0

ARM Cortex-M6LoWPAN, CoAP, BLE, Wi-fi,Zigbee IP, Zigbee LAN, Cellular, Ethernet, TLS, DTLS

C,C++ / mbedonline IDE /

RIOTOpen Source LGPL v2.1

ARM Cortex-M3, ARM Cortex-M4, ARM7, AVR Atmega, TI MSP430 devices

6LoWPAN, RPL, CoAP, UDP, TCP, CBOR, CCN-lite, OpenWSN, UBJSON

1.5KB RAM5KB ROM

Threads C,C++ / Any /

As shown in Table 5.1, typical configuration sizes are in a few kilobytes of RAM and ROM built

for embedded architectures and platforms. Most OS's are working on supporting various low-power

communication technologies which is a recognized area of research. The competition also exists in

GEN600: Final Technical Report

Page 19: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 19

supporting the huge variety of embedded system architectures available while some are dedicated to

particular architectures. While the licenses displayed above are exclusively Open Source variants,

there are proprietary OS's for mobile and other embedded platforms. OS challenges like multi-

threading and event handling can be viewed as an important issue displayed on their respective

websites.

5.2.Most used IoT OS'sWhile the question is clear, the answer is rather vague for a few good reasons:

1. IoT is a new field of specialization although the idea is old.

2. IoT-specialized OS's are new and limited because the field is new.

3. IoT specialists are few. Most developers, researchers and even companies are in the learning

phase.

Leading with these three reasons, which are a summary of the findings of a few surveys like

(Skerret, I., 2015) and (Progress, 2015), it is difficult to find a correct answer for what is the most

used IoT OS?.

While the answer is difficult, it could be misleading to assume or take for granted the fact that

Linux is the most used kernel and Linux-based OS's are the dominant IoT OS's. The surveys stress

on Linux, Android (a Linux-based OS), Embedded Linux (another Linux-based OS) as the most

used followed by Macintosh's iOS and Windows' CE.

Mobile-based OS's are very well a part of the IoT, they probably will be the main interface in the

future. However, there lies millions of other things that are still not connected to the Internet and a

lot others that cannot make use of heavy OS's (heavy in the sense of ROM/RAM requirements and

power consumption) such as the Wireless Sensor Networks (WSNs) that may be power-critical.

GEN600: Final Technical Report

Page 20: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 20

Minimalistic OS's as shown in Table 5.1 will dominate the embedded world of the Internet of

Things; that is not only my opinion but of other researchers too such as (Milojičić, D., Timothy, R.,

2016) for many reasons as follows.

5.3.Specialized usage of IoT OS'sAs previously mentioned, nonIoT OS's request large resources as opposed to IoT OS's low-power

low-resource demands. This is demanded in most IoT devices which are usually constrained devices

relative to processing, storage and in general power consumption. These devices usually rely on

batteries and hence are constrained.

According to (Hahm et al, 2015), three IoT OS categories exist: multi-threaded, event-driven and

worst-case real-time. They believe that RIOT, Contiki and FreeRTOS will become the dominant in

the field of IoT. RIOT being dominant in the multi-threaded category. Contiki in the event-driven

category. FreeRTOS in the worst-case real-time category.

GEN600: Final Technical Report

Page 21: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 21

6. IoT OS as an area of researchJournals dedicated to the IoT like the IEEE IoT Initiative and many other conferences have been

either initiated or thrived in the past two years.

Checking the Internet Archive for snapshots of wikicfp.com, the number of IoT call for papers in

2014 was 132. Astonishingly, viewing the current version in January 2016, there are 259 call for

papers. The number of IoT call for papers has doubled in 2 years!

In 2015, even in the industry, multinational billion dollar companies like Google and Huawei

announced that they are developing their own IoT OS's, respectively Brillo OS (Brillo, 2015) and

Liteos (Liteos, 2015).

Building on the previous facts, it is very safe to assume that IoT OS as an area of research is not

only in its beginning, but it is gaining a clear and heavy momentum for years to come. This should

place its researchers and specialists in a very high demand in upcoming years and would be a clear

sign for recommendation as a point of research.

GEN600: Final Technical Report

Page 22: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 22

7. Conclusion

The report has shown that the IoT market is rapidly expanding, the current demand for IoT and the

future will contain IoT devices.

The report displayed various statistics and surveys concerning the demand for different OS's and

various conferences/journals/industries and working on new IoT OS's.

The report also compared current IoT OS's with one another to view their differences and their

goals most of which are for constrained devices.

The report further analyzed these comparisons into a single conclusion, IoT OS research is a new

and active point of research.

GEN600: Final Technical Report

Page 23: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 23

8. Future Work

This report argued for the sake of IoT OS research and a detailed analysis of a number of surveys

has been covered to enforce the argument; this has lead to the conclusion that this type of research

is worthy of contributing to and should be joined as early as possible for greater impact on its

future.

Another issue that has been recognized in the referenced documents is IoT OS's security measures

and their urgent need for standardization. A few ideas regarding various encryption schemes and

security protocols have been discussed privately and should be implemented as part of a few

notable IoT OS's.

Further work with more specialized areas of research such as IoT applications in country-wide

traffic, smart grids and large world-wide projects concerning the hubble telescope and hackerspace

grids have inspired the author with important improvements to IoT OS's.

GEN600: Final Technical Report

Page 24: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 24

References[Ashton, 2009] Ashton, K. (2009). That 'Internet of Things' Thing. RFID Journal LLC. Retrieved

from http://www.rfidjournal.com/articles/view?4986 on 2016, Jan.

[Brillo, 2015] Google Developers (2015). Brillo. developers.google.com. Retrieved from

https://developers.google.com/brillo/?hl=en on 2016, Jan.

[Contiki, 2015] Contiki (2015). Contiki: The Open Source OS for the Internet of Things. Contiki-

os.org. Retrieved from http://www.contiki-os.org/index.html on 2016, Jan.

[FreeRTOS, 2015] FreeRTOS (2015). FreeRTOS: Quality RTOS & Embedded Software.

FreeRTOS.org. Retrieved from http://www.freertos.org/ on 2016, Jan.

[Hahm et al, 2015] Hahm, O., Baccelli, E., Petersen, H., Tsiftes, N. (2015). Operating Systems

forLow-End Devices in the Internet of Things: a Survey. IEEE. Retrieved from on .

[ITU-T, 2012] ITU-T (2012). Overview of the Internet of things. ITU-T. Retrieved from

http://www.itu.int/rec/T-REC-Y.2060-201206-I on 2016, Jan.

[Lavington, 1998] Lavington, S. (1998). A History of Manchester Computers. 2nd ed. Swindon:

The British Computer Society. pp 50-52.

[Liteos, 2015] Huawei (2015). Huawei’s Agile Network 3.0 Architecture Launched at Huawei

Network Congress 2015. Huawei.com. Retrieved from http://pr.huawei.com/en/news/hw-432402-

agilenetwork3.0.htm on 2016, Jan.

[mbed, 2015] mbed (2015). mbed OS. ARM mbed.com. Retrieved from

GEN600: Final Technical Report

Page 25: Research in Internet of Things' Operating Systems (IoT OS's)

Research in IoT OS's 25

https://www.mbed.com/en/development/software/mbed-os/ on 2016, Jan.

[Micrium, 2015] Micrium Embedded Software (2015). The Internet of Things and RTOS.

Micrium.com. Retrieved from http://www.micrium.com/iot/iot-rtos/ on 2016, Jan.

[Milojičić, D., Timothy, R., 2016] Milojičić, D., Timothy, R. (2016). Outlook on Operating

Systems. IEEE Computer Society. Retrieved from IEEE Computer Magazine, 01.16 ed.

[Nano-RK, 2011] Nano-RK (2011). Nano-RK. Nano-RK. Retrieved from

http://www.nanork.org/projects/nanork/wiki on 2016, Jan.

[Progress, 2015] Progress (2015). State of IoT: 2015 Global Developer Study. Progress.com.

Retrieved from https://www.progress.com/docs/default-source/default-document-

library/progress/documents/papers/iot_surveyreport.pdf on 2016, Jan.

[RIOT, 2015] RIOT (2015). RIOT - The friendly Operating System for the Internet of Things.

RIOT-OS.org. Retrieved from www.riot-os.org/ on 2016, Jan.

[Skerret, I., 2015] Skerret, I. (2015). IoT Developer Survey 2015. Eclipse Foundation. Retrieved

from http://www.slideshare.net/IanSkerrett/iot-developer-survey-2015 on 2016, Jan.

[TinyOS, 2013] TinyOS (2013). TinyOS. TinyOS.net. Retrieved from http://www.tinyos.net/ on

2016, Jan.

GEN600: Final Technical Report