L'ordonnancement à taux monotone (en anglais, rate-monotonic scheduling) est un algorithme d'ordonnancement temps réel en ligne à priorité constante (statique). Il attribue la priorité la plus forte à la tâche qui possède la plus petite période. RMS est optimal dans le cadre d'un système de tâches périodiques, synchrones, indépendantes et à échéance sur requête avec un ordonnanceur préemptif. De ce fait, il n'est généralement utilisé que pour ordonnancer des tâches vérifiant ces propriétés. Cet algorithme a été proposé la première fois dans un papier publié par Liu et Layland. Outre l'algorithme à taux monotone, ce papier décrit une modélisation des tâches basée sur un triplet (, , ), ainsi qu'une méthode de calcul des pires temps de réponses pour des systèmes de tâches à échéance inférieure ou égale à la période. Ce papier est actuellement considéré comme étant une base de l'ordonnancement temps-réel. Les tâches (ou tasks en anglais) sont les entités manipulées par cet algorithme. Chaque tâche est modélisée par un quadruplet (, , , ), où : correspond à la date réveil de la tâche ; correspond au coût d'exécution de la tâche ; correspond à l'échéance relative de la tâche ; correspond à la période de la tâche. Toutefois, l'algorithme n'étant optimal que dans un contexte de tâches simultanées (i.e. la date de réveil de chaque tâche est nulle) et à échéance sur requête (i.e. ), il n'est pas rare de ne modéliser les tâches que par un doublet (, ). Afin de valider un système de tâches ordonnancé ainsi, deux moyens sont offerts : soit, calculer le temps de réponse de chaque tâche, puis, vérifier que toutes les tâches respectent leurs échéances ; soit, réaliser une simulation sur un intervalle allant de 0 jusqu'au PPCM des périodes (macrocycle). Il existe également une condition suffisante portant sur la charge processeur . Son test d'acceptabilité pour un système composé de tâches, qui peut être réalisé hors ligne, nous est donné par la formule suivante : Par exemple, la charge limite pour laquelle ce critère est valable pour est .

À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Cours associés (4)
CS-300: Data-intensive systems
This course covers the data management system design concepts using a hands-on approach.
ENG-633: Supervising Students in Projects
The combination of practical and reflective activities in this course provide participants with evidence-informed teaching skills for supervising and evaluating students working on projects.
CS-476: Embedded system design
Hardware-software co-design is a well known concept in embedded system design.It is also a concept required in designing FPGA-accelerators in data-centers.This course teaches how to transform algorith
Afficher plus
Séances de cours associées (28)
MicroC/OS-II: Aperçu du noyau en temps réel
Fournit un aperçu de MicroC/OS-II, un noyau en temps réel avec des capacités multitâches et des fonctions déterministes, couvrant des sujets tels que la gestion des tâches, le noyau et la communication intertâche.
RTOS: Mécanismes de planification et sémaphores
Explore les mécanismes de planification RTOS, les sémaphores, les mutex et les méthodes de communication entre les tâches.
Systèmes de contrôle en temps réel : Déterminisme et automatisation
Explore les systèmes de contrôle en temps réel, le déterminisme et l'automatisation dans les systèmes critiques, en soulignant l'importance de respecter les contraintes de temps pour la sécurité et l'efficacité.
Afficher plus
Publications associées (83)
Concepts associés (8)
Noyau Linux
vignette|upright=2|Couches de fonctions du Noyau Linux Le noyau Linux est un noyau de système d'exploitation de type UNIX. Il est utilisé dans plusieurs systèmes d'exploitation dont notamment GNU/Linux (couramment appelé « Linux ») et Android. Le noyau Linux est un logiciel partiellement libre (contenant des BLOB et des modules non-libre - consultez Linux-libre) développé essentiellement en langage C par des milliers de bénévoles et salariés collaborant sur Internet.
Earliest deadline first scheduling
Earliest deadline first scheduling (« échéance proche = préparation en premier » en anglais) est un algorithme d'ordonnancement préemptif, à priorité dynamique, utilisé dans les systèmes temps réel. Il attribue une priorité à chaque requête en fonction de l'échéance de cette dernière, les tâches dont l’échéance est proche recevant la priorité la plus élevée. Cet algorithme est optimal pour tous types de système de tâches. Cependant, il est assez difficile à mettre en œuvre et est de ce fait peu utilisé.
Inversion de priorité
L'inversion de priorité est un phénomène qui peut se produire en programmation concurrente. Il s'agit d'une situation dans laquelle un processus de haute priorité ne peut pas avoir accès au processeur car il est utilisé par un processus de plus faible priorité. Pour les exemples, nous utiliseront des tâches A, B, et C, A ayant la plus forte priorité, C la plus faible, et B une priorité intermédiaire, et un mutex X qui sert à gérer une ressource partagée entre la tâche A et la tâche C.
Afficher plus

Graph Chatbot

Chattez avec Graph Search

Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.

AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.