170 likes | 431 Views
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
E N D
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 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
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 (high level) - JMD-OS API - JMD Kernel - MicroKernel (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