1 / 15

Real-Time Operating System Design

Real-Time Operating System Design. Alvin AuYoung ee290O 4/19/01. Real-Time OS Design - 1. Overview. Introduction - Motivation - Goals Design Issues Methodologies - Priority-based Kernel - RT extensions of timesharing systems - Research operating systems Case study: Java-OS

Download Presentation

Real-Time Operating System Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Real-Time Operating System Design Alvin AuYoung ee290O 4/19/01 Real-Time OS Design - 1

  2. Overview Introduction - Motivation - Goals Design Issues Methodologies - Priority-based Kernel - RT extensions of timesharing systems - Research operating systems Case study: Java-OS Conclusions Real-Time OS Design - 2

  3. Motivation Most current operating systems are not suitable for developing or deploying applications with real-time constraints i.e. scheduling policies, process synchronization, system architecture Real-Time OS Design - 3

  4. Goals Create an environment suitable for developing applications with hard real-time constraints on task execution in a reactive environment. Two key ideas: Predictability: Predict direct consequences of any scheduling decision. Schedulability Guarantees: Verify the schedulability of a given set of tasks. Real-Time OS Design - 4

  5. Design Issues How can I guarantee predictability and schedulability with the different components of my system? Architecture, Memory Management, Task structure, Kernel, etc... Real-Time OS Design - 5

  6. Methodologies Priority-based Kernels VxWorks, OS9, pSOS RT extensions of timesharing systems RT-Mach, RT-Unix Research operating systems Spring, HARTIK Real-Time OS Design - 6

  7. Priority-based kernels Objective: - High performance for average response time to external events. Characteristics: - fast context switching - small footprint - efficient interrupt handling - preemptable primitives - fast communication mechanisms Real-Time OS Design - 7

  8. Priority-based kernels Driven by a real-time clock Task Scheduling with fixed priorities Synchronization tools, limitations Communication protocols Problem? Real-Time OS Design - 8

  9. Real-Time extensions of timesharing OS • Objective: • Extend current (commerical) time-sharing systems to satisfy real-time constraints. • Characteristics: • - Reuse standard peripherals and interfaces • - Speedier development Real-Time OS Design - 9

  10. Real-Time extensions of timesharing OS - Reused Kernel - Task Scheduling with fixed priorities Tasks vs Threads? (N. Wirth) - Re-implemented User-Level Threads - Nonpreemptable syscalls, interrupts problems? Real-Time OS Design - 10

  11. Research Operating Systems Objective: The ability to treat tasks with explicit timing constraints, such as periods and deadlines Characteristics: - Scheduling guarantee mechanisms - Characterize tasks with additional parameters - Avoidance of nondeterministic blocking time Real-Time OS Design - 11

  12. Research Operating Systems Case Study: Spring Kernel Real-Time OS Design - 12

  13. A Java Solution: JMD A Java Kernel for Embedded Systems in Distributed Process Control Java Microcontrolled Device (JMD) - JMD applications (high level) - JMD-OS API - JMD Kernel - MicroKernel (low level) Real-Time OS Design - 13

  14. A Java Solution: Task Model Task Methods and Behaviors: parameterized by: - period of execution - deadline - WCET - Priority Class (1 - 10) Variable Scheduling Algorithm Real-Time OS Design - 14

  15. A Java Solution: Conclusions Not yet RTSJ compliant Flexible Kernel provides abstraction and possibility for future development. Maybe in the future? Real-Time OS Design - 15

More Related