2. Introduction
• A real-time operating system (RTOS) is
an operating system (OS) intended to
serve real-time application process data as it
comes in, typically without buffering delays.
• Processing time -tenths of seconds or shorter.
4. How large?
• Determining how much memory the embedded
system allows (i.e. how much and what type of
RAM is supported).
• Then, there are two factors to consider :-
1) What memory is required by the RTOS itself.
2) How much memory the application requires.
• Use an RTOS simulator to gain an accurate
estimation, if we are working with a severely
limited system.
5. How Flexible?
1. Scheduling policies- Generally not more than
one policy is required in the application. E.g.
Preemptive, Round Robin, Cooperative,
Time-Sliced and Multivariate Slicing.
2. Runtime Behavior- Finding out if the RTOS
supports dynamic objects at runtime. This
will allow for greater flexibility in your code.
6. 3. Interrupts- Determining how the RTOS handles
interrupts and whether functions are supported.
4. Event Synchronization- Finding out if the RTOS
supports multiple tasks waiting on a single event
and/or a single task waiting on multiple events.
5. Memory Management- Looking for the ability to
create deterministic memory allocations so that
we can avoid additional overhead associated
with garbage cleanup and fragmentation.
7. 6. Application Programming Interface (API)-
Verify the APIs supported by the RTOS and if
it in particular supports the one needed by
the application.
7. Messaging- Check the messaging options
available for passing data between various
objects.
8. How Fast?
• There are two basic types of RTOSs- hard and soft.
• A hard system is required when you have a situation
where a task not meeting a deadline would result in a
failure.
• A soft system has no guarantee that the deadline
would be met, but there is some window of reliability.
• The response time is the measure of the hardness of a
RTOS. The lower the response time, the better (harder)
the RTOS.
• The worst case of response time, the application can
live with is determined by the amount of Jitter in the
system.
9. How much?
• When considering the necessary budget for
implementing a RTOS, keep the following possible
costs in mind:
1. Initial software license fees
2. Recurring license fees
3. Support Costs
4. Training Costs
5. Development labor costs (programmer, QA,
manager, etc.)
10. Other Parameters
1. Safety
• Avoiding operator error
• Certification
2. Reliability
• Writing reliable software
• Having high-quality tools like an OS-aware
debugger and performance profiler available with
the selected RTOS can help produce reliable code.