introduction to embedded computing systems part iii
play

Introduction to Embedded Computing Systems part III Davide - PowerPoint PPT Presentation

Introduction to Embedded Computing Systems part III Davide Bertozzi davide.bertozzi@unife.it Embedded Software Architecture Applications Application Layer File system Memory Mgt Task Mgt System Service Layer Embedded Operating System


  1. Introduction to Embedded Computing Systems – part III Davide Bertozzi davide.bertozzi@unife.it

  2. Embedded Software Architecture Applications Application Layer File system Memory Mgt Task Mgt System Service Layer Embedded Operating System Embedded OS Layer Bootloader Board Support Device Drivers Hardware Abstraction Layer Package Hardware Platform 2

  3. Hardware Abstraction Layer  The hardware abstraction layer (HAL), as a part of the OS, is a software abstraction layer between the embedded system hardware and OS.  In general, the HAL includes the bootloader, board support package (BSP), device drivers, and other components.  Similar to the BIOS in PCs, the bootloader is a program that starts whenever a device is powered on to activate the right operating system. Many manufacturers lock it to prevent unauthorized software installation.  The BSP achieves the abstraction of the hardware operation, empowering the OS to be independent from the hardware and enabling the OS to run on different hardware architectures.  Device drivers enable the OS to have a unified software interface to operate different hardware components and peripherals. 3

  4. Embedded Operating System An embedded OS is the system software, mainly used to:  Ensure the embedded system operates in an efficient and reliable manner by managing  hardware and software resources. Provide an abstraction layer to simplify the process of developing higher layers of software.  Abstract many hardware functions and provide them to applications in the form of services.  Scheduling, files synchronization, and networking are the most common OS services  Act as a disk partitioning tool (if any)  These goals are achieved via a kernel that provides at least:  Process management  Provides the illusion of simultaneous multitasking on a processor core  Provides task implementation, scheduling and synchronization, and inter-task communication  Memory management  Dynamic memory allocation and deallocation, with deterministic allocation time  Minimize memory fragmentation  Virtual memory management (if any)  Memory protection  System I/O management  File management mechanisms on various memory devices (Flash, RAM or disk)  Device drivers for uniform I/O access  Communication management between I/O and processes  4

  5. Developers and the Embedded OS The software developers are concerned on the role of the embedded OS  over effectiveness and performance of their code execution. The key differentiators between embedded operating systems in this regard are: Memory Management Scheme , i.e., virtual memory swapping scheme and  page faults. Scheduling Policy of processes.  Performance , i.e.,  Response time , to make the context switch to a ready task and waiting time of task  in ready queue Turnaround time , how long a process takes to complete running  Scheduling overhead , the time and data needed to determine which tasks will run  next Fairness , what are the determining factors as to which processes get to run  More fundamental questions include:  Can this OS support my hardware ? Are there any performance limitations?  How about the memory footprint? Has the OS been STABLY ported onto the hardware platform?  Does it support real-time execution ?  Is it modular and easily customizable ?  5

  6. Embedded Operating System Common embedded OSs include:  Embedded Linux, eCos   VxWorks, Integrity   AMX Nucleus   RTXC PikeOS   OS-9 Symbian OS   OSE Palm OS   RT-Linux, uCLinux   Android, TinyOS   OSEKturbo Blackberry OS   ThreadX Windows CE,   LynxOS Windows Embedded   ....  VxWorks, an embedded real-time operating system (RTOS) from Wind River,  supports PowerPC, 68K, CPU32, SPARC, I960, x86, ARM, and MIPS. With outstanding real-time and reliable features, it is widely used in communications, military, aerospace, aviation, and other areas that require highly sophisticated, real- time technologies. In particular, VxWorks is used in the Mars probes by NASA. It is currently the most widely used OS in industry  6

  7. The Application Layer The application, located at the top level of the software hierarchy,  implements the system functionality and business logic. From a system perspective, each application is a separate OS process.  Typically, applications run in the less-privileged processor mode and use the API provided by the OS to interact with the OS Embedded systems do not have enough resources to run development and  debugging tools. Therefore, embedded system software usually uses cross- compile development, which generates execution code on another hardware platform. The cross-compile development environment is built on the host, whereas  the embedded system is called the target machine . The cross-compile, assemble, and link tools on the host create the executable binary code, which is not executable on the host: only on the target machine. The executable file is downloaded to the target machine. The development environment on the host doesn’t completely reflect the environment on the target machine, so debugging and fault diagnosis of the target machine can be time consuming. 7

  8. Embedded Everywhere: the IoT  Embedded processors are functional to the final product, they are not the final product themselves!  This implies a requirement: lower price!  Without today’s embedded processors, features such as «anti- lock breaking, traction control, all-wheel drive, «smart» airbags and situation-sensitive automatic transmission would be impossible or much more expensive in a car.  Next trend: embedded processors to make «generic objects» SMART, AND to connect them to the internet!  A world of smart devices, in which virtually any product contains its own processor, connected through the internet.  INTERNET-OF-THINGS (IoT): an object X is replaced with the intelligent networked X. A variety of benefits and applications come from this. E.g., previously «mute» surfaces and objects start delivering us data.  8

  9. Computation Offload to the Cloud Lots of data to process (the «data deluge») and/or complex processing  requirements for them (e.g., «big data analytics» based on «machine learning») are leading to offload computation to the Cloud. Edge Smart sensors Non-Cloud devices capable of some form of data processing, close to sensors,  actuators or IoT service users, are called «Edge Computing Devices». But the Cloud is expensive, comes with latency penalties, and is not  good for data privacy . Therefore intermediate forms of high-performance computing are being introduced. However, it is impossible to completely get rid of the Cloud! 9

  10. A New Paradigm: Distributed Processing Advances in IoT technologies are pushing computation and storage requirements to the edge Source: ESG Research 2016 Current IoT service providers are (right now!) statically splitting the workload of their application between smart sensors, tablets/smartphones/gateways, Fog computing nodes, and the Cloud 10

  11. Tighter Interplay between Layers Can we improve the interaction between these computing segments thus providing new IoT services? For instance, why not migrating workload dynamically from one segment to another? Tighter interplay across devices? Source: ESG Research 2016 The concept of Cloud-Things continuum is emerging as a (quasi-)continuous segment that connects the Cloud with IoT devices, along which service instances processing IoT data can be instantiated and dynamically relocated 11 (dynamic topology deployment of IoT applications)

  12. New Challenges for a New IoT Ecosystem Other challenges to be tackled with cost-effective solutions: Multiple IoT services will share the same Fog Node Low-overhead and efficient sharing mechanisms! Services must be isolated to ensure security Integrated HW/SW support for security Most IoT Fog Computing is a new market for high- applications are context-sensitive performance computing machines Ways to support The new environment for these machines means new and/or exploit design challenges. fluctuating workloads over time The first one: resources outside the Cloud are scarse!!

  13. The Outcome: Emerging Information Systems Smart Energy Networks Smart Smart eGovernments & Industry eAdministrations Smart Smart cities Home & Transport Smart Health Networks Networks 13

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend