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
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 Conclusions Real-Time OS Design - 2 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 Goals Create an environment suitable for developing applications with hard realtime 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 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 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 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 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 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 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 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 Research Operating Systems Case Study: Spring Kernel Real-Time OS Design - 12 A Java Solution: JMD A Java Kernel for Embedded Systems in Distributed Process Control Java Microcontrolled Device (JMD) - JMD applications JMD-OS API JMD Kernel MicroKernel (high level) (low level) Real-Time OS Design - 13 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 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