0% found this document useful (0 votes)
82 views

Rtos 101

Real-Time Operating Systems (RTOS) are used in systems that have functional requirements to respond to events within strict timing constraints. An RTOS uses priority-based preemptive scheduling to ensure critical tasks meet their deadlines. Two common scheduling algorithms are Rate Monotonic Scheduling, which prioritizes tasks based on their period, and Earliest Deadline First, which prioritizes based on task deadlines. An RTOS also provides services for task synchronization, communication, and resource management to ensure predictability despite changing priorities and task states.

Uploaded by

Sirmium Bear
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
82 views

Rtos 101

Real-Time Operating Systems (RTOS) are used in systems that have functional requirements to respond to events within strict timing constraints. An RTOS uses priority-based preemptive scheduling to ensure critical tasks meet their deadlines. Two common scheduling algorithms are Rate Monotonic Scheduling, which prioritizes tasks based on their period, and Earliest Deadline First, which prioritizes based on task deadlines. An RTOS also provides services for task synchronization, communication, and resource management to ensure predictability despite changing priorities and task states.

Uploaded by

Sirmium Bear
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Real-Time Operating Systems (RTOS) 101

Real-Time System Characteristics RTOS Architecture Rate Monotonic


• A real-time system is a computer system which is required by
its specification to adhere to: Scheduling (RMS)
– functional requirements (behavior) • A priority is assigned based on the inverse of its pe-
– temporal requirements (timing constraints, deadlines) riod
• Specific deterministic timing (temporal ) requirements – Shorter execution periods = higher priority
– “Deterministic" timing means that RTOS services consume only – Longer execution periods = lower priority
known and expected amounts of time.
• Common way to assign fixed priorities
• Small size (footprint) – If there is a fixed-priority schedule that meets all dead-
lines, then RMS will produce a feasible schedule
Types of Real-Time Systems • Simple to understand and implement
• A generic real-time system requires that results be produced RTOS Task Services • P1 is assigned a higher priority than P2.
within a specified deadline period.
• An embedded system is a computing device that is part of a • Scheduling and Dispatching
larger system.
• Inter-task Communication
• A safety-critical system is a real-time system with catastro-
phic results in case of failure. • Memory System Management
• A hard real-time system guarantees that real-time tasks be • Input / Output System Management
Earliest Deadline First (EDF)
completed within their required deadlines. Failure to meet
a single deadline may lead to a critical catastrophic system • Time Management & Timers Scheduling
failure such as physical damage or loss of life.
• Error Management • Priorities are assigned according to deadlines:
• A firm real-time system tolerates a low occurrence of missing
a deadline. A few missed deadlines will not lead to total • Message Management – the earlier the deadline, the higher the priority
failure, but missing more than a few may lead to complete – the later the deadline, the lower the priority
and catastrophic system failure.
• Priorities are dynamically chosen
• A soft real-time system provides priority of real-time tasks
over non real-time tasks. Performance degradation is toler-
Task Control Block (TCB)
ated by failure to meet several deadline time constraints
with decreased service quality but no critical consequences.

Disciplines that Impact Priority Inversion


Real-Time Systems • Lower-priority task effectively blocks a higher-
• Real-time systems engineering is so multidisciplinary, it priority task
stands out as a highly specialized area.
• Lower-priority task’s ownership of lock prevents
higher-priority task from running
• Nasty: makes high-priority task runtime unpredict-
Controlling a Task able!

Priority Inheritance
• Solution to priority inversion
• Temporarily increase task’s priority when it acquires
a lock
• Level to increase: highest priority of any task that
might want to acquire same lock
– High enough to prevent it from being preempted
• dormant (idle): task has no need for computer time • Danger: Low-priority task acquires lock, gets high
• ready: task is ready to go active, but waiting for processor time priority and hogs the processor
• active (running): task is executing associated activities – So much for RMS
What is a RTOS? • waiting (blocked): task put on temporary hold to allow lower priority task • Basic rule: low-priority tasks should acquire high-
chance to execute priority locks only briefly!
• An RTOS is a preemptive multitasking operating system intended
for real-time applications. • suspended: task is waiting for resource
• It must support a scheduling method that guarantees re- VxWorks Architecture
sponse time
– Especially to critical tasks
Priority-Based
• Tasks must be able to be given a priority
– Static or dynamic
Preemptive Scheduling
• An RTOS has to support predictable task synchronization • Problem: Multiple tasks at the same priority level?
mechanisms
– Shared memory mutexes / semaphores, etc. • Solutions:
• A system of priority inheritance has to exist – Give each task a unique priority
• Manages hardware and software resources. – Time-slice tasks at the same priority
• Deterministic: guarantees task completion at a set deadline. • Extra context-switch overhead
– A system is deterministic if, for each possible state and each set of in- • No starvation dangers at that level
puts, a unique set of outputs and next state of the system can be de-
termined.
– Tasks at the same priority never preempt the other
• Behavior time constraints should be known and minimized • More efficient
– Interrupt latency (i.e., time from interrupt to task run)
– Minimal task-switching time (context switching) • Still meets deadlines if possible

NASA Independent
Richard E. Kowalski, [email protected], TASC Inc. Verification and
Validation Facility
NASA POC: Frank Huy, [email protected] Fairmont, West
Virginia

You might also like