Présentation
En anglaisAuteur(s)
-
Joëlle DELACROIX : Docteur en informatique - Maître de conférences au Conservatoire national des arts et métiers (CNAM)
-
Christophe MÉNIVAL : Ingénieur en informatique du CNAM - Chef de projet à la direction des systèmes et du traitement de l’information - de la Ville de Paris
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleINTRODUCTION
Pour les applications temps réel, le facteur temps est la principale contrainte à respecter. Pour être à même de respecter cette contrainte, l’application temps réel doit s’exécuter sur un système d’exploitation dédié, souvent qualifié d’exécutif temps réel. Cet exécutif offre un ensemble de services spécifiques pour l’exécution et la programmation de l’application temps réel.
Les exécutifs temps réel sont très nombreux sur le marché et se classent en deux grandes familles : les exécutifs « maison » spécifiquement créés pour le temps réel et les exécutifs dérivés de systèmes classiques existants, notamment de systèmes de type Unix. Récemment, le monde des systèmes d’exploitation a assisté à l’émergence d’un nouveau système multiutilisateur et multi-programmé, le système Linux, dont les deux principales caractéristiques sont la grande modularité et le libre accès au code source. Très vite, ce système a été repris et adapté aux exigences du monde des applications temps réel et même des systèmes embarqués. Nous présentons ici en détail l’une des versions les plus populaires de Linux temps réel, le système RTLinux.
DOI (Digital Object Identifier)
CET ARTICLE SE TROUVE ÉGALEMENT DANS :
Accueil > Ressources documentaires > Technologies de l'information > Technologies logicielles Architectures des systèmes > Systèmes d'exploitation > Système temps réel RTLinux > Système d’exploitation Linux
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
2. Système d’exploitation Linux
2.1 Présentation
Linux , connu également sous le nom de GNU/Linux, est un système d’exploitation de type Unix, dont le code source est en accès libre. Il a été développé à l’origine par Linus Torvalds pour les machines PC, mais il a été adapté depuis à d’autres plates-formes comme les machines PowerPC, Macintosh, Amiga, Atari, DEC Alpha, Sun Sparc, ARM, etc.
Linux tend à être conforme POSIX de façon à maintenir une compatibilité maximum avec les systèmes de type Unix.
Le noyau, conçu de façon modulaire, est en constant développement. Le code correspondant au cœur du noyau lui-même est très petit. Le reste des fonctionnalités est chargé, soit à la demande alors que le système est amorcé, soit à chaque redémarrage du système si le noyau a été configuré et recompilé pour lancer ces fonctionnalités au démarrage. Le noyau peut donc rester petit et être rapidement étendu. Ce principe s’appuie sur la notion de modules chargeables.
Si l’on se base sur la version 2.0.36, les éléments au cœur du noyau sont :
-
la gestion des processus (création, duplication, destruction,…) ;
-
l’ordonnanceur : Linux est un système type Unix, multitâche, multiutilisateur et qui peut s’exécuter sur des machines multiprocesseurs. En conformité avec les spécifications de la norme POSIX, Linux gère en parallèle les trois classes d’ordonnancement SCHED_OTHER, SCHED_FIFO et SCHED_RR. Les processus des classes SCHED_FIFO (ordonnancement par priorité préemptive) et SCHED_RR (ordonnancement de type tourniquet par priorité et quantum de temps), qualifiés de processus temps réel, sont prioritaires par rapport aux processus de la classe SCHED_OTHER qui implémente la politique classique d’ordonnancement Unix (priorité ajustée en fonction de l’utilisation des ressources de la machine) ;
-
les signaux ;
-
les modules chargeables (chargement de certaines parties du noyau à la demande) : Linux offre la possibilité de charger et de décharger dynamiquement des modules dans l’espace adresse du noyau et de les « lier » au code du noyau. Pour limiter la taille du noyau Linux et libérer ainsi plus de place en mémoire pour l’utilisateur, on évite de compiler le noyau avec des composants qui ne sont pas systématiquement utiles (par exemple, des gestionnaires de périphériques). Lorsque...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Système d’exploitation Linux
BIBLIOGRAPHIE
-
(1) - DELGRANGE (A.), TROUBLE (M.) - Module de perception pour robot mobile - . RTS’94 Paris, p 309-320 (1994).
-
(2) - IP (B.) - Performance analysis of VxWorks and RTLinux - . Columbia University (2001). http://www.cs.columbia.edu/~sedwards/ classes/2001/w4995-02/reports/ip.pdf
-
(3) - LIU (C.), LAYLAND (J.W.) - Scheduling algorithms for multiprogramming in a hard real-time environment. - Journal of ACM, 20, n 1, p. 46-61 (1973).
-
(4) - CHETTO (H.) - L’ordonnancement dans les systèmes de contrôle temps réel à contraintes strictes - . Thèse de doctorat d’État, université de Nantes, École nationale supérieure de mécanique (1990).
-
(5) - SHA (L.), RAJKUMAR (R.), LEHOCZKY (J.P.) - Priority inheritance protocols : An approach to real-time synchronization - . IEEE Transactions on Computers, 39, n 9, p. 1175-1185 (1990).
-
(6)...
ANNEXES
RTLinux http://www.fsmlabs.com/community
KURT http:// www.ittc.ku.edu/kurt
RED http://linux.ece.uci.edu/RED-Linux
QNX http://www.qnx.com/support
Linux Journal http://www.linuxjournal.com
Linux Devices.com http://www.linuxdevices.com
Ordonnanceurs http://www.cas.mcmaster.ca/~lawford/4A03/Notes/Examples/schedulers
QNX Software Systems http://www.qmx.com
LynuxWorks (ex Lynx Real-Time Systems) http://www.lynuxworks.com
Wind River Systems http://www.windriver.com
Rt-Control http://www.rt-control.com
Prosa http://www.prosa.it/index.en.html
HAUT DE PAGECet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive