Please enable JavaScript.
Coggle requires JavaScript to display documents.
Real-Time Operating Systems - Coggle Diagram
Real-Time Operating Systems
Introduction
Provides
Resource management
Synchronization
Communication
Precise timing
I/O
Scheduling
Some of them supports the concept of Quality of Service (QoS)
RTOS Taxonomy and Architectures
Emphasizes
Efficiency
Features to support timing constraints
Predictability
Types
Small, Fast, Proprietary Kernels
Commercial offerings: increasing quality
Homegrown: usually specialized to the application
Must have
Fast context switch
Small size
Quickly responds to external interrupts
Minimize interval during which interrupts are disabled
Provides partitions for memory management
Provides special sequential files that can accumulates data at a fast rate
Kernel timing requirements
Supports multi-tasking
Priority-based preemptive scheduling
Bounded execution time (for most primitives)
High-resolution real-time clock
Special alarms and timeouts
Real-time queueing
Primitives to delay, suspend and resume executions
Real-time extensions to Commercial Operating Systems
Problems
Generally slower than its base OS
Implementation can be a challenge
Advantages
Greater functionality
Better software development environment
Set of familiar interfaces
Categories
Compliant Kernels
Dual Kernels
Core Kernel modifications
Resource Kernels
Component-based Kernels
A set of operating system components combined into a highly specialized RTOS, suiting your application needs
QoS-based Kernels
"A guarantee is given that a certain amount of resources is assigned to a task or application"
Many researches for algorithms to control guarantees
Research Kernels
University-based research-oriented development
Looks new approaches
Real-time process models
Real-time synchronization primitives
Facilitates timing analisys
Kernel and application-level predictability
Retains amounts of application semantics at run time
Support for fault-tolerance
Object-oriented approaches
Multi-processors and distributed real-time systems
Attempts of a real-time micro-kernel
Real-time languages
Paradigms
Hard and Soft Real-Time Guarantees
Smaller kernels provides
hard
real-time guarantees
Larger kernels provides
soft
guarantees
Admission control
: decides if a new task should be admitted into the system or not, considering the system's resources
Model of the state of the system resources
Knowledge of the new task
The algorithm to make the admission decision
Policies for actions to take upon admission or rejection
Resource Reservation
: tasks are given an amount of unrestricted access to system resources with no need for semaphores since conflicts are avoided via scheduling
Reflection
: system metadata, helps resources reservations to be dynamically adjusted
Resource Kernels
: used to fine-grain control over system resources and its reservations