中科创达 Aiot操作系统的实践与反思 for OS2ATC 2019P.Pdf

Total Page:16

File Type:pdf, Size:1020Kb

中科创达 Aiot操作系统的实践与反思 for OS2ATC 2019P.Pdf AIoT操作系统的实践和反思 Reality & Retrospection of AIoT OS 2019.12.14 · 深圳 邹鹏程 CTO,中科创达 Copyright Thunder Software Technology Co., Ltd. 2008-2016 All right reserved http://www.thundersoft.com/ 12/14/2019 1 关于中科创达(ThunderSoft) ❖ 读什么? ❖ 做什么? 高通智能手机参考设计 软银智能清扫机器人 兰博基尼智能驾驶舱 ❖ 买什么? 12/14/2019 2 中科创达 (ThunderSoft) 智能视觉 智能物联网 智能车载 Global Carrier 智能系统 初创 快速发展 拓展领域 核心技术 2008 2009 2010 2011 2013 2014 2015 2016 2017 2018 初创 高通联合实 Intel/微软联 Intel合资 ARM合资 高通合资公司 TurboX IoT平台 日本子公司 Smartbook 验室 合实验室 公司 公司 面向IoT SoM & OS Intel AI Dev Kit H5OS 收购 MID 高通/展讯 摄像头全套 IPO 收购MM 展讯联合实验室 终端安全 Rightware 拓展东南亚市场 方案 300496 Solution /ARM/Intel 投资 技术 12/14/2019 3 2009 - Smartbook 12/14/2019 4 2010 – Smartphone Reference Design 12/14/2019 5 2014 - AIoT 问题 • 碎片化严重; • 商务模式不清晰; • 纵向领域和横向平台缺乏连接; • 长尾市场急需技术和商业模式支持; • 国际合作不深入充分; • 缺乏AIoT相关标准; 方案 基于turn-key思想,软硬结合,端云结合, 开发易用、完善、开放和有特色的AIoT系 统参考设计和平台 结果 • 2年内支持了200+客户; 反思 • AI/5G/IoT不是最重要的因素; • turn-key思想可以应用到AI, IoT和车载 等领域; 12/14/2019 6 AIoT是一项系统工程,需要一个全新的操作系统 12/14/2019 7 操作系统的新生 12/14/2019 8 现实的AIoT操作系统 the Alive In Between the Dead and More … ❖ Linux Zephyr Project ❖ Google Android-Things ❖ Amazon FreeRTOS ❖ Contiki ❖ RIOT ❖ TinyOS ❖ OpenWSN ❖ Wind River VxWorks ❖ LiteOS (Huawei) ❖ Windows IoT Core ❖ Nucleus RTOS ❖ Green Hill's Integrity ❖ Samsung's Tizen ❖ Micrium µC/OS-II ❖ LynxOS RTOS ❖ TI-RTOS ❖ RTEMS Harmony OS ❖ Microsoft ThreadX ❖ Google fuchsia OS ❖ … 12/14/2019 9 理想的AIoT操作系统 • Better Documentation • IoT Solution Enabling • Integrated IoT Portal • Cloud Enabling • AIoT Dev Kit • OS Enabling • Easy Builder • AIoT Education Kit • Maintenance Plan • IHV/ISV Enabling Easy Complete Open Special • Better Linux • On-device AI • Open Standard Compliant • Multi-window • Open Licensing Scheme • Multi-camera • Open IoT Lab • Connectivity • Edge Computing 10 未来没有操作系统, 未来只有操作组块。 12/14/2019 11 智能操作系统架构 Edge Solution Edge Block 人工智能 多媒体 人机交互 开放连接 机器人/AR/VR 系统安全 边缘计算 智能汽车 可穿戴 … Devices Edge Connect Cloud Edge Kit Edge SOM Edge Chip 智能操作系统架构 Core Apps 3rd Party Apps Cloud Services Develop Tools Stores Services API Extended API Open API Visual HW/SW Programming App store development Extended App Framework Visual Training Algorithm store Data analysis IDE Device store Operating UI Module MM Module AI Module Cloud Module Device SDK Consulting Standard App UI SDK Camera Face FOTA Open App Engine Engine UI Module Audio Voice Connect UI Tools Radar Sensor Data Collect Open Module API Interaction CV Algorith AI FW DM Security Module Platform AI Modules APP Modules Device Mgmt Modules Core Lib & Runtime Data mgmt Code mgmt Extended System Framework with Lightweight Linux DM/FOTA Compile/ Training Debug Device mirror Inference HAL Enhanced HAL Data collect Connection Model mgmt Data storage App deploy Kernel Driver, Kernel Modules Cloud Kubernetes BigData Hypervisor Platform Hardware Hardware 智能模块 TurboX AI Kit TurboX 835 TurboX 845 TurboX RB3 机器人套件 TurboX 801 TurboX 821 TurboX 410 TurboX 625 TurboX Edge Kit TurboX 9206 TurboX 210 Thsmartbot 智能车 12/14/2019 14 智能套件 • 嵌入式人工智能开发平台 • 高通首款机器人解决方案 • 低延时、高性能、强续航 • 全新DragonBoard™845c开发板 • 集成云侧和端侧AI,提供丰富的扩展接 • 集成高性能异构计算、4G/LTE连接、 口,快速导入新算法和新应用 Qualcomm®人工智能引擎AI Engine、 • 提供一站式算力+算法+数据+场景服务 高精度传感器、定位与导航算法等 • 面向消费级、企业级和工业级产品 Akx (AI Kit) RBx (Robot Kit) EKx (Edge Kit) TK (Tracker Kit) • 基于高通845平台,支持5G网络 • 多模式 eMTC/NB-IoT/GPRS • 集成CPU/GPU/DSP运算模块 • 预认证多频段 B3/B5/B8/B26 • 3TOPS AI算力 • 定位形式多样: GPS/BEIDOU/BT/WIFI • 模块化设计 • 语音播报/消息/提醒 • 微服务框架 • 多样传感器集成 加速度/温湿度/红外 • 多系统平台 AI套件 AI Devices TurboX AI Kit TurboX Edge Kit AI Algorithms AI Solutions 12/14/2019 AI Community 16 机器人套件 RB3 12/14/2019 17 操作环境 – 操作系统组块 (OS Blocks) Edge Block AI Block ⚫ Device Connection ⚫ Algorithms ⚫ Microservice ⚫ Enhanced AI Engine ⚫ Virtualization ⚫ AI Store ⚫ Cloud Connection ⚫ AI Tools Security Block App Block ⚫ Dual System ⚫ App Devel. API ⚫ Secure Camera/Audio ⚫ Devel. Tools ⚫ Device Authentication ⚫ Compatibility Layer ⚫ Blockchain Key Features UI Block Auto Block 1. TurboX Connect 5. Rule Engine ⚫ Kanzi UI ⚫ ADAS 2. Device Virtualization 6. Built-in Cloud Agent ⚫ HTML5 UI ⚫ Kanzi Connect 3. Sensor Virtualization 7. Multi-platform Support ⚫ UI Studio ⚫ E-cockpit 4. E2E Security 8. AI Module Store ⚫ Linux UI (Qt) ⚫ Hypervisor TurboX Connect ❖ 统一的、分布式的内容和服务共享 ❖ 统一设备连接 ► 通过设备自动发现和设备软总线实现分布式设备共享 ► 通过设备可信认证和用户设备绑定保证信息安全 ► 支持跨网络介质、OS、硬件系统 ► 支持MQTT, BLE, LoRA, BLE, Modbus等多种协议 ► 支持多种云端对接 ❖ 统一内容连接 ► 支持多屏幕多系统间的互动,实现不同UI间内容连接 ► 支持Kanzi、H5、Qt、Android等OS UI系统 ► 支持个性化换肤与个人档案 硬件虚拟化 12/14/2019 20 系统虚拟化 ❖ 主要功能 ❖ 主要模块 ► 双OS网络隔离 ► DomainManager ► 双OS文件系统架构 ● Guest OS的创建/生命周期管理 ► 双OS显示系统 ● 文件系统管理 ► 双OS电话系统 ► DomainEngine 设备资源控制与管理 ► 双OS认证切换 ● ● OS间通信 ► 双OS开关机流程 ● 服务代理(少量必须运行在HostOS ► 双OS功耗管理 的Service,比如TZ/Tele/Audio涉 ► 双OS异系统通知 及的部分服务) 12/14/2019 网络虚拟 文件系统虚拟 21 连接虚拟化 ❖ 加速边缘应用交付 ► 提供镜像管理、接口定义、持续部署等关键能力,简化微服务的 交付模式。 ❖ 屏蔽复杂性 ► 通过屏蔽分布式开发的复杂性,在开发、服务、数据、运行、运 维等多个层面进行了能力聚合。 ❖ 构建API生态 ► 在层级之间,模块之间使用基于标准化的数据接口和指令接口。 ❖ 业务功能微服务化,可扩展性强 ► 整合业界主流技术架构体系,建立分布式架构的技术基线, ❖ 自主掌控 ► 良好的扩展性,支持基于客户的需求实现高度的定制化能力 7/18/19 22 设备虚拟化 (Device Virtualization) ❖ Virtualized Camera, Audio, … ❖ Application sensor-agnostic ❖ via TurboX Connect Bus ❖ Unified Programming I/F AIoT 应用框架 • 基于H5开放标准 • 高效混合渲染引擎 • 跨平台支持 • 支持IoT和移动终端 • 基于容器的AI软件模块 • 应用和服务都以容器的方式打包 • 使用不同的容器同时运行Linux和Android应用 • 使用应用商店进行应用和模块管理 • 丰富的AI模块 • 人脸识别,物体识别,语音识别,手势识别,文字 识别,动物识别,等等. • Low Code 编程环境 2019/12/14 24 Kanzi UI ❖ 汽车UI/UE设计师的Photoshop ❖ 完全的UI设计和功能开发分离 ❖ 模拟器和实机协同仿真验证 ❖ 高效的渲染和多系统优化 ❖ 高效的开发效率 ❖ 高度的复用和可扩展性 ❖ 提升10倍 HMI开发效率 ❖ 缩短50% HMI开发时间 12/14/2019 UI/UE设计师 软件工程师 25 端云协同 ❖ SAAS & DEVICE PAAS ❖ 资源协同 ► 根据算法步骤的分部署计算资源分配 ► 根据实际计算资源的动态资源编排 ❖ 应用协同 ► 算法应用商城,容易化部署 ► 规则引擎,云端编辑,边缘执行 ❖ 数据协同 ► 数据可视化 ► 数据安全 ❖ 管理协同 ► DM - 设备管理系统 ► FOTA-远程固件升级系统 12/14/2019 26 Boot-time Optimization Field Key Tech Explanation Linux kernel Load compiled-in modules in multi-thread. ❖ Technical Solution Reduce unnecessary commands in init.rc, disable irrelevant native services. init total solution for optimizing the whole Android boot sequence. Tune the order of native services in init.rc. Parallelize some commands Optimizations will be done in Bootloader, Linux kernel, Init Disable preloading from Zygote. Defer a class preloading. process, Zygote, SystemServer, PMS, and so on. Some Zygote Reduce reduplicate loaded classes. technologies are common ideas customized by ThunderSoft, Make multi-thread preloading. Reduce unnecessary resources. while others are ThunderSoft proprietary. The key tech points are Disable unnecessary services. listed in the right table. Decouple services from critical path. SystemServer Postpone non-essential services. Suspend to RAM (experimental) Optimize services in the critical path, e.g. PMS, AMS. Package Reduce unnecessary packages. Manager Delay unimportant packages scanning. Service Android M @ Qualcomm S820/S820A: • 2s to show rear camera image • 12s to boot completed Android O @ Qualcomm S820/S820A ( MP): • 2s to show rear camera image • <15s to boot completed 案例1 – 智能车载系统平台 车厂 Tier-1 芯片 合作 伙伴 Hardware – Qualcomm, Renesas, NXP, MTK, TI, ST, … 12/14/2019 28 案例2 – AliOS-Things on QC platform ❖ A7支持增强 – MMU支持 ❖ TLS和TZ的互通 ❖ 兼容AOS API和QAPI ❖ 用户空间和内核空间分离 ❖ 通过文件系统动态加载APP ❖ Linkkit端云互联 ❖ 4G/NB多模支持 7/18/19 29 案例3 – AIoT教学实验平台 AI Edge AI Kit Edge Kit 通用服务器4U Robot Atlas200 RB3 GPU工作站 ...... 千兆以太网交换机 终端 服务器 云端 AIoT教学管理平台 实验室 12/14/2019 课程 师资 项目 30 案例4 – Edge Kit ❖ 多设备层/应用层协议相互转化 ❖ 本地功能微服务化,功能集成方便化 ❖ 设备注册/配置简单化 7/18/19 31 1. OS是一个生态问题,不是一个技术问题。 2. 移动平台的OS之战已经结束。当年红旗桌面无法打败微软,不是技术的问题,甚至不 是股权的问题,是时机的问题。 反思 3. 新的OS只有从更高维度去打。正如PC OS (DOS, Windows, Linux) 打小型机 (Unix), 移动OS (Android, iOS) 打PC,打败移动的不是另一个移动OS(包括meego, tizen, Retrospection KaiOS等),而是更高维度的 OS,也就是智能物联网 OS。 4. 智能物联网操作系统的时间窗口正在打开,需要依靠新的技术架构和组织架构才能抓 住。 5. OS是一个生态问题,也是一个组织问题。垂直整合的组织方式和狼性的管理风格难以 让一个OS成功,当然之前政府主导的红旗模式更无法成功。 6. 智能物联网时代,传统意义的操作系统已经过时,未来只有操作环境,也就是边界清 晰的操作系统模块(微服务)。 7. 不会再有一个厂商主导的OS,各个厂商能够在某个操作环境上找到自己的位置。开放 标准(不是开放代码)是必由之路, 8. 开放标准需要开放的心态,更需要开放的商业模式。 9. OS是一个生态问题,也是一个组织问题,更是一个人才问题。 10.只有政府推动,非盈利组织主导(包括大学院校),有技术实力、经济实力和国际视 野的厂商领军,广泛参与(包括国际厂商),基于开放标准(比如 H5),面向全新领 域(比如边缘计算),才有可能抓住千载难逢的智能物联网操作系统的机会。 12/14/2019 32 Together, Enrich an Intelligent World! 共同创造丰富多彩的智能世界! 12/14/2019 33 谢谢! http://www.thundersoft.com [email protected] +86-10-62662686 12/14/2019 34.
Recommended publications
  • AMNESIA 33: How TCP/IP Stacks Breed Critical Vulnerabilities in Iot
    AMNESIA:33 | RESEARCH REPORT How TCP/IP Stacks Breed Critical Vulnerabilities in IoT, OT and IT Devices Published by Forescout Research Labs Written by Daniel dos Santos, Stanislav Dashevskyi, Jos Wetzels and Amine Amri RESEARCH REPORT | AMNESIA:33 Contents 1. Executive summary 4 2. About Project Memoria 5 3. AMNESIA:33 – a security analysis of open source TCP/IP stacks 7 3.1. Why focus on open source TCP/IP stacks? 7 3.2. Which open source stacks, exactly? 7 3.3. 33 new findings 9 4. A comparison with similar studies 14 4.1. Which components are typically flawed? 16 4.2. What are the most common vulnerability types? 17 4.3. Common anti-patterns 22 4.4. What about exploitability? 29 4.5. What is the actual danger? 32 5. Estimating the reach of AMNESIA:33 34 5.1. Where you can see AMNESIA:33 – the modern supply chain 34 5.2. The challenge – identifying and patching affected devices 36 5.3. Facing the challenge – estimating numbers 37 5.3.1. How many vendors 39 5.3.2. What device types 39 5.3.3. How many device units 40 6. An attack scenario 41 6.1. Other possible attack scenarios 44 7. Effective IoT risk mitigation 45 8. Conclusion 46 FORESCOUT RESEARCH LABS RESEARCH REPORT | AMNESIA:33 A note on vulnerability disclosure We would like to thank the CERT Coordination Center, the ICS-CERT, the German Federal Office for Information Security (BSI) and the JPCERT Coordination Center for their help in coordinating the disclosure of the AMNESIA:33 vulnerabilities.
    [Show full text]
  • Performance Study of Real-Time Operating Systems for Internet Of
    IET Software Research Article ISSN 1751-8806 Performance study of real-time operating Received on 11th April 2017 Revised 13th December 2017 systems for internet of things devices Accepted on 13th January 2018 E-First on 16th February 2018 doi: 10.1049/iet-sen.2017.0048 www.ietdl.org Rafael Raymundo Belleza1 , Edison Pignaton de Freitas1 1Institute of Informatics, Federal University of Rio Grande do Sul, Av. Bento Gonçalves, 9500, CP 15064, Porto Alegre CEP: 91501-970, Brazil E-mail: [email protected] Abstract: The development of constrained devices for the internet of things (IoT) presents lots of challenges to software developers who build applications on top of these devices. Many applications in this domain have severe non-functional requirements related to timing properties, which are important concerns that have to be handled. By using real-time operating systems (RTOSs), developers have greater productivity, as they provide native support for real-time properties handling. Some of the key points in the software development for IoT in these constrained devices, like task synchronisation and network communications, are already solved by this provided real-time support. However, different RTOSs offer different degrees of support to the different demanded real-time properties. Observing this aspect, this study presents a set of benchmark tests on the selected open source and proprietary RTOSs focused on the IoT. The benchmark results show that there is no clear winner, as each RTOS performs well at least on some criteria, but general conclusions can be drawn on the suitability of each of them according to their performance evaluation in the obtained results.
    [Show full text]
  • A Tutorial on Performance Evaluation and Validation Methodology for Low-Power and Lossy Networks
    A Tutorial on Performance Evaluation and Validation Methodology for Low-Power and Lossy Networks Kosmas Kritsis, Georgios Papadopoulos, Antoine Gallais, Periklis Chatzimisios, Fabrice Theoleyre To cite this version: Kosmas Kritsis, Georgios Papadopoulos, Antoine Gallais, Periklis Chatzimisios, Fabrice Theoleyre. A Tutorial on Performance Evaluation and Validation Methodology for Low-Power and Lossy Networks. Communications Surveys and Tutorials, IEEE Communications Society, Institute of Electrical and Electronics Engineers, 2018, 20 (3), pp.1799 - 1825. 10.1109/COMST.2018.2820810. hal-01886690 HAL Id: hal-01886690 https://hal.archives-ouvertes.fr/hal-01886690 Submitted on 23 Apr 2020 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. 1 A Tutorial on Performance Evaluation and Validation Methodology for Low-Power and Lossy Networks Kosmas Kritsis, Georgios Z. Papadopoulos, Member, IEEE, Antoine Gallais, Periklis Chatzimisios, Senior Member, IEEE, and Fabrice Theoleyre,´ Senior Member, IEEE, Abstract—Envisioned communication densities in Internet of may be used for counting the number of vehicles, such to Things (IoT) applications are increasing continuously. Because control optimally the street traffic lights and to reduce the these wireless devices are often battery powered, we need waiting time [3]. specific energy efficient (low-power) solutions.
    [Show full text]
  • A Comparative Study Between Operating Systems (Os) for the Internet of Things (Iot)
    VOLUME 5 NO 4, 2017 A Comparative Study Between Operating Systems (Os) for the Internet of Things (IoT) Aberbach Hicham, Adil Jeghal, Abdelouahed Sabrim, Hamid Tairi LIIAN, Department of Mathematic & Computer Sciences, Sciences School, Sidi Mohammed Ben Abdellah University, [email protected], [email protected], [email protected], [email protected] ABSTRACT Abstract : We describe The Internet of Things (IoT) as a network of physical objects or "things" embedded with electronics, software, sensors, and network connectivity, which enables these objects to collect and exchange data in real time with the outside world. It therefore assumes an operating system (OS) which is considered as an unavoidable point for good communication between all devices “objects”. For this purpose, this paper presents a comparative study between the popular known operating systems for internet of things . In a first step we will define in detail the advantages and disadvantages of each one , then another part of Interpretation is developed, in order to analyze the specific requirements that an OS should satisfy to be used and determine the most appropriate .This work will solve the problem of choice of operating system suitable for the Internet of things in order to incorporate it within our research team. Keywords: Internet of things , network, physical object ,sensors,operating system. 1 Introduction The Internet of Things (IoT) is the vision of interconnecting objects, users and entities “objects”. Much, if not most, of the billions of intelligent devices on the Internet will be embedded systems equipped with an Operating Systems (OS) which is a 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.), So it is the most important program that runs on a computer[1].
    [Show full text]
  • Contiki – a Lightweight and Flexible Operating System for Tiny Networked Sensors
    Contiki – a Lightweight and Flexible Operating System for Tiny Networked Sensors Adam Dunkels, Björn Grönvall, Thiemo Voigt Swedish Institute of Computer Science IEEE EmNetS-I, 16 November 2004 Sensor OS trade-offs: static vs dynamic event-driven vs multi-threaded What we have done ● Contiki – an OS for sensor network nodes ● Ported Contiki to a number of platforms ● MSP430, AVR, HC12, Z80, 6502, x86, ... ● Simulation environment for BSD/Linux/Windows ● Built a few applications for experimental network deployments Contributions ● Dynamic loading of programs ● Selective reprogramming ● Static vs dynamic linking ● Concurrency management mechanisms ● Events vs threads ● Trade-offs: preemption, size Contiki design target ● “Mote”-class device ● 10-100 kilobytes of code ROM ● 1-10 kilobytes of RAM ● Communication (radio) ● ESB from FU Berlin ● MSP430, 2k RAM, 60k ROM Contiki size (bytes) Module Code MSP430 Code AVR RAM Kernel 810 1044 10 + e + p Program loader 658 - 8 Multi-threading library 582 678 8 + s Timer library 60 90 0 Memory manager 170 226 0 Event log replicator 1656 1934 200 µIP TCP/IP stack 4146 5218 18 + b Run-time reprogramming and loadable programs Reprogramming sensor nodes ● Software development for sensor nets ● Need to reprogram many nodes quite often ● Utilize radio for reprogramming ● Radio inherently broadcast ● Reprogram many nodes at once ● Much faster than firmware download via cable or programming adapter ● Reprogram deployed networks Traditional systems: entire system a monolithic binary ● Most systems statically
    [Show full text]
  • Embedded Operating Systems
    7 Embedded Operating Systems Claudio Scordino1, Errico Guidieri1, Bruno Morelli1, Andrea Marongiu2,3, Giuseppe Tagliavini3 and Paolo Gai1 1Evidence SRL, Italy 2Swiss Federal Institute of Technology in Zurich (ETHZ), Switzerland 3University of Bologna, Italy In this chapter, we will provide a description of existing open-source operating systems (OSs) which have been analyzed with the objective of providing a porting for the reference architecture described in Chapter 2. Among the various possibilities, the ERIKA Enterprise RTOS (Real-Time Operating System) and Linux with preemption patches have been selected. A description of the porting effort on the reference architecture has also been provided. 7.1 Introduction In the past, OSs for high-performance computing (HPC) were based on custom-tailored solutions to fully exploit all performance opportunities of supercomputers. Nowadays, instead, HPC systems are being moved away from in-house OSs to more generic OS solutions like Linux. Such a trend can be observed in the TOP500 list [1] that includes the 500 most powerful supercomputers in the world, in which Linux dominates the competition. In fact, in around 20 years, Linux has been capable of conquering all the TOP500 list from scratch (for the first time in November 2017). Each manufacturer, however, still implements specific changes to the Linux OS to better exploit specific computer hardware features. This is especially true in the case of computing nodes in which lightweight kernels are used to speed up the computation. 173 174 Embedded Operating Systems Figure 7.1 Number of Linux-based supercomputers in the TOP500 list. Linux is a full-featured OS, originally designed to be used in server or desktop environments.
    [Show full text]
  • RIOT, the Friendly Operating System for The
    The friendly operating system for the IoT by Thomas Eichinger (on behalf of the RIOT community) OpenIoT Summit NA 2017 Why? How? What is RIOT? Why? How? What is RIOT? Why a software platform for the IoT? ● Linux, Arduino, … bare metal? ● But as IoT software evolves … ○ More complex pieces e.g. an IP network stack ○ Evolution of application logic ● … non-portable IoT software slows innovation ○ 90% of IoT software should be hardware-independent → this is achievable with a good software platform (but not if you develop bare metal) Why a software platform for the IoT? ✓ faster innovation by spreading IoT software dev. costs ✓ long-term IoT software robustness & security ✓ trust, transparency & protection of IoT users’ privacy ✓ less garbage with less IoT device lock-down Why? How? What is RIOT? How to achieve our goals? Experience (e.g. with Linux) points towards ● Open source Indirect business models ● Free core Geopolitical neutrality ● Driven by a grassroot community Main Challenges of an OS in IoT Low-end IoT device resource constraints ● Kernel performance ● System-level interoperability ● Network-level interoperability ● Trust SW platform on low-end IoT devices ● The good news: ○ No need for advanced GUI (a simple shell is sufficient) ○ No need for high throughput performance (kbit/s) ○ No need to support dozens of concurrent applications ● The bad news: ○ kBytes of memory! ○ Typically no MMU! ○ Extreme energy efficency must be built in! SW platform on low-end IoT devices ● Contiki ● mbedOS (ARM) ● ● Zephyr (Intel) ● TinyOS ● LiteOS (Huawei) ● myNewt ● … ● FreeRTOS ● and closed source alternatives Reference: O. Hahm et al. "Operating Systems for Low-End Devices in the Internet of Things: A survey," IEEE Internet of Things Journal, 2016.
    [Show full text]
  • Getting Started with the Nucleus PLUS RTOS and EDGE Tools on The
    Application Note: Embedded Processing Getting Started with the Nucleus PLUS R RTOS and EDGE Tools on the MicroBlaze XAPP1016 (v1.0) September 13, 2007 Processor Author: Mounir Maaref Abstract This application note provides an introduction to Nucleus RTOS on the MicroBlaze™ processor using Xilinx Platform Studio (XPS) tools and Mentor Graphics EDGE tools. This document is a tutorial for building MicroBlaze hardware to run the Nucleus Real Time Operating System, for configuring the BSP (Board Support Package) within XPS (Xilinx Platform Studio), and for using EDGE features, such as the application debug. The target board for this application note is the Xilinx Spartan™-3E Starter board. Included Included with this application note is one reference system: Systems • www.xilinx.com/bvdocs/appnotes/xapp1016.zip Introduction This application note describes the procedure required to get started with Nucleus PLUS RTOs. It provides the necessary tools and setup required to build and debug a Nucleus PLUS based software application targeting the Xilinx MicroBlaze Embedded Processor. Hardware and The software requirements are: Software • Mentor Graphics EDGE Tools Evaluation or fully Licensed version Requirements • MicroBlaze Nucleus PLUS BSP • Xilinx Platform Studio 9.1i with all service packs or later • Xilinx ISE™ 9.1i with all service packs or later • HyperTerminal or another terminal emulator The Hardware requirements are: • Xilinx Spartan™-3E Starter board • RS232 Serial Cable • Xilinx Parallel Cable 4 or USB Programming Cable The design can be ported to any MicroBlaze-capable board. System Nucleus PLUS is a product of Accelerated Technology, a Mentor Graphics Division. Nucleus Specifics PLUS is a real-time multitasking kernel.
    [Show full text]
  • Computer Architectures an Overview
    Computer Architectures An Overview PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Sat, 25 Feb 2012 22:35:32 UTC Contents Articles Microarchitecture 1 x86 7 PowerPC 23 IBM POWER 33 MIPS architecture 39 SPARC 57 ARM architecture 65 DEC Alpha 80 AlphaStation 92 AlphaServer 95 Very long instruction word 103 Instruction-level parallelism 107 Explicitly parallel instruction computing 108 References Article Sources and Contributors 111 Image Sources, Licenses and Contributors 113 Article Licenses License 114 Microarchitecture 1 Microarchitecture In computer engineering, microarchitecture (sometimes abbreviated to µarch or uarch), also called computer organization, is the way a given instruction set architecture (ISA) is implemented on a processor. A given ISA may be implemented with different microarchitectures.[1] Implementations might vary due to different goals of a given design or due to shifts in technology.[2] Computer architecture is the combination of microarchitecture and instruction set design. Relation to instruction set architecture The ISA is roughly the same as the programming model of a processor as seen by an assembly language programmer or compiler writer. The ISA includes the execution model, processor registers, address and data formats among other things. The Intel Core microarchitecture microarchitecture includes the constituent parts of the processor and how these interconnect and interoperate to implement the ISA. The microarchitecture of a machine is usually represented as (more or less detailed) diagrams that describe the interconnections of the various microarchitectural elements of the machine, which may be everything from single gates and registers, to complete arithmetic logic units (ALU)s and even larger elements.
    [Show full text]
  • Internet of Things (Iot) Operating Systems Management: Opportunities, Challenges, and Solution
    sensors Editorial Internet of Things (IoT) Operating Systems Management: Opportunities, Challenges, and Solution Yousaf Bin Zikria 1, Sung Won Kim 1,*, Oliver Hahm 2, Muhammad Khalil Afzal 3 and Mohammed Y. Aalsalem 4 1 Department of Information and Communication Engineering, Yeungnam University, 280 Daehak-Ro, Gyeongsan, Gyeongbuk 38541, Korea; [email protected] 2 Zühlke Group, Eschborn, 65760 Hessen, Germany; [email protected] 3 Department of Computer Science, COMSATS University Islamabad, Wah Campus, Wah Cantt 47010, Pakistan; [email protected] 4 Department of Computer Networks, Jazan University, Jazan 45142, Saudi Arabia; [email protected] * Correspondence: [email protected]; Tel.: +82-53-810-4742 Received: 9 April 2019; Accepted: 11 April 2019; Published: 15 April 2019 Abstract: Internet of Things (IoT) is rapidly growing and contributing drastically to improve the quality of life. Immense technological innovations and growth is a key factor in IoT advancements. Readily available low cost IoT hardware is essential for continuous adaptation of IoT. Advancements in IoT Operating System (OS) to support these newly developed IoT hardware along with the recent standards and techniques for all the communication layers are the way forward. The variety of IoT OS availability demands to support interoperability that requires to follow standard set of rules for development and protocol functionalities to support heterogeneous deployment scenarios. IoT requires to be intelligent to self-adapt according to the network conditions. In this paper, we present brief overview of different IoT OSs, supported hardware, and future research directions. Therein, we provide overview of the accepted papers in our Special Issue on IoT OS management: opportunities, challenges, and solution.
    [Show full text]
  • A Random Priority Based Scheduling Strategy for Wireless Sensor Networks Using Contiki
    A Random Priority based Scheduling Strategy for Wireless Sensor Networks using Contiki Sajid M. Sheikh, Riaan Wolhuter and Herman A. Engelbrecht Department of Electrical and Electronic Engineering, University of Stellenbosch, Private Bag X1, Matieland, 7602, South Africa Keywords: Contiki, MAC, IEEE802.15.4, Priority Scheduling, Sensor Networks. Abstract: In recent years, wireless sensor networks (WSNs) have experienced a number of implementations in various implementations which include smart home networks, smart grids, smart medical monitoring, telemetry networks and many more. The Contiki operating system for wireless sensor networks which utilises carrier sense multiple access with collision avoidance (CSMA/CA) does not provide differentiated services to data of different priorities and treats all data with equal priority. Many sensor nodes in a network are responsible not only for sending their sensed data, but also forwarding data from other nodes to the destination. In this paper we propose a novel priority data differentiation medium access control (MAC) strategy to provide differentiated services called Random Weighted Scheduling (RWS). The strategy was implemented and tested on the FIT IoT-lab testbed. The strategy shows a reduction in packet loss compared to the default CSMA/CA scheduling strategy in IEEE802.15.4 WSNs when carrying data of different priority levels. 1 INTRODUCTION have a higher priority than normal data in a network (Koubaa et al., 2006). CSMA/CA treats all data with Wireless Sensor Networking (WSN) is one of the equal priority in a first in first out (FIFO) manner. main driving forces of the Internet of Things (IoT). In this paper we propose a novel scheduling WSN have been deployed in a number of different strategy that has been developed under the Contiki environments which include smart home networks, operating system and implemented and tested on the smart health, smart transport, smart educations and FIT IoT-lab testbed.
    [Show full text]
  • Operating Systems ’2016
    Operating Systems '2016 J¨urgenSch¨onw¨alder November 28, 2016 http://cnds.eecs.jacobs-university.de/courses/os-2016/ J¨urgenSch¨onw¨alder Operating Systems '2016 Part: Preface 1 Computer Networks and Distributed Systems 2 Course Content and Objectives 3 Grading Scheme and Procedures 4 Reading Material J¨urgenSch¨onw¨alder Operating Systems '2016 Computer Networks & Distributed Systems General Computer Science 1st Semester Programming in C I (Jacobs Track | Skills) 1st Semester Algorithms and Data Structures 2nd Semester Programming in C II (Jacobs Track | Skills) 2nd Semester Computer Architecture and Programming Languages 3rd Semester Operating Systems 3rd Semester Computer Networks 4th Semester J¨urgenSch¨onw¨alder Operating Systems '2016 Course Content Introduction and Terminology Processes and Threads (Synchronization, Deadlocks) Memory Management (Segmentation, Paging) Virtual Memory Inter-Process Communication (Signals, Pipes, Sockets) Block and Character Devices File Systems Virtualization and Virtual Machines Embedded Operating Systems J¨urgenSch¨onw¨alder Operating Systems '2016 Course Objectives Understand how an operating systems manages to turn a collection of independent hardware components into a useful abstraction Understand concurrency issues and be able to solve synchronization problems Knowledge about basic resource management algorithms Understand how memory management systems work and how they may impact the performance of systems Basic knowledge of inter-process communication mechanisms (signals, pipes, sockets)
    [Show full text]