how to choose an rtos?

Post on 17-Feb-2017

111 Views

Category:

Engineering

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

How to choose an RTOS

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.

Questions while choosing an RTOs

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.

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.

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.

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.

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.

How much?

• When considering the necessary budget for implementing a RTOS, keep the following possible costs in mind:

1. Initial software license fees2. Recurring license fees3. Support Costs4. Training Costs5. Development labor costs (programmer, QA, manager,

etc.)

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.

3. Functionality• Wireless connectivity• USB• Portability

• Thank You!

top related