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 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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
Real-Time OS Design - 1
- Priority-based Kernel
- RT extensions of timesharing systems
- Research operating systems
Case study: Java-OS
Real-Time OS Design - 2
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
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
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
VxWorks, OS9, pSOS
RT extensions of timesharing systems
Research operating systems
Real-Time OS Design - 6
- High performance for average response time to external events.
- fast context switching
- small footprint
- efficient interrupt handling
- preemptable primitives
- fast communication mechanisms
Real-Time OS Design - 7
Driven by a real-time clock
Task Scheduling with fixed priorities
Synchronization tools, limitations
Real-Time OS Design - 8
Real-Time OS Design - 9
- Reused Kernel
- Task Scheduling with fixed priorities
Tasks vs Threads? (N. Wirth)
- Re-implemented User-Level Threads
- Nonpreemptable syscalls, interrupts
Real-Time OS Design - 10
Objective: The ability to treat tasks with explicit timing constraints, such as periods and deadlines
- Scheduling guarantee mechanisms
- Characterize tasks with additional parameters
- Avoidance of nondeterministic blocking time
Real-Time OS Design - 11
Case Study: Spring Kernel
Real-Time OS Design - 12
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
Task Methods and Behaviors:
- period of execution
- Priority Class (1 - 10)
Variable Scheduling Algorithm
Real-Time OS Design - 14
Not yet RTSJ compliant
Flexible Kernel provides abstraction and possibility for future development.
Maybe in the future?
Real-Time OS Design - 15