Processing math: 100%

Systèmes en temps réel – quelques liens pertinents

Cliquez ici pour des considérations propres au temps, considéré sous un angle plus général.

Quelques raccourcis :

Il est probable que vous soyez aussi intéressé(e) par ces liens sur la multiprogrammation ou par ces liens sur les systèmes d'exploitation, en particulier ceux sur les systèmes embarqués.

Vous trouverez ici quelques liens portant sur les systèmes systèmes en temps réel (STR). Si vous découvrez d'autres liens dignes d'intérêt, faites-m'en part. De même, signalez-moi des liens brisés ou périmés si vous en rencontrez, ce qui me permettra d'offrir un meilleur service à vous comme à vos collègues.

Considérations générales

Quelques saines pratiques de programmation pour des systèmes assujettis à des contraintes de basse latence, répertoriées en 2014 par Benjamin Darfler : http://codedependents.com/2014/01/27/11-best-practices-for-low-latency-systems/

Il existe des nombres particulièrement importants en programmation, en particulier ceux ayant trait à la latence de certaines opérations clés. Le lien http://www.eecs.berkeley.edu/~rcs/research/interactive_latency.html propose une exploration interactive de quelques-uns de ces nombres.

Quelques pistes à propos des STR en général :

Communication assujettie à des contraintes TR :

À propos des entrées/ sorties :

Écrire une fonction périodique (au sens usuel du terme) avec C++ 11, selon Tony Da Silva en 2015 : http://bulldozer00.com/2015/07/15/periodicfunction/

Systèmes d'exploitation de type « temps réel » (SETR)

Pour les systèmes d'exploitation TR :

Sur QNX en particulier :

Sur Linux :

STR et virtualisation – sans grandes surprises, règle générale, ça a ses limites :

Rate Monotonicity

L'approche dite Rate Monotonic à l'ordonnancement des tâches TR d'un système correspond essentiellement à ordonnancer en priorité les tâches de plus faible période; évidemment, on parle ici de tâches périodiques.

L'approche Rate Monotonic facilite le raisonnement sur un ensemble de tâches périodiques. Elle présume ce qui suit :

Quand un système ne rencontre pas la totalité de ces « exigences », il est typiquement possible d'appliquer une approche Rate Monotonic mais il faut alors l'adapter aux besoins.

En procédant ainsi, pour un ensemble de N tâches T={C,P}C est le temps d'exécution de la tâche et P et sa période, un test d'« ordonnançabilité » suffisant (que l'on doit à Liu et Layland, 1973, qui ont introduit ce concept) est Ni=1(CiTi)N(21N1).

Plateformes TR prises en charge

La liste qui suit est indicative, sans plus.

Pour C++

Texte de 2014 par Scot Salmon mettant en valeur que C++ est plus approprié qu'auparavant pour le développement TR : http://www.embedded.com/design/programming-languages-and-tools/4429790/How-to-make-C--more-real-time-friendly

À propos de Java TR : ../Sujets/TempsReel/rtsj.html

Pour Java

Pour Erlang

Erlang et le temps réel strict :

Pour .NET

À propos de .NET en version TR :

Systèmes embarqués

À propos des systèmes embarqués :

Autres sujets

D'autres cours sur le sujet :

Combien de temps faut-il pour réaliser un changement de contexte? http://blog.tsunanet.net/2010/11/how-long-does-it-take-to-make-context.html

Quelques articles disponibles à travers la bibliothèque numérique du Association for Computing Machinery (ACM) :


Valid XHTML 1.0 Transitional

CSS Valide !