Article | REF: S8055 V2

Real-time scheduling - Mono-processor scheduling

Authors: Emmanuel GROLLEAU, Michaël RICHARD, Pascal RICHARD, Frédéric RIDOUARD

Publication date: June 10, 2013, Review date: September 15, 2023 | Lire en français

You do not have access to this resource.
Click here to request your free trial access!

Already subscribed? Log in!

Automatically translated using artificial intelligence technology (Note that only the original version is binding) > find out more.

    A  |  A

    Overview

    ABSTRACT

    Real-time scheduling must ensure that all the parallel processes put in place of the control of a critical process are executed promptly. This scheduling occurs in a particular context that depends on the material and software architecture and of the real-time executive. It must integrate the problems of temporal validation. Schedulability tests are presented for fixed-priority tasks and for independent tasks and then by the taking into account of practical factors such as communications or mutual exclusions.

    Read this article from a comprehensive knowledge base, updated and supplemented with articles reviewed by scientific committees.

    Read the article

    AUTHORS

    • Emmanuel GROLLEAU: University Professor of Computer Science at ISAE-ENSMA (Chasseneuil du Poitou)

    • Michaël RICHARD: Lecturer in Computer Science at ISAE-ENSMA (Chasseneuil du Poitou)

    • Pascal RICHARD: University Professor of Computer Science at the University of Poitiers

    • Frédéric RIDOUARD: Lecturer in Computer Science at the University of Poitiers

     INTRODUCTION

    Computer systems can be divided into three categories: transformational, reactive and interactive. Transformational systems transform input data into output data at their own pace, without interacting with their environment. Interactive systems typically represent the class of programs with a graphical interface. They respond to a user's requests, and it is welcome that they respond quickly. Reactive systems are in charge of controlling processes. A process is a physical system to be controlled, with its own environment. Consequently, the reactive system has to react quickly enough to the dynamics of the controlled process and its environment. In contrast to the other categories, reactive systems do not exhibit recurring behaviors: as the process evolves with its own dynamics in an often complex environment, it is rare for reactive system/process evolution in its environment execution scenarios to be reproducible.

    IT systems controlling critical physical processes, particularly in the fields of transportation, autonomous exploration, etc., are typically embedded in the process itself. These systems are referred to as critical embedded systems. Such systems are often subject to time constraints inherent in the dynamics of the controlled process. They are then said to be real-time. A real-time system is a reactive system, in charge of ensuring that a process (drone, automotive or avionics system, etc.) is maintained in a desired state, while ensuring system reactivity consistent with the time constraints inherent in the process and its environment. Despite the increase in computer power, first in frequency, then in the number of computing cores since the early 2000s, on-board computers are dimensioned as closely as possible to computing power requirements, in order to minimize the energy consumed, and therefore the autonomy of the process.

    Two assumptions are commonly made when partitioning models, methods and issues: the synchronous assumption and the asynchronous assumption. The synchronous hypothesis considers that processing is triggered directly by the arrival of events. Treatments are considered to have a duration of zero, or at any rate less than the minimum distance separating two successive triggering events. The asynchronous assumption is based on the multitasking programming paradigm: as in the synchronous case, events can trigger processes. However, processing is considered to be of non-zero duration. As a result, one process can be pre-empted by another, i.e. interrupted, and put on hold, to allocate computing resources to another higher-priority process, for example.

    In this article, we consider the asynchronous assumption. We consider this assumption to be realistic, particularly in the case of embedded systems. In this case,...

    You do not have access to this resource.

    Exclusive to subscribers. 97% yet to be discovered!

    You do not have access to this resource.
    Click here to request your free trial access!

    Already subscribed? Log in!


    The Ultimate Scientific and Technical Reference

    A Comprehensive Knowledge Base, with over 1,200 authors and 100 scientific advisors
    + More than 10,000 articles and 1,000 how-to sheets, over 800 new or updated articles every year
    From design to prototyping, right through to industrialization, the reference for securing the development of your industrial projects

    KEYWORDS

    survey   |   problems   |   solving technics   |   transport   |   energy   |   real-time systems   |   embedded and critical systems


    This article is included in

    Control and systems engineering

    This offer includes:

    Knowledge Base

    Updated and enriched with articles validated by our scientific committees

    Services

    A set of exclusive tools to complement the resources

    Practical Path

    Operational and didactic, to guarantee the acquisition of transversal skills

    Doc & Quiz

    Interactive articles with quizzes, for constructive reading

    Subscribe now!

    Ongoing reading
    Real-time scheduling