Internet of Things
Lecture 9 - IoT Operating Systems
IoT Demands
2
Lecture 9 - IoT Operating Systems
Low-end IoT Devices
3
Lecture 9 - IoT Operating Systems
Low-end IoT Devices
4
Lecture 9 - IoT Operating Systems
Low-end IoT Devices
5
Lecture 9 - IoT Operating Systems
Low-end IoT Devices
6
Lecture 9 - IoT Operating Systems
IoT OS Requirements
7
Lecture 9 - IoT Operating Systems
IoT OS Requirements
8
Lecture 9 - IoT Operating Systems
IoT OS Requirements
9
Lecture 9 - IoT Operating Systems
IoT OS Requirements
10
Lecture 9 - IoT Operating Systems
IoT OS Requirements
11
Lecture 9 - IoT Operating Systems
OS Design for IoT - Architecture
12
Lecture 9 - IoT Operating Systems
OS Design for IoT - Architecture
13
Lecture 9 - IoT Operating Systems
OS Design for IoT - Architecture
14
Lecture 9 - IoT Operating Systems
OS Design for IoT - Scheduling
15
Lecture 9 - IoT Operating Systems
OS Design for IoT - Scheduling
16
Lecture 9 - IoT Operating Systems
OS Design for IoT - Scheduling
17
Lecture 9 - IoT Operating Systems
OS Design for IoT - Memory
18
Lecture 9 - IoT Operating Systems
OS Design for IoT - Memory
19
Lecture 9 - IoT Operating Systems
OS Design for IoT - Network Stack
20
Lecture 9 - IoT Operating Systems
OS Design for IoT - Programming Model
21
Lecture 9 - IoT Operating Systems
OS Design for IoT - Programming Model
22
Lecture 9 - IoT Operating Systems
OS Design for IoT - Drivers
23
Lecture 9 - IoT Operating Systems
Most popular OSes
24
Lecture 9 - IoT Operating Systems
TinyOS
25
Lecture 9 - IoT Operating Systems
TinyOS
26
Lecture 9 - IoT Operating Systems
Contiki
27
Lecture 9 - IoT Operating Systems
Contiki
28
Lecture 9 - IoT Operating Systems
Contiki
29
Lecture 9 - IoT Operating Systems
Contiki
30
Lecture 9 - IoT Operating Systems
Contiki
31
Lecture 9 - IoT Operating Systems
Contiki
32
Lecture 9 - IoT Operating Systems
Contiki
33
Lecture 9 - IoT Operating Systems
Contiki
34
Source: Ângelo André Oliveira Ribeiro, “Deploying RIOT Operating System on a Reconfigurable Internet of Things End-device”
RIOT
35
Lecture 9 - IoT Operating Systems
RIOT
36
Lecture 9 - IoT Operating Systems
RIOT
37
Lecture 9 - IoT Operating Systems
RIOT
38
Lecture 9 - IoT Operating Systems
RIOT
39
Lecture 9 - IoT Operating Systems
RIOT
40
Lecture 9 - IoT Operating Systems
RIOT
41
Lecture 9 - IoT Operating Systems
RIOT
42
Source: Ângelo André Oliveira Ribeiro, “Deploying RIOT Operating System on a Reconfigurable Internet of Things End-device”
FreeRTOS
43
Lecture 9 - IoT Operating Systems
FreeRTOS
44
Lecture 9 - IoT Operating Systems
FreeRTOS
45
Lecture 9 - IoT Operating Systems
FreeRTOS
1. allocate only
2. simple and fast allocate & free
3. malloc() and free() from C library
4. more complex allocate & free (memory coalescence)
5. even more complex - allows heap span over memory sections
46
Lecture 9 - IoT Operating Systems
FreeRTOS
47
Lecture 9 - IoT Operating Systems
NuttX
48
Lecture 9 - IoT Operating Systems
NuttX
49
Lecture 9 - IoT Operating Systems
NuttX
50
Lecture 9 - IoT Operating Systems
NuttX
51
Lecture 9 - IoT Operating Systems
NuttX
52
Lecture 9 - IoT Operating Systems
NuttX
53
Lecture 9 - IoT Operating Systems
OS Comparison
54
Source: O. Hahm, E. Baccelli, H. Petersen and N. Tsiftes, "Operating Systems for Low-End Devices in the Internet of Things: A Survey," in IEEE Internet of Things Journal, vol. 3, no. 5, pp. 720-734, Oct. 2016.
Lecture 9 - IoT Operating Systems
OS Comparison
55
Source: O. Hahm, E. Baccelli, H. Petersen and N. Tsiftes, "Operating Systems for Low-End Devices in the Internet of Things: A Survey," in IEEE Internet of Things Journal, vol. 3, no. 5, pp. 720-734, Oct. 2016.
Lecture 9 - IoT Operating Systems
OS Comparison
56
Source: E. Baccelli, O. Hahm, M. Günes, M. Wählisch and T. C. Schmidt, "RIOT OS: Towards an OS for the Internet of Things," 2013 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), 2013, pp. 79-80.
Lecture 9 - IoT Operating Systems
Bibliography
57
Lecture 9 - IoT Operating Systems
Bibliography
58
Lecture 9 - IoT Operating Systems