Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

A Technical Report on Research in Internet of Things'
Operating Systems (IoT OS's)

  • Login to see the comments

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

  1. 1. GEN600 Final Technical Report: Research in Internet of Things' Operating Systems (IoT OS's) Salahuddin M. ElKazak Cairo University, Masters in Computer Engineering
  2. 2. 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
  3. 3. Research in IoT OS's 3 Table of Contents 1.Introduction.......................................................................................................................................5 2.Objectives..........................................................................................................................................6 3.What is IoT........................................................................................................................................7 3.1.IoT as a new area of research.....................................................................................................8 3.2.IoT's importance in the future....................................................................................................8 4.What are Operating Systems...........................................................................................................10 4.1.OS's as an old ongoing technology..........................................................................................11 4.2.OS's impact due to IoT............................................................................................................12 4.3.Comparison between IoT OS's and nonIoT OS's.....................................................................13 4.4.Differing Concepts...................................................................................................................14 4.5.Need for a special OS..............................................................................................................15 5.Survey on IoT OS's..........................................................................................................................16 5.1.Comparison of IoT OS's..........................................................................................................18 5.2.Most used IoT OS's..................................................................................................................19 5.3.Specialized usage of IoT OS's.................................................................................................20 6.IoT OS as an area of research..........................................................................................................21 7.Conclusion.......................................................................................................................................22 8.Future Work.....................................................................................................................................23 GEN600: Final Technical Report
  4. 4. Research in IoT OS's 4 List of Tables Table 5.1: IoT OS Comparisons (Several Cited Resources)...............................................................18 List of Figures Figure 3.1: MCU Billion Dollar Sales (Micrium, 2015)......................................................................9 Figure 3.2: Billion MCU Unit Shipments (Micrium, 2015).................................................................9 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).....................................................................12 Figure 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
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. Research in IoT OS's 8 3.1.IoT as a new area of research Internet 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 future IoT 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
  9. 9. 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)
  10. 10. 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
  11. 11. Research in IoT OS's 11 4.1. OS's as an old ongoing technology OS'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
  12. 12. 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)
  13. 13. 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-end IoT devices,including a common low-power IPv6 protocol stack.
  14. 14. Research in IoT OS's 14 4.4. Differing Concepts The 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
  15. 15. 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 OS While 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
  16. 16. 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
  17. 17. 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
  18. 18. 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 Supported Typical Configuratio n Size Programming Model Language, IDE, Simulator TinyOS Open 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 RAM 10s kB ROM Event Driven, support for TOS threads NesC / Any, TinyDT, Eclipse / TOSSIM Contiki Open 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 RAM 40KB ROM Protothreads and events C / Any / COOJA Mantis Open Source mica2, micaZ, TELOS motes 0.5KB RAM 14KB 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 RAM 18KB ROM Threads C / Any, Eclipse / LiteOS Open Source GPLv3 micaZ, MIB510, MIB520 JTAG Threads and Events LiteC++ FreeRTOS Open 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, Renesas H8/S, MSP430, 8052, X86, RX, SuperH, PIC, Atmel SAM3, Atmel SAM4, Atmel SAM7, Atmel SAM9 TCP, UDP, Ethernet, TLS 4KB RAM 9KB ROM C mbed OS Open Source Apache v2.0 ARM Cortex-M 6LoWPAN, CoAP, BLE, Wi-fi, Zigbee IP, Zigbee LAN, Cellular, Ethernet, TLS, DTLS C,C++ / mbed online IDE / RIOT Open 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 RAM 5KB 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
  19. 19. 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's While 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
  20. 20. 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's As 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
  21. 21. Research in IoT OS's 21 6. IoT OS as an area of research Journals 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
  22. 22. 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
  23. 23. 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
  24. 24. 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
  25. 25. 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

×