Formation Linux Temps-réel Xenomai. version 1.0



Documents pareils
Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

RTDS G3. Emmanuel Gaudin

Alexandre Buge Epitech 5 Promo Soutenance de stage du 01/03/2004 au 31/08/2004

Comment travailler avec les logiciels Open Source

Linux 1: Présentation

Linux embarqué: une alternative à Windows CE?

Exécutif temps réel Pierre-Yves Duval (cppm)

MEAD : temps réel et tolérance aux pannes pour CORBA

Découverte des Logiciels Libres. Gilles Dequen

Linux embarqué Retour d expérience et temps réel. Denis Coupvent-Desgraviers

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Virtualisation open source État de l'art

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

1 Mesure de la performance d un système temps réel : la gigue

Systèmes en réseau : Linux 1ère partie : Introduction

Annexe : La Programmation Informatique

Présentation des intervenants. Pourquoi cette conférence? Logiciel libre : notions essentielles. Le logiciel libre pour les projets industriels

IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels

Introduction au temps réel

Les avantages de la virtualisation sont multiples. On peut citer:

Virtualisation sous Linux L'age de raison. Daniel Veillard

Logiciels libres et Open source

ERESI : une plate-forme d'analyse binaire au niveau noyau. The ERESI team

Communications performantes par passage de message entre machines virtuelles co-hébergées

Utilisation de matériels industriels avec des outils de virtualisation open source. Open Source dans le monde industriel

Le logiciel libre. Jeudi 19 janvier Rémi Boulle Sébastien Dinot

Catalogue des stages Ercom 2013

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion

Les logiciels libres. Université Antilles Guyane 14 novembre 2008 Olivier Watté

Rapport de projet de fin d'étude

Virtualisation de serveurs Solutions Open Source

MI03 TP. Objectifs du TP 1ère séance. 2ème séance. Construction d'un système linux embarqué complet

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Vérifier la qualité de vos applications logicielle de manière continue

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

Stratégie de sécurité grâce au logiciel libre. Frédéric Raynal Cédric Blancher

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Outils de développement collaboratif

Applications Embarquées Critiques

Jean-Christophe BECQUET

CMS et logiciels libres : initiation 01 CONTENT MANAGEMENT SYSTEM / SYSTÈME DE GESTION DE CONTENU

Environnements de développement (intégrés)

Modèles économiques de l'open Source

De l'open source à l'open cloud

Introduction aux systèmes temps réel. Iulian Ober IRIT

Debian en milieu professionnel. This document is under the GNU Free Documentation License.

Plan global Outils de développement et compilation. Plan. Objectifs des outils présentés. IDE, GCC/Clang, ASAN, perf, valgrind, GDB.

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Méthodes et outils employés pour développer des logiciels libres

Guide pratique de CSPM, l'outil de suivi des performances du système Version française du Complete System Performance Monitor HOWTO

Temps Réel. Jérôme Pouiller Septembre 2011

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Guide rapide d'installation SUSE Linux Enterprise Server 11 SP1

Virtualisation logicielle De la machine réelle à la machine virtuelle abstraite

Qu est ce qu un un serveur?

Systèmes d exploitation

Burckel Thomas. Formation. Compétences

Développement de projets logiciels à l'aide de Python

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Jean-Christophe BECQUET

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Méthode d Évaluation des Coûts liés à l Open Source (ECOS)

Hyperviseur vs Docker. le choc des virtualisations

Plan global Outils de développement et compilation. Ce que l on veut éviter. Plan. Git : gestion de code source et versionnement.

Concept de machine virtuelle

Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire

PLATE-FORME DE CLOUD COMPUTING SLAPOS. Intégration d applications

Gestion et impression

Programmation C. Apprendre à développer des programmes simples dans le langage C

Personnes ressources Tice. Académie de Rouen

en version SAN ou NAS

Logiciels libres en entreprise

Cours A7 : Temps Réel

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

Systèmes de gestion de code source

Introduction aux Systèmes et aux Réseaux

Les Licences Libres Ouverture et Protection des Logiciels. Plan

vbladecenter S! tout-en-un en version SAN ou NAS

Session 8: Android File System

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

Introduction aux systèmes temps réel

ANALYSE. Licences Open Source 11/01/2007 AJILON IT. A n a l y s e. Auteur : Damien Cuvillier Date : 11/01/2007 Version : 1 Ref : OS

Intervenants. Thomas d'erceville Project Manager. Christian NGUYEN Practice Manager IT Quality

Prise en compte des ressources dans les composants logiciels parallèles

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

LES FONCTIONS DE SURVEILLANCE DES FICHIERS

CH.3 SYSTÈMES D'EXPLOITATION

Urbanisme du Système d Information et EAI

Systèmes et exécutifs temps-réel

11 Février 2014 Paris nidays.fr. ni.com

Logiciel Libre dans l'entreprise. BOUABID Mohamed Amine

Hétérogénéité pour atteindre une consommation énergétique proportionnelle dans les clouds

Windows Azure Platform Développez, déployez et administrez pour le Cloud Microsoft

Transcription:

Formation Linux Temps-réel Xenomai version 1.0

Licence Copyright (c) 2005-2006 Stelian Pop <stelian.pop@openwide.fr> Copyright (c) 2005-2006 Philippe Gerum <rpm@xenomai.org> Copyright (c) 2005-2006 Open Wide <www.openwide.fr> Permission vous est donnée de copier, distribuer et/ou modifier ce document selon les termes de la Licence GNU Free Documentation License, Version 1.1 ou ultérieure publiée par la Free Software Foundation ; sans aucune section inaltérable; sans texte de première page de couverture; sans texte de dernière page de couverture. Une copie de cette Licence est incluse dans la section appelée GNU Free Documentation License de ce document et peut être consultée à l'adresse www.gnu.org/copyleft/fdl.html. 2

Contact Open Wide Paris Open Wide Lyon 14, rue Gaillon 75002 Paris 97, rue Racine 69100 Villeurbanne Tél: +33(0) 1.42.68.28.00 Fax: +33(0) 1.40.07.54.86 Tél: +33(0) 4.26.68.95.00 Fax: +33(0) 4.26.68.95.01 3

Sommaire Introduction à Linux et à l'open Source Tour d'horizon des Solutions Linux Temps-réel Xenomai introduction (objectif, historique, architecture) installation (configuration, compilation, testsuite) utilisation (mise en oeuvre de l'api POSIX) mise au point (debugger, tracer) 4

Première partie: Introduction à Linux et à l'open Source 5

Sommaire Présentation de Linux Historique de Linux Présentation de l'open Source Licences GPL / LGPL Ecosystème et outils 6

Présentation de Linux Système d'exploitation: Multi-tâche Multi-utilisateur Multi-plateforme Norme POSIX (UNIX) Non issu du code UNIX originel Logiciel libre 7

Historique Créé par Linus Torvalds en 1991 Initialement orienté x86 Originellement multi-tâche, multi-utilisateur Choix de l'environnement GNU (Stallman) Outils de développement (compilateur,...) Outils système (bash, ls, cp...) Publication des sources sur Internet Choix de la licence GPL. 8

Open Source GNU: Richard Stallman invente le copyleft Inversion de la logique de copyright Requiert la liberté d'étudier et de modifier les sources Couple la distribution des sources à celle du binaire Plusieurs variantes d'un même concept: Logiciel libre : l'accent est mis sur la liberté du logiciel (ethique) Open Source : l'accent est mis sur la supériorité technique du logiciel (utilitariste) Exemples: GPL, LGPL, BSD 9

Licence GPL GNU General Public License Liberté de copier, modifier et redistribuer les sources Interdiction de limiter cette liberté vis-à-vis d'un tiers Code source associé à la distribution du logiciel Exclusion de garantie Brevets associés devant être utilisables sans exclusive ni retribution Clauses originelles de la licence non-altérables en cas de variante 10

Licence LGPL GNU Lesser General Public licence (LGPL) Liberté de copier, modifier et redistribuer les sources Combinaison possible avec du logiciel sous licence nonlibre Exclusion de garantie Brevets associés devant être utilisables sans exclusive ni retribution Clauses originelles de la licence non-altérables en cas de variante Utilisé principalement pour les bibliothèques 11

Ecosystème et outils (1/4) Mixité de développeurs : bénévoles, professionnels, universitaires Organisation en méritocratie Projets et forks Variété de solutions (exemple: GNOME/KDE, vi/emacs etc.) Multiplicité d'approches Duplication d'efforts Cycle de développement Itératif et réactif, très court, parfois déstabilisant 12

Ecosystème et outils (2/4) Développement distribué H24, 7x7 Listes de diffusion Canaux IRC Rencontres annuelles Kernel Summit (Ottawa) FOSDEM (itinérant) RMLL (itinérant)... 13

Ecosystème et outils (3/4) Editeurs de texte: vi, emacs Compilation: outils GNU (gcc, gdb, gas, ld etc) IDE (peu utilisés): kdevelop, eclipse Gestion des sources: CVS, Subversion, git, etc Rapports de bugs: bugzilla, mantis Infrastructures globales: Sourceforge: sourceforge.net Savannah: savannah.org Gna: gna.org 14

Ecosystème et outils (4/4) Pas de contrôle centralisé D'un logiciel. Du développement d'un logiciel. Pas de vérrouillage fournisseur (vendor lock-in) Coût indirect à intégrer Support & évolution (sociétés tierces ou interne) Veille technologique 15

Deuxième partie: Solutions Linux Temps-réel 16

Sommaire Définitions Le besoin temps réel Les solutions: Linux standard Linux préemptif Linux PREEMPT_RT Hybrides: Linux + co-noyau RTLinux, RTAI, Xenomai Tableau comparatif des solutions 17

Définitions FAQ www.faqs.org/faqs/realtime-computing/faq/ Le temps-réel est une notion de garantie IEEE : exigence sur le temps de réponse autant que sur la qualité de fonctionnement POSIX : réaction appropriée en un temps borné à un événement 18

Le besoin Contexte industriel : Pilotage matériel (moteurs...) Acquisition de données (capteurs...) Piles protocolaires (GPRS, VoIP...) etc. Contrainte temps-réel induite : portage de code depuis un RTOS 19

Linux standard Solution clé en main (distributions généralistes ou spécialisées) Disponible sur 24 architectures et de nombreuses plates-formes Très bonnes performances globales Stable, mature (15 ans...) 20

Linux standard Fonctionnement (1/2) Traitements effectués par des processi Modes d'execution d'un processus espace utilisateur (applicatif) espace noyau (e.g. entrées-sorties) Préemption du traitement applicatif interruptions exceptions 21

Linux standard Fonctionnement (2/2) Désactivation des interruptions Pas de préemption en mode noyau Préemption par l'ordonnanceur interruption timer fréquence timer fixe (HZ = 1-10 ms) Ordonnancement par niveau de priorité Priorité dynamique standard Priorité statique FIFO (99 niveaux) 22

Linux standard Utilisation et performances Écriture de code noyau: API spécifique, limitée aux opérations "noyau" Langage C Écriture de code applicatif Multiples API Multiples langages Granularité du temps indexée sur HZ Aucune garantie sur le temps de latence maximum 23

Linux préemptif Solution clé en main distributions spécialisées embarqué / temps-réel pas de patch externe requis Disponible sur de nombreuses architectures option de préemption non stable sur toutes Bonnes performances globales surcoût tolérable lié à la préemptibilité noyau Stabilité et maturité premiers travaux sur la préemption noyau > 5 ans 24

Linux préemptif Fonctionnement Préemption noyau active, sauf : Dans les sections critiques SMP (spinlock) Sur contexte d'interruption Variantes de préemption PREEMPT_VOLUNTARY, points de préemption explicites couverture plus faible moins d'artefacts de synchronisation PREEMPT_DESKTOP, points de préemption implicites couverture plus large plus d'artefacts de synchronisation 25

Linux préemptif Utilisation et performances Même utilisation que Linux standard : écriture de code noyau écriture de code applicatif Légère amélioration de la latence moyenne Pas de réduction significative de la latence maximale Moins d'amplitude dans les pics de latence Système non temps-réel au sens strict 26

Linux PREEMPT_RT Patch expérimental sur base 2.6.x (-rt) people.redhat.com/mingo/realtime-preempt Disponible sur quelques architectures Threaded interrupt model Prévention des inversions de priorité (par héritage) Réécriture complète des mécanismes de synchronisation Timers noyau haute précision 27

Linux PREEMPT_RT Fonctionnement Remplacement spinlocks -> mutexes (quasiment) plus d'attente active pour exclusion mutuelle Routines d'interruption sur contextes de tâches préemption des ISRs possible Prévention des inversions de priorité support de l'héritage de priorité par les mutexes Timers haute précision délais et échéances en microsecondes La quasi-totalité du code noyau est preemptible 28

Linux PREEMPT_RT Utilisation et performances Changements significatifs du code noyau sémantique de verrouillage des sections critiques inspection nécessaire de tous les composants Le coût de la préemption peut être important Temps de latence maximum nettement amélioré borne supérieure encore indéfinie dépend largement de la plate-forme matérielle dépend de la configuration logicielle 29

Linux + co-noyau Ajout d'un co-noyau pour la gestion temps-réel Sous-système temps-réel intégré dans un module noyau Patch de virtualisation des interruptions Différents modèles programmatiques Noyau uniquement (RTLinux/GPL, www.rtlinux-gpl.org) Noyau & espace utilisateur, semi-intégration Linux (RTAI, www.rtai.org) Noyau & espace utilisateur, intégration Linux complète (Xenomai, www.xenomai.org) 30

Linux + co-noyau Fonctionnement Séparation entre le composant temps-réel et Linux Ordonnanceur temps-réel spécifique Pas de dépendance sur les sections critiques Linux Virtualisation de la gestion d'interruptions Linux Routage prioritaire des IRQs vers le co-noyau Activation de l'ordonnanceur temps-réel Linux comme tâche idle du co-noyau 31

Linux + co-noyau Utilisation et performances Changement minimal sur le noyau Linux patch de virtualisation d'interruptions pas d'impact sur l'écriture de code noyau classique Impact sur l'écriture de code temps-réel utilisation d'apis fournies par le co-noyau notion de domaine d'exécution (temps-réel / normal) Garanties temps-réel fortes ordonnanceur spécifique indépendant sous-système temps-réel bien délimité Latence maximale < 20 microsecondes 32

Solutions Linux temps réel Comparaison des solutions Linux Linux préemptif Linux PREEMPT_RT RTLinux RTAI Xenomai Type scheduler optimisation optimisation standard scheduler scheduler co-noyau co-noyau co-noyau intégré toutes toutes i386, alpha, arm, blackfin, i386, ppc, arm, Plate-forme toutes (problèmes (problèmes mips, ppc i386, ia64, ppc mips, cris possibles) possibles) (+propriétaire) POSIX PSE51 multiples 32/64 API noyau, POSIX noyau, POSIX noyau, POSIX spécifique noyau API noyau communes standard standard standard ou user uniquement noyau/user Temps de latence moyen HZ (1-10 ms) HZ(1-10 ms) 10 20 us < 5 us < 5 us < 5 us Temps de latence max 70-100? us < 20 us < 20 us < 20 us Etat stable stable experimental développement actif stable, maintenance éteinte stable, évolutions chaotiques stable, développement actif 33

Solutions Linux temps réel Pointeurs Linux, Linux préemptif: http://www.kernel.org PREEMPT_RT: http://people.redhat.com/mingo/realtime-preempt RTLinux: http://www.fsmlabs.com RTLinux GPL: http://www.rtlinux-gpl.org RTAI: http://www.rtai.org Xenomai: http://www.xenomai.org 34

Troisième partie: Xenomai 35

Sommaire Introduction Historique Description fonctionnelle Architecture Installation Domaines d'exécution Design d'application Interfaces temps-réel Outils de mise au point Stratégie de portage 36

Introduction Xenomai, sous-système temps-réel de Linux Faible latence Espace utilisateur RTOS générique + interfaces Emulation de RTOS traditionnels Complètement intégré à Linux Licence GPL (coeur), LGPL (interfaces) 37

Xenomai Historique Fondation en 2001 Xenomai v0.5 Septembre 2001 Xenomai v1.1.1 Décembre 2002 Intégration à RTAI en 2003 RTAI/fusion v0.1 Juin 2004 Indépendance reprise en 2005 Xenomai v2.0 Octobre 2005 (base RTAI/fusion v0.9.1) Xenomai v2.1 Mars 2006 Xenomai v2.2 Juillet 2006 38

Xenomai Ressources Sites Internet http://www.xenomai.org http://gna.org/projects/xenomai Listes de diffusion xenomai core xenomai help ressources complémentaires http://www.captain.at/xenomai.php 39

Xenomai Description fonctionnelle (1/3) Adaptabilité coeur de RTOS générique spécialisation d'interfaces ou skins Intégration Linux forte sous-système noyau Multi plates-formes arm, blackfin, i386, ia64, powerpc32, powerpc64 simulateur Modèle de programmation espace noyau 40

Xenomai Description fonctionnelle (2/3) Code applicatif VxWorks Code applicatif POSIX glibc Xenomai libvxworks glibc Xenomai libpthread Appels système Pile réseau Xenomai RTOS VFS/FS... Noyau Adeos I-Pipe Hardware 41

Xenomai Description fonctionnelle (3/3) Code applicatif VxWorks Code applicatif POSIX glibc Xenomai libvxworks glibc Xenomai libpthread Xenomai Skin VXWorks Skin POSIX Nucleus (RTOS générique) SAL/HAL Adeos I-Pipe 42

Xenomai Architecture (1/3) Application temps-réel API temps-réel (skin) co-noyau Xenomai (nucleus) SAL/HAL Adeos couche API (POSIX, psos+, VRTX, VxWorks, uitron...) RTOS générique Dépendances matérielles 43

Xenomai Architecture (2/3) Interfaces temps-réel, ou skins absence d'api centrale et unique spécialisations d'un RTOS générique outil de migration RTOS générique objets temps-réel réutilisables Couches d'abstraction d'architecture hôte System Abstraction Layer (SAL) Hardware Abstraction Layer (HAL) Adeos 44

Xenomai Architecture (3/3) Pipeline ADEOS IRQ, Traps Domaine Xenomai Domaine racine... noyau Linux 45

Xenomai Installation (1/2) Etapes majeures Téléchargement des sources noyau Linux officiel (http://ftp.kernel.org/) Xenomai (http://download.gna.org/xenomai/) Préparation des sources noyau patch Adeos intégration du code Xenomai génération et installation du noyau génération et installation du support utilisateur redémarrage, test, troubleshooting 46

Xenomai Installation (2/2) Configuration BIOS particulière (x86) Désactivation legacy USB support Options noyau particulières (x86) Désactivation APM Désactivation CPU_FREQ Désactivation ACPI_PROCESSOR Activation USB host controller driver Configuration Xenomai spécifique (x86) Désactivation sources SMI 47

Xenomai Domaines d'exécution (1/3) Dualité d ordonnancement Domaine Xenomai, déterministe Domaine Linux, non déterministe Exécution d'une tâche temps-réel Mode primaire (domaine Xenomai) Mode secondaire (domaine Linux) Migration de modes Automatique sur appels système Contrôle pour mise au point (SIGXCPU) 48

Xenomai Domaines d'exécution (2/3) Domaine Linux (noyau standard) Domaine Xenomai (co-noyau) Applications TR espace utilisateur Contrôle masque IRQ Virtualisation d'interruptions (Adeos) Sources d'interruptions 49

Xenomai Domaines d'exécution (3/3) Appel système Linux (glibc) Domaine Linux Domaine Xenomai Migration d'appel système Exécution tâche temps-réel Appel système Xenomai (skins) 50

Xenomai Design d'application Ségrégation des activités temps-réel utilisation des domaines d'exécution mixage d'api Choix d'une interface programmatique création ou migration? modèles de programmation noyau / utilisateur Le modèle pour pilotes temps-réel abstraction et normalisation A faire et à ne pas faire 51

Xenomai Interfaces temps-réel (1/2) Personnalités temps-réel native posix psos+ rtai uitron vrtx vxworks API pour pilotes temps-réel de périphériques rtdm 52

Xenomai Interfaces temps-réel (2/2) Interface syscall Native POSIX RTDM VxWorks psos... Real time RTOS générique nucleus(nucleus) SAL/HAL Adeos Applications en espace utilisateur Applications en espace noyau 53

Xenomai Interface POSIX (1/2) Convergence POSIX 1003.1b pthreads horloges et timers mutexes, variables condition, sémaphores files de messages, mémoire partagée quelques extensions (ex. interception IRQ) Substitution transparente NPTL / LinuxThreads Options de compilation spécifiques Mixage possible avec POSIX glibc Migrations de domaine implicites 54

Xenomai Interface POSIX (2/2) Interface standard d'appels système Services noyau Linux API POSIX co-noyau Xenomai Applications espace utilisateur Applications espace noyau 55

Xenomai Interface native Interface temps-réel traditionnelle tâches timers mutexes, variables condition sémaphores, groupes d'événements files de messages, mémoire partagée régions de mémoire FIFO intra et inter-domaines (message pipes) interception d'irq Mixage possible avec autres skins et glibc 56

Xenomai Mise en oeuvre POSIX Génération d'exécutables Mixage avec NPTL / LinuxThreads Exercices substitution de services POSIX standard multi-threading temps-réel simple traitements cycliques haute précision mixage services Xenomai et standard 57

Xenomai Drivers temps-réel Interface RTDM Génération d'exécutables Exercices pilote de périphérique nommé pilote de protocole 58

Xenomai Outils de mise au point Interface /proc/xenomai GDB simulateur Xenomai traceur I-Pipe KGDB 59

Xenomai Interface /proc Activité des skins /proc/xenomai/interfaces/, registry/, rtdm/ Comptabilité des événements système /proc/xenomai/irq, apc, faults Statut des tâches temps-réel /proc/xenomai/sched, stat Contrôle du timer temps-réel /proc/xenomai/timer, latency Identification du système /proc/xenomai/hal, version 60

Xenomai Utilisation de GDB Mise au point classique espace utilisateur Programme GDB standard compatible tous front-ends Altération du fonctionnement temps-réel perte du déterminisme tâches tracées en mode secondaire points d'arrêt à «temps zéro» 61

Xenomai Simulateur (1/3) Simulation événementielle exécutable de simulation «tout-en-un» IHM spécialisée avec interface GDB Prototypage de code nouvelles interfaces (skins) partie générique de drivers temps-réel contexte indépendant API Linux (noyau, glibc) Tests exécution 100% reproductible campagnes de non-regression 62

Xenomai Simulateur (2/3) Installation dépendances logicielles compilation Démonstration 63

Xenomai Simulateur (3/3) 64

Xenomai Mise au point traceur I-Pipe Complément Adeos/I-Pipe patch additionnel Repérage des sources de latence recherche de sections de masquage d'irq traces symboliques Disponible pour i386 et ppc 65

Xenomai KGDB Complément de Adeos/I-Pipe patch additionnel Mise au point du coeur Xenomai / Adeos Adaptation de KGDB au contexte Adeos Fonctionnalités GDB standard Disponible pour i386 66

Xenomai Stratégie de portage Portage Adeos insertion coeur générique (kernel/ipipe/) interception des IRQ (arch/*/kernel/) interception des exceptions (arch/*/kernel/) insertion des notifications d'événements (kernel/) Portage HAL programmation du timer matériel (include/asm-*/hal.h) arithmétique optimisée (include/asm-*/hal.h) Portage SAL changement de contexte (include/asm-*/bits/pod.h) 67

Xenomai Conclusion Spectre applicatif temps-réel pas de solution Linux «tout-en-un» Exigences variables d'une application à l'autre d'une tâche à l'autre dans une même application besoin d'accès aux services Linux standard Modèle programmatique classique intégration transparente du support temps-réel protection mémoire accès aux outils standard (ex. GDB) 68