Embedded Operating Systems

Slides:



Advertisements
Similar presentations
Categories of I/O Devices
Advertisements

NesC Prepared for the Multimedia Networks Group University of Virginia.
Sensor Network Platforms and Tools
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Computer Systems/Operating Systems - Class 8
Review: Chapters 1 – Chapter 1: OS is a layer between user and hardware to make life easier for user and use hardware efficiently Control program.
Chapter 13 Embedded Systems
CS533 Concepts of Operating Systems Class 5 Integrated Task and Stack Management.
Chapter 13 Embedded Systems Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
ECE 526 – Network Processing Systems Design Software-based Protocol Processing Chapter 7: D. E. Comer.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Embedded Real-time Systems The Linux kernel. The Operating System Kernel Resident in memory, privileged mode System calls offer general purpose services.
Chapter 13 Embedded Systems
Figure 1.1 Interaction between applications and the operating system.
1 I/O Management in Representative Operating Systems.
Comparative Operating Systems Fall 2001 An Examination of Embedded Linux as a Real Time Operating System Mark Mahoney.
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Chapter 13 Embedded Operating Systems Eighth Edition By William Stallings Operating Systems: Internals and Design Principles.
Performance Evaluation of Real-Time Operating Systems
RTOS Design & Implementation Swetanka Kumar Mishra & Kirti Chawla.
TinyOS 2.1 Jun Yi Partially based on the tutorial at IPSN 2009 By Stephen Dawson-Haggerty, Omprakash Gnawali, David Gay, Philip Levis, Răzvan Musăloiu-E.,
By: R Jayampathi Sampath
Windows 2000 Course Summary Computing Department, Lancaster University, UK.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Overview A wireless sensor network (WSN) is a wireless network consisting of spatially distributed autonomous devices using sensors to cooperatively monitor.
Intel Research & Development ETA: Experience with an IA processor as a Packet Processing Engine HP Labs Computer Systems Colloquium August 2003 Greg Regnier.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
1 VxWorks 5.4 Group A3: Wafa’ Jaffal Kathryn Bean.
System Architecture Directions for Networked Sensors.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
DSP/BIOS Real Time Operating system using DSP /ARM processor.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Software Architecture of Sensors. Hardware - Sensor Nodes Sensing: sensor --a transducer that converts a physical, chemical, or biological parameter into.
Introduction to Operating Systems Concepts
Chapter 13: I/O Systems.
REAL-TIME OPERATING SYSTEMS
Kernel Design & Implementation
Module 12: I/O Systems I/O hardware Application I/O Interface
Chapter 13: I/O Systems Modified by Dr. Neerja Mhaskar for CS 3SH3.
Processes and threads.
Peek into TinyOS Programs
Process Management Process Concept Why only the global variables?
Operating System for Sensor Network
CS 6560: Operating Systems Design
Topics Covered What is Real Time Operating System (RTOS)
Other Important Synchronization Primitives
Chapter 3: Windows7 Part 2.
CSCI 315 Operating Systems Design
Threads and Data Sharing
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
I/O Systems I/O Hardware Application I/O Interface
Chapter 3: Windows7 Part 2.
Operating System Concepts
13: I/O Systems I/O hardwared Application I/O Interface
CS703 - Advanced Operating Systems
Direct Memory Access Disk and Network transfers: awkward timing:
Mid Term review CSC345.
Lecture Topics: 11/1 General Operating System Concepts Processes
B.Ramamurthy Chapter 2 : Appendix
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Outline Operating System Organization Operating System Examples
Chapter 2 Operating System Overview
Operating Systems Structure
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Chapter 13: I/O Systems.
Modeling Event-Based Systems in Ptolemy II EE249 Project Status Report
Module 12: I/O Systems I/O hardwared Application I/O Interface
Presentation transcript:

Embedded Operating Systems

Hardware + software = embedded system far outnumber general-purpose computer systems

Constraints Relaxed/Strict Short/Long Lifetime Environmental Conditions Application Characteristics Computation Type Think safety: airplane versus watch Phone power conservation Hot, cold, humid i/o heavy or compute heavy? Discrete vs. continuous

Unique Characteristics Real-time operation Reactive operation Configurability I/O Device Flexibility Streamlined protection mechanisms Direct use of interrupts computation depends on time delivered infrequent external events can be prioritized config... os doesn't have to support all i/o devices special tasks instead of integrating drivers into os little variation/updates to applications; very predictable behaviors

eCos Open source C/C++ also stands for environmental council of the states (unrelated)

eCos breakdown http://ecos.sourceware.org/about.html

eCos breakdown (cont) thread syncing scheduling kernel -> low latency small memory footprint i/o-> can include whichever drivers you need; can write your own stdclib included thread sync-> semaphores, spinlocks, event flags, condition vars, mailboxes bit-mapped scheduler one task per priority (32 of them) multilevel multiple tasks per bit-mapped priority

TinyOS 400 bytes No kernel From Stanford for Wireless Sensor Networks

TinyOS Goals High concurrency Limited resources Adaptive Wide application and platform support Robust simultaneous flow of data, little buffering to limit latency data -> capture, process, stream low power usage, low memory availability "portable across hardware generations" achieved with modularity aspiring for a general-purpose embedded os sensor networks run for months or years unattended

TinyOS Structure Comprises components and modules configuration BlinkAppC { } implementation { components MainC, BlinkC, LedsC; components new TimerMilliC() as Timer0; components new TimerMilliC() as Timer1; components new TimerMilliC() as Timer2; BlinkC -> MainC.Boot; BlinkC.Timer0 -> Timer0; BlinkC.Timer1 -> Timer1; BlinkC.Timer2 -> Timer2; BlinkC.Leds -> LedsC; } Comprises components and modules All have the same structure, written in nesC Atomic tasks Hierarchical layering of components Lower levels accept commands from upper layer Events: indirect/direct hardware interrupts move up the component hierarchy can have user defined components module: implements commands components: hardware or software, handle events task: similar to a thread; atomic -> run to completion caller sends command to a module module runs the request module sends event back to the caller when finished command: non-blocking request

TinyOS Scheduling Designed for uniprocessor systems All tasks run to completion, therefore only need one queue and one stack: no preemption, no time slicing The scheduler module must be included

TinyOS Resource Conventions Dedicated: exclusive access Virtualized: copied instance of dedicated resrc (e.g. clock) Shared: resource sits on an arbiter which provides dedicated resource to a single client at a time (locks the resrc)