• Aide
  • Eurêkoi Eurêkoi

Livre

Ordonnancement dans les systèmes temps réel

Résumé

Cette synthèse de quarante ans d'expertise présente le contexte et s'intéresse aux architectures matérielles et logicielles employées pour la programmation de systèmes temps réel. A partir de quelques exemples de programmes, les modèles de tâches classiques sont introduits. Les techniques mises en oeuvre pour valider ces modèles sont développées.


  • Contributeur(s)
  • Éditeur(s)
  • Date
    • cop. 2014
  • Notes
    • Bibliogr. en fin de chapitre. Index
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (397 p.) : ill., couv. ill. en coul. ; 23 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-1-78405-039-9
  • Indice
  • Quatrième de couverture
    • Les systèmes temps réel se rencontrent dans une vaste gamme de domaines applicatifs tels que la robotique, les process industriels, les transports ou le multimédia. En raison de l'évolution rapide des technologies et de l'émergence de l'Internet des objets, les industriels qui intègrent des logiciels temps réel dans leurs produits se trouvent confrontés à de nouveaux défis.

      L'intelligence embarquée dans ces produits repose en particulier sur l'ordonnancement, fonction clé du système d'exploitation. Regroupant une quarantaine d'années d'expertise de différents spécialistes, Ordonnancement dans les systèmes temps réel offre un panorama des connaissances de ce domaine en mettant l'accent sur les dernières avancées majeures de la recherche : architectures monoprocesseurs ou multiprocesseurs, contraintes de synchronisation, modélisation probabiliste, optimisation de la qualité de service, techniques de calcul du WCET, etc.

      Destiné aux informaticiens, automaticiens ou étudiants en école d'ingénieurs, cet ouvrage permet de s'initier à l'informatique temps réel ou d'en approfondir ses connaissances.


  • Tables des matières
      • Ordonnancement dans les systèmes temps réel

      • Maryline Chetto

      • iste

      • Préface15
      • Maryline Chetto
      • Chapitre 1. Introduction à l'ordonnancement temps réel
        Emmanuel Grolleau17
      • 1.1. Systèmes temps réel17
      • 1.2. Architectures matérielles20
      • 1.2.1. Calculateurs20
      • 1.2.2. Réseaux de communication22
      • 1.2.3. Capteurs et actionneurs22
      • 1.3. Systèmes d'exploitation23
      • 1.3.1. Généralités23
      • 1.3.2. Systèmes d'exploitation temps réel24
      • 1.3.3. Primitives offertes par un noyau25
      • 1.4. Ordonnancement27
      • 1.4.1. Ordonnancement en-ligne et hors-ligne27
      • 1.4.2. Caractérisation des tâches28
      • 1.4.3. Criticité31
      • 1.4.4. Métriques liées à l'ordonnancement31
      • 1.4.5. Facteurs pratiques32
      • 1.4.6. Ordonnancement multicoeur36
      • 1.5. Modélisation et analyse des applications temps réel39
      • 1.5.1. Modélisation39
      • 1.5.2. Analyse40
      • 1.6. Architectures d'un système et ordonnançabilité41
      • Chapitre 2. Solutions pour les architectures monoprocesseurs
        Laurent George et Jean-François Hermant45
      • 2.1. Introduction46
      • 2.2. Caractérisation d'un problème d'ordonnancement47
      • 2.2.1. Modèles de tâche47
      • 2.2.2. Modèles de contraintes temporelles49
      • 2.2.3. Modèles d'ordonnancement50
      • 2.2.4. Concepts et notations52
      • 2.3. Algorithmes d'ordonnancement / optimalité54
      • 2.3.1. Algorithmes à priorités fixes au niveau des tâches FP54
      • 2.3.2. Arlgorithmes FPJL56
      • 2.3.3. Algorithmes à priorités dynamiques57
      • 2.4. Périodes actives et scenarii pires cas59
      • 2.4.1. Périodes actives59
      • 2.4.2. Scénarii pires cas60
      • 2.5. Conditions de faisabilité64
      • 2.5.1. Conditions de faisabilité FP65
      • 2.5.2. Conditions de faisabilité FPJL67
      • 2.6. Analyse de sensibilité70
      • 2.6.1. Sensibilité des WCETs72
      • 2.6.2. Sensibilité des périodes79
      • 2.6.3. Sensibilité des échéances80
      • 2.7. Conclusion85
      • 2.8. Bibliographie86
      • Chapitre 3. Solutions pour les architectures multiprocesseurs
        Joël Goossens et Pascal Richard91
      • 3.1. Introduction91
      • 3.1.1. Modélisation des applications92
      • 3.1.2. Modélisation de la plate-forme93
      • 3.2. Classification des ordonnanceurs93
      • 3.2.1. Ordonnanceurs en-ligne et hors-ligne93
      • 3.2.2. Préemptions et migrations des tâches94
      • 3.2.3. Priorités des tâches95
      • 3.2.4. Classification : définition95
      • 3.3. Propriétés des ordonnanceurs96
      • 3.3.1. Propriétés qualitatives96
      • 3.3.2. Propriétés quantitatives100
      • 3.4. Ordonnancement partitionné103
      • 3.4.1. Algorithmes de partitionnement103
      • 3.4.2. Evaluation des algorithmes de partitionnement107
      • 3.5. Ordonnancement global110
      • 3.5.1. Algorithmes équitables111
      • 3.5.2. Généralisation des algorithmes d'ordonnancement monoprocesseur118
      • 3.6. Conclusion119
      • 3.7. Bibliographie119
      • Chapitre 4. Synchronisations : protocoles d'accès aux ressources partagées
        Serge Midonnet et Frédéric Fauberteau123
      • 4.1. Introduction123
      • 4.2. Terminologie et notations124
      • 4.2.1. Diagrammes125
      • 4.3. Protocole de synchronisation126
      • 4.3.1. Cas des architectures monoprocesseurs126
      • 4.3.2. Cas des architectures multiprocesseurs128
      • 4.4. Problèmes dus aux synchronisations131
      • 4.4.1. Inversion de priorité non bornée131
      • 4.4.2. Interblocages136
      • 4.4.3. Blocages multiples140
      • 4.5. Calcul du facteur de blocage144
      • 4.5.1. Cas des architectures monoprocesseurs144
      • 4.5.2. Cas des architectures multiprocesseurs147
      • 4.6. Conclusion152
      • 4.7. Bibliographie152
      • Chapitre 5. Focus sur l'ordonnancement probabiliste
        Liliane Cucu-Grosjean, Andriana Gogonel et Dorin Maxim155
      • 5.1. Introduction155
      • 5.2. Notations et définitions158
      • 5.3. Modèle d'un système temps réel probabiliste159
      • 5.4. Propriétés imposées160
      • 5.5. Modèles pire cas probabilistes161
      • 5.5.1. Systèmes temps réel avec des arrivées probabilistes162
      • 5.5.2. Comparaison entre les deux modèles162
      • 5.6. Ordonnancement temps réel probabiliste163
      • 5.6.1. Problèmes d'algorithmes d'ordonnancement à priorités fixes (BPAP)163
      • 5.6.2. Non-optimalité de l'algorithmes Rate Monotonic163
      • 5.7. Analyse probabiliste d'ordonnançabilité165
      • 5.8. Classification des principaux résultats existants167
      • 5.9. Bibliographie169
      • Chapitre 6. L'ordonnancement dans les réseaux
        Ye-Qiong Song173
      • 6.1. Introduction173
      • 6.2. Protocole CAN176
      • 6.3. Un exemple d'application embarqué automobile distribuée autour d'un réseau CAN179
      • 6.4. Analyse des temps de réponse des messages CAN182
      • 6.4.1. Méthode d'analyse du pire temps de réponse182
      • 6.4.2. Méthode de calcul de la borne des temps de réponse184
      • 6.4.3. Application à une messagerie CAN185
      • 6.5. Conclusion et discussions186
      • 6.6. Bibliographie188
      • Chapitre 7. Approches inductives pour l'ordonnancement de paquets das les réseaux de communication
        Malika Bourennane et Abdelhamid Mellouk189
      • 7.1. Introduction189
      • 7.1.1. L'approche par priorité190
      • 7.1.2. L'approche guidée par le partage de la bande passante (SD)191
      • 7.1.3. L'approche guidée par l'échéance191
      • 7.1.4. L'approche inductive192
      • 7.2. Concept d'ordonnancement193
      • 7.3. Approches pour l'ordonnancement temps-réel194
      • 7.3.1. La priorité stricte195
      • 7.3.2. Le paradigme Généralized Processor Sharing (GPS)195
      • 7.3.3. L'ordonnanceur PGPS (Packet-by-packet Generalized Processor Sharing)196
      • 7.3.4. Earliest Deadline First (EDF)196
      • 7.3.5. Ordonnancement adaptatif196
      • 7.4. Concepts préalables199
      • 7.4.1. Apprentissage mono-agent199
      • 7.4.2. Apprentissage par renforcement multi-agents203
      • 7.5. Modèles proposé206
      • 7.5.1. L'algorithme d'apprentissage208
      • 7.6. Q-learing avec approximation (NQ-learning)209
      • 7.6.1. Evaluation212
      • 7.6.2. Cas d'un seul agent213
      • 7.6.3. Espace d'action213
      • 7.6.4. Espace d'état213
      • 7.6.5. Fonction récompense213
      • 7.6.6. Algorithmes d'apprentissage214
      • 7.6.7. Cas multi-agents216
      • 7.7. Conclusion217
      • 7.8. Remerciements218
      • 7.9. Bibliographie218
      • Chapitre 8. Focus sur les réseaux avioniques
        Jean-Luc Scharbarg et Christian Fraboul223
      • 8.1. Introduction223
      • 8.2. Architectures de réseaux avioniques224
      • 8.2.1. Evolution historique224
      • 8.2.2. Le réseau AFDX225
      • 8.3. L'analyse temporelles d'un réseau AFDX226
      • 8.4. Caractéristique d'un scénario pire cas227
      • 8.5. Calcul d'une borne supérieure du délai232
      • 8.5.1. Une borne supérieure du délai sur un AFDX par calcul réseau232
      • 8.5.2. Une borne supérieure du délais sur un AFDX par la méthode des trajectoires236
      • 8.6. Résultats sur une configuration embarquée avion241
      • 8.7. Conclusion242
      • 8.8. Bibliographie243
      • Chapitre 9. Optimisation de la consommation énergétique
        Cécile Belleudy245
      • 9.1. Introduction245
      • 9.2. Etat de l'art248
      • 9.2.1. Généralités248
      • 9.2.2. Modélisation de la consommation d'un système d'exploitation249
      • 9.2.3. Stratégies de gestion de la consommation au sein de systèmes multicoeurs250
      • 9.3. Modélisation de la consommation253
      • 9.3.1. Plate-forme de caractérisation : aspect matériel et logiciel253
      • 9.3.2. Modélisation de la consommation254
      • 9.3.3. Changement de contexte254
      • 9.3.4. Communication interprocessus257
      • 9.4. Ordonnancement faible consommation259
      • 9.4.1. Environnement de simulation259
      • 9.4.2. Politique d'ordonnancement faible consommation261
      • 9.5. Résultats expérimentaux264
      • 9.5.1. Application test : décodeur H264264
      • 9.5.2. Analyse des résultats de simulation266
      • 9.6. Conclusion et perspectives269
      • 9.7. Bibliographie269
      • Chapitre 10. L'ordonnancement dans les objects autonomes en énergie
        Maryline Chetto273
      • 10.1. Introduction273
      • 10.2. Modélisation et terminologie276
      • 10.2.1. Modèle de système276
      • 10.2.2. Les types de pénurie278
      • 10.2.3. Terminologie278
      • 10.3. Faiblesses des ordonnanceurs classiques279
      • 10.3.1. Ordonnancement par EDF279
      • 10.3.2. Stratégie ASAP280
      • 10.3.3. Stratégie ALAP281
      • 10.4. Propriétés fondamentales282
      • 10.5. Concepts liés à l'énergie283
      • 10.5.1. Demande processeur283
      • 10.5.2. Demande énergétique285
      • 10.6. Ordonnancement ED-H286
      • 10.6.1. Description informelle286
      • 10.6.2. Règles de ED-H286
      • 10.6.3. Analyse d'optimalité288
      • 10.6.4. Analyse de clairvoyance289
      • 10.6.5. Test d'ordonnançabilité289
      • 10.7. Conclusion290
      • 10.8. Bibliographie291
      • Chapitre 11. Conception conjointe commande-ordonnancement
        Daniel Simon, Ye-Qiong Song et Olivier Sename293
      • 11.1. Objectif de commande et modèles294
      • 11.1.1. Commande en boucle fermée294
      • 11.1.2. Commande et paramètres temporels296
      • 11.2. Ordonnancement des boucles de commande299
      • 11.2.1. Robustesse et relâchement de contraintes temps réel dur301
      • 11.3. Approche continue : ordonnancement régulé304
      • 11.3.1. Architecture, capteurs et actionneurs304
      • 11.3.2. Capteurs305
      • 11.3.3. Actionneurs306
      • 11.3.4. Lois de commande307
      • 11.4. Approche discrète : ordonnancement sous contrainte (m,k)-firm309
      • 11.4.1. Modèle (m,k)-firm310
      • 11.4.2. Ordonnancement sous contrainte (m,k)-firm311
      • 11.4.3. Ordonnancement (m,k)-firm régulé312
      • 11.5. Etude de cas : ordonnancement régulé de décodeur vidéo315
      • 11.6. Conclusion321
      • 11.7. Bibliographie321
      • Chapitre 12. Approche synchrone et ordonnancement
        Yves Sorel et Dumitru Potop-Butucaru325
      • 12.1. Introduction325
      • 12.2. Classification329
      • 12.2.1. Langages synchrones329
      • 12.2.2. Langages apparentés333
      • 12.3. Langages synchrones334
      • 12.3.1. Signal334
      • 12.3.2. Lustre343
      • 12.3.3. Esterel345
      • 12.4. Ordonnancement avec les langage synchrones347
      • 12.5. Langages synchrones étendus pour faire de l'ordonnancement350
      • 12.5.1. Lustre350
      • 12.5.2. Prelude351
      • 12.5.3. Syndex353
      • 12.5.4. Taxys358
      • 12.5.5. PSIC, Embedded Code et Network Code358
      • 12.6. Conclusion360
      • 12.7. Bibliographie360
      • Chapitre 13. Estimation de temps d'exécution et délais
        Claire Maiza, Pascal Raymond et Christine Rochange365
      • 13.1. Le calcul de temps d'exécution pire cas : un exemple366
      • 13.1.1. Analyse de l'architecture de système ambarqué368
      • 13.1.2. Analyse de chemin d'exécution374
      • 13.2. Pour aller plus loin378
      • 13.2.1. Multitâche : le prix de la préemption378
      • 13.2.2. Multicoeur et autres architectures complexes381
      • 13.2.3. Influence des méthodes de conception de l'embarqué critique384
      • 13.2.4. Les outils388
      • 13.3. Conclusion389
      • 13.4. Bibliographie389
      • Index393

  • Origine de la notice:
    • Electre
  • Disponible - 681.41 ORD

    Niveau 3 - Informatique