Real-Time Systems Development

Chapter 9: Real-time Executives

9.1 Chapter overview

Tasks require a system to service their basic needs for scheduling, memory allocation, mutual exclusion and communication. All these can of course be offered by full operating systems, such as Linux, but a more streamline option is provided by Real-time Executives (RTE). This chapter describes the normal range of facilities offered by RTEs, and compares them with those provided by Linux. RTEs can offer more flexible tuning of the task scheduling to fit in with the precise needs of the application, and easier installation of device drivers to handle new hardware. The POSIX standard for system calls is introduced, which many RTEs and operating systems fully or partly adhere to.

9.2 Real-time systems implementations

It is common for real-time programs to be divided into many semi-independent concurrent tasks which are scheduled by an RTE or operating system. Each task deals with one aspect or function of the total system activity. Alternatively, simple real-time systems can be implemented in a single program using procedural loops or incorporating a cyclic executive. This results in several problems occurring, such as inflexible timing for device polling, fixed task priorities and limited intertask communication. Also the performance of such systems rapidly deteriorate if the user requirements become more elaborate as extra facilities are demanded or timing constraints vary from those originally specified. It is under similar circumstances that programmers start looking around for a suitable RTE to release them from the deepening quagmire. Programmers usually recognize that while they can realistically build...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Embedded Systems Software
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.