Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 13 Embedded Systems Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Embedded System • Hardware and software designed to perform a dedicated function • Tightly coupled to their environmnet Examples Examples Embedded System Organization Characteristics of Embedded Operating System • Real-time operation • Reactive operation – Respond to external events • Configurability – Large variation in systems so need flexible configuration Characteristics of Embedded Operating System • I/O device flexibility • Streamlined protection mechanisms • Direct use of interrupts Adapting an Existing OS • Add real-time capability • Streamlining operation • Add necessary functionality eCos • Embedded Configurable Operating Systems • Open source • Royalty-free • Real-time OS • Most widely used embedded OS eCos Configuration Tool eCos Configuration Tool Loading an eCos Configuration eCos Layered Structure Hardware Abstraction Layer • Presents consistent API to upper layers • Different for each hardware platform HAL HAL Modules • Architecture – Processor family type • Variant – Support features of specific processor • Platform – Support of tightly coupled peripherals eCos Kernel • • • • Low interrupt latency Low task switching latency Small memory footprint Deterministic behavior Not in eCos Kernel • Memory allocation • Device driver eCos I/O System • Framework for supporting device drivers eCos Scheduler • Bitmap scheduler – Efficient for small number of threads active – Each thread has different priority Bitmap Scheduler eCos Scheduler • Multilevel queue scheduler – Appropriate when number of threads is dynamic – Multiple threads at each priority – Time slicing Multilevel Queue Scheduler eCos Thread Synchronization • Mutexes • Semaphores • Condition variables eCos Thread Synchronization • Event flags • Mailboxes • Spinlocks – Useful in SMP (symmetric multiprocessing) Mutexes Mutexes and Condition Variables Mutexes and Condition Variables TinyOS • • • • 400 bytes of code Not a real-time OS No kernel No memory protection Tiny OS • • • • Component-based OS No processes No memory allocation Interrupt and exception handling dependent on peripheral • Nonblocking Wireless Sensor Network Topology TinyOS Goals • Allow high concurrency • Operate with limited resources • Adapt to hardware evolution TinyOS Goals • Support a wide range of applications • Support a diverse set of platforms • Be robust TinyOS Components • • • • • Single-hop networking Ad-hoc routing Power management Times Nonvolatile storage control TimerM Component TimerM Configuration TinyOS Scheduler • Operates across all components • Only one task executes at one time • Simple FIFO queue Example TinyOS Appliction Example TinyOS Appliction TinyOS Resource Interface • Dedicated • Virtualized • Shared Shared Resource Configuration