4. Introduction
Qu’est
ce qu’un système temps réel ?
• Un système temps réel est un système dont les corrections ne
dépendent pas uniquement du résultat logique des algorithmes mais
aussi de l'instant où ces résultats ont été produits.
• Un système temps réel ne doit pas être particulièrement rapide mais
bien déterministe.
4
5. Définition
RTLinux est un système d'exploitation temps réel destiné
aux applications ayant de réelles, sérieuses et non
négociables deadlines.
RTLinux est un «patch » pour le noyau Linux.
RTLinux est noyau temps réel dur multithreads, dans lequel le
Linux standard est le thread de plus basse priorité.
5
6. Définition
RTLinux est une variante dur en temps réel de Linux, parmi
d'autres, qui permet de contrôler des robots, des systèmes
d'acquisition
de
données,
des
usines,
et
d'autres
instruments et machines sensibles au facteur temps.
6
7. Historique
RTLinux est à l'origine d’un projet universitaire3 maintenu par
Victor Yodaiken et son équipe de l'institut technologique du
Nouveau-Mexique, puis commercialisé par FSMLabs, et enfin
revendu en février 2007 à la société Wind River.
Victor Yodaiken
7
8. Historique
D’abord sous licence GPL, un brevet (US
Patent No. 5,995,745) a été déposé sur le
RTLinux
V1
principe de fonctionnement de RTLinux , ce
qui est incompatible avec la notion de
logiciel libre. FSMLabs décide de distribuer
RTLinux
V2
une version GPL OpenRTLinux et une
version commerciale RTLinux/PRO plus
complète pour résoudre le conflit avec la
Open RTLinux
V3
RTLinux
V3
PROfessionnel
licence GNU GPL.
8
9. Les différents types de
RTLinux :
Les solutions Linux temps-réel se divise en deux catégories :
RTLinux propriétaire
RTLinux libre
9
10. Les différents types de
RTLinux :
Ne donne pas accès à son code source.
RTLinux propriétaire:
La duplication, la modification ou l'usage est limité
Exemples :
RTLinuxPro ,BlueCat RT ,LynxOS ,HardHat
,RedHawk
10
11. Les différents types de
RTLinux :
Avoir accès au code source du programme.
RTLinux libre:
Pouvoir modifier et adapter le programme à
ses besoins.
Pouvoir redistribuer des copies du programme.
Pouvoir publier le code source modifié
Exemples :
RTAI, RTLinuxFree ,Klinux ,REDICE-Linux ,TimeSys
RT
Linux/RK ,KURT ,QLinux
11
12. Pourquoi
RTLinux ?
Certains aspects des systèmes d'exploitation ne sont pas compatibles avec les
contraintes temps réel:
•
Linux possède des aspects imprévisibles (algorithme de gestion des tâches,
drivers, appels systèmes "interrompables",mémoire virtuelle, ...)
1
13. Pourquoi
RTLinux ?
•
L’ordonnanceur de Linux essaye d’attribuer de façon équitable le CPU à
l’ensemble des processus(ne respecte pas les priorités). C’est une approche
égalitaire. Un ordonnanceur Temps Réel donnera toujours la main à la tâche
de plus forte priorité prête ’est ici un approche plus totalitaire.
1
14. Linux vers
RTLinux
Pour le rendre système prévisible, RTLinux construit directement sur le
processeur (i386) un petit noyau indépendant de celui de Linux. Avec un
gestionnaire de tâches, le noyau de Linux tourne au dessus de lui partageant
le processeur avec les autres tâches temps réel.
1
15. Linux vers
RTLinux
Linux partage alors le noyau avec d'autres tâches. Plus précisément, Linux est
une tâche en arrière plan et ne tourne que lorsqu'aucune autre tâche Temps
Réel n'est active.
1
18. Ordonnanceur
• Par défaut l’ordonnanceur de RTLinux est préemptif à priorités fixes.
• Les processus non temps réel ont une priorité basse.
Si les processus temps réel nécessitent toutes les ressources CPU, les
tâches non temps réel ne s’effectueront pas.
C’est le principal défaut de ce type d’ordonnancement.
1
19. Ordonnanceur
Solution:
• Recours à d’autres ordonnanceurs disponibles dans RTLinux afin de laisser
la possibilité à l’utilisateur de choisir le plus adapté à son application.
Exemples:
• Rate-monotonic Scheduling (RMS)
• Earliest Deadline First (EDF)
19
20. Ordonnanceur
Rate-monotonic Scheduling (RMS)
• Ce type d’ordonnancement fixe une priorité aux tâches périodiques.
• La tâche la plus prioritaire est celle qui a la plus petite période.
•
Si une tâche de haute priorité doit s’exécuter alors qu’une tâche de
priorité plus faible est en cours d’exécution, la tâche de plus faible
priorité est arrêtée au profit de la tâche de haute priorité.
20
21. Ordonnanceur
Rate-monotonic Scheduling (RMS)
Malheureusement Cet ordonnancement ne peut cependant garantir que
les tâches respecteront leurs délais dans le cas où elles sont trop
nombreuses.
21
22. Ordonnanceur
Earliest Deadline First (EDF):
• Ce type d’ordonnancement utilise la priorité dynamique.
• La tâche ayant la date limite la plus proche aura la priorité la plus
haute et prendra donc la place de la tâche en cours d’exécution.
22
23. Les services
Disponibles
La gestion de la mémoire:
• Les tâches temps réels tournent dans l’espace noyau. Le temps de réponse
est donc très court.
• Pas de protection de mémoire (droit d’accès).
• Pas de virtualisation de la mémoire.
• RTLinux ne permet pas non plus d’allocation dynamique de mémoire.
23
24. Installation RTLinux:
Pour installer RTlinux sur ubuntu il faut télécharger le noyau:
•linux-2.4.20.tar.bz2 Linux kernel 2.4.20 sources (www.Kernel.org)
• rtlinux-3[1].2-pre2.tar.bz2 Open RTLinux 3.2-pre2 sources, (from
http://www.fsmlabs.com/products/openrtlinux/)
Décompresser ces deux fichiers sur /usr/src
Patcher le RTLinux pour le noyau Linux
Recompiler le noyau et redémarrer le système avec le nouveau noyau
24
25. Installation RTLinux:
Configurez le noyau RTLinux et compiler
Pour plus de détails concernant les étapes d'installation ,il faut suivre les
Tutos suivants:
http://www.CS.fsu.edu/~baker/realtime/restricted/files/rtlinstallation.html
http://www.ubuntobuzz.com/2012/03/real-time-linux-installation-onubunto.html
Real-time Linux: Installation on Ubuntu :
www.ubunto.comTheLinuxKernel.Archives
25
26. Avantages/inconvénients de l’architecture
RTLinux
Avantages:
On bénéficie de tout l'environnement UNIX classique (outils de
développement, Xwindows, réseau, ...) tout en ayant des
fonctionnalités temps-réel. Les 2 pouvant communiquer via les FIFOs
ou la mémoire partagée.
Le micro-noyau Real-time Linux garantie des temps de
commutation de contexte très courts -> bonnes performances.
26
27. Avantages/inconvénients de l’architecture
RTLinux
Inconvénients:
Programmation en mode kernel -> pas de mécanisme de protection
de l'intégrité du système
API limitée et très simple comparée à des systèmes temps-réel
commerciaux.
27
28. Conclusion:
•RTLinux : Real Time Linux, est également une extension du noyau Linux
lui apportant des fonctionnalités temps réel dures.
•Le principe de cette extension est d’ajouter un petit noyau temps réel
gérant l’ordonnancement des tâches temps réel et les interruptions
matérielles à la place des outils standards du noyau Linux.
•Comme Linux développe, RT Linux sera également surfer sur la vague de
son développement.
28
29. Merci Pour Votre Attention
Disposition de titre
29