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.
Deterministic Memory is computer memory which contains values that can be depended on from access to access
For example, the system may not guarantee the execution of a task every 10 seconds, but the system will likely not take more than 11 seconds and generally will make the 10 second requirement.
The key to portability is the use of battery power. For an embedded device, the hardware design and the RTOS play important roles in ensuring that power consumption is reduced.
If the OS is small, memory use can be minimized. The less memory fitted, the less power consumed. If the OS is fast and efficient, the CPU’s clock speed can also be minimized, given that the processor clock’s frequency has a direct and profound effect upon power consumption. An efficient RTOS can make a lower-specification CPU viable and reduce power even further.