Les OS embarqués. B. Miramond UCP



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

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

Linux embarqué, Linux Temps Réel : présentation

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

Introduction au temps réel

Linux pour l embarqué. 1 Module E4 : Systèmes temps-réel Audrey Marchand

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

L art d ordonnancer. avec JobScheduler. François BAYART

Introduction aux systèmes temps réel

DAns un système multi-utilisateurs à temps partagé, plusieurs processus

Formations Evolix Catalogue

Linux embarqué: une alternative à Windows CE?

Un système d'exploitation

Implémentation Matérielle des Services d un RTOS sur Circuit Reconfigurable

Applications Embarquées Critiques

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

Virtualisation open source État de l'art

Équilibrage de charge pour systèmes temps-réel asymétriques sur multi-processeurs

Comment travailler avec les logiciels Open Source

Ordonnancement temps réel

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

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

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

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

REALISATION d'un. ORDONNANCEUR à ECHEANCES

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

Ordonnancement temps réel

Programmation temps-réel Cours 1 et 2 Introduction et ordonnancement

La Virtualisation Windows chez CASINO. Philippe CROUZY Responsable Infrastructure Equipes Systèmes -Stockage

Realtime applications with RTAI. R.KOCIK Embedded Systems department

Systèmes temps-réel. Plan général. Matthieu Herrb. Mars Introduction - concepts généraux

Découverte des Logiciels Libres. Gilles Dequen

Construction et sécurisation d'un système Linux embarqué. Frédéric AIME

RTDS G3. Emmanuel Gaudin

Cours A7 : Temps Réel

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

Le concept de virtualisation regroupe

Gestion et sécurisation des échanges XcMon, PMPI 03.31/2004 PDB. Global Data Exchange System

Windows Server Chapitre 1: Découvrir Windows Server 2008

La Continuité d Activité

Virtualisation sous Linux L'age de raison. Daniel Veillard

Evaluation des performances de programmes parallèles haut niveau à base de squelettes

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

1- Principe général : 2- Architecture réseau pour ToIP : 3 Bilan. Qu est-ce que la VoIP/ToIP? IPBX/Protocoles utilisés

Guide d installation JMap 5.0

Open Source Job Scheduler. Installation(s)

Catalogue des stages Ercom 2013

Point sur la virtualisation

Présentation Utilisation. VirtualBox. Firas Kraïem. 22 février 2014

Integrated Modular Avionic

Parallels Transporter Lisez-moi

Sans trop entrer dans les détails, la démarche IO Model consiste à : Pour cela, Microsoft découpe la maîtrise de l infrastructure en quatre niveaux :

Une tasse de café fumante est

Equilibrage de charge (Load

Cloud Computing : Utiliser Stratos comme PaaS privé sur un cloud Eucalyptus

Exigences système Edition & Imprimeries de labeur

Logiciels libres et Open source

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

NFP111 Systèmes et Applications Réparties

Extension d'un outil de trace pour système embarqué temps réel. Encadrants : Laurent Pautet, Jérôme Hugues

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

Détection d'intrusions en environnement haute performance

Linux pour l embarqué Introduction

Concept de machine virtuelle

Atelier : Virtualisation avec Xen

Linux 1: Présentation

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

CH.3 SYSTÈMES D'EXPLOITATION

IBM Tivoli Monitoring, version 6.1

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

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

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

en version SAN ou NAS

Windows serveur 2008 installer hyperv

Sync-A-BOX et Duplicati. est une plateforme Cloud pour stocker et gérer vos données en ligne.

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

Présentation de l outil d administration de réseau Nagios

ASR3. Chap. 1 Notion de système d'exploitation

Rebol, un langage «différent»

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

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

Introduction aux Systèmes et aux Réseaux

Hyper-V v2 : une évolution majeure des services de virtualisation

Nouvelles stratégies et technologies de sauvegarde

Bienvenue sur Lab-Windows Il n'y a de vents favorables que pour ceux qui ont un cap

Projet Pticrem. Retour sur Webconference et Tableau Blanc Interactif. Journées Mathrice Orléans octobre 2012 : Projet Pticrem par Richard FERRERE 1

PROFIL EXPERIENCE ARCHITECTE LINUX, OPEN SOURCE, COORDINATEUR SÉCURITÉ EMEA

Bénéficiez d'un large choix d'applications novatrices et éprouvées basées sur les systèmes d'exploitation i5/os, Linux, AIX 5L et Microsoft Windows.

au Centre Inter-établissement pour les Services Réseaux Cédric GALLO

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

Virtualisation Vserver et OpenVz en entreprise

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

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

DSI - Pôle Infrastructures

La plate forme VMware vsphere 4 utilise la puissance de la virtualisation pour transformer les infrastructures de Datacenters en Cloud Computing.

Network musical jammin

Transcription:

Les OS embarqués B. Miramond UCP

Les OS embarqués VxWorks : noyau RT le plus utilisé dans l'industrie. Supporte TCP/IP et une API socket. Coût des licences important. QNX : noyau RT de type UNIX. Intègre une interface graphique proche de X Window (Photon). QNX peut être utilisé gratuitement pour des applications non commerciales. Très faible empreinte mémoire. uc/os : destiné à des micro-contrôleurs type Motorola 68HC11. Support de TCP/IP. Gratuit pour l'enseignement. RTEMS : Real-Time Operating System for Multiprocessor Systems. Gratuit porté pour de nombreuses architectures Windows CE : Victime d'une réputation de fiabilité approximative... Lynx OS : Système RT conforme à la norme POSIX. Nucleus : Noyau RT avec support de TCP/IP, une interface graphique, un navigateur web et serveur HTTP. Livré avec les sources, pas de royalties à payer pour la redistribution. ecos : Noyau RT (Embeddable Configurable OS), faible empreinte mémoire, basé sur Linux et la chaîne de cross-compilation GNU (POSIX). Support de TCP/IP. Licence proche GPL. Largement utilisé (automobile, imprimante, lecteur MP3). Support des processeurs x86, PowerPC, SH3 Hitachi ou StrongARM.

Les OS embarqués

Quelle différence entre OS et RTOS? Le système d exploitation temps-réel (RTOS) est : Déterministe : la durée de chaque service est déterminée et ne change pas avec les données. Prévisible : la durée de chaque service est connue. Léger : le code de l OS prend peu de mémoire (empreinte mémoire) Dédiée, modulable : il fournit des services dédiées selon les besoins de l application Miramond Benoît - UCP 4

Le succès de Linux en embarqué Libre (gratuit) Open-source Différentes distributions Stable Communauté importante (aide web) Compilateur C associé gratuit (gcc) Miramond Benoît - UCP 5

Structure d un système linux A p p e l s d i r e c t s N o y a u ( k e r n e l ) : r é a l i s e l e s f o n c t i o n s e s s e n t i e l l e s ( g e s t i o n d e s t â c h e s e t m é m o i r e ), i n t e r f a c e e n t r e l e m a t é r i e l e t l e s a p p l i c a t i o n s ( p i l o t e s ). M a t é r i e l l i b c : b i b l i o t h è q u e p r i n c i p a l e c o n t e n a n t l e s f o n c t i o n s d e b a s e u t i l i s é e s p a r l e s a p p l i c a t i f s. N o y a u B i b l i o t h è q u e C ( G l i b C ) A p p l i c a t i o n s ( o u c o m m a n d e s ) : l i v r é e s a v e c l e s y s t è m e o u d é v e l o p p é e s p o u r d e s b e s o i n s s p é c i f i q u e s. A p p l i c a t i o n s

Les Distribution Linux embarquées Montavista Linux BlueCat Linux uclinux RTLinux RTAI ( ELDK PeeWee Linux...

Distributions TR Montavista LynuxWorks Redhat Ubuntu Comment rendre linux temps réel? Patch RT (CONFIG_PREEMPT_RT) de Linux : Scheduler Interruption préemptibles (thread-irq) Horloge système plus précise (nanosec)... sur une certaine plate-forme, le temps de latence de réponse à une interruption ne sera jamais supérieur à 20µs, par exemple http://rt.wiki.kernel.org/index.php/main_page Micro-noyau Xenomai Windriver RT Linux (RTAI) Miramond Benoît - UCP 8

Fonctionnalités TR du patch config_preempt_rt Miramond Benoît - UCP 9

Exemple du micro-noyau Xenomai Miramond Benoît - UCP 10

Ordonnanceur 2.6 Grande nouveauté : Ordonnanceur en O(1) 2 types de process Process non-temps Réel : chaque process se voit attribuer une valeur, appelée nice value, qui détermine la priorité et le temps d exécution ce temps d exécution est appelé timeslice et correspond au temps maximum qu un process peut rester en exécution avant de «laisser la place» à un autre. La valeur de nice est comprise entre 20 et 19 inclus, 0 étant la valeur par défaut et 20 correspond à la priorité la plus haute et au timeslice le plus élevé Process Temps Réel : chaque process se voit attribuer une priorité comprise entre 1 et 99 inclus les process non- Temps Réel se voient attribuer également cette priorité mais avec la valeur 0. 99 étant la priorité la plus élevée, on comprend alors pourquoi un process Temps Réel sera toujours prioritaire devant un autre non-temps Réel. Pour les process Temps Réel, il existe deux politiques d ordonnancement : SCHED_FIFO : le process Temps Réel restera en exécution tant qu aucun autre process Temps Réel de priorité supérieure strictement ne sera prêt ou tant qu il ne passera pas à l état bloqué. S il est préempté, il reste tout de même en tête de la liste d exécution des process de même priorité que lui. C est donc lui qui sera de nouveau exécuté quand le process de priorité supérieure aura terminé son exécution. Idem s il change de priorité, il sera placé en tête de la liste des process exécutables ayant cette priorité. Il ne passe en fin de cette liste que par appel explicite de sa part à une certaine fonction. SCHED_RR : la politique est identique en tout point à la précédente, exception faite à la présence d un timeslice pour les process de même priorité. Ainsi, s il n y a pas de process de plus forte priorité pour préempter celui en cours d exécution, au bout d un certain temps ce dernier sera placé en queue de la liste des process de même priorité. Miramond Benoît - UCP 11

Trois tests pour les linux RT Latence d'une tâche de forte priorité Cyclic_test Inversion de priorité (cf. cours suivant) classic_pi Préemption et latence de l'ordonnanceur preempt_test Temps d'accès noyau... http://www.kernel.org/pub/linux/kernel/people/tglx/rt-tests/rt-tests-0.49.ta Miramond Benoît - UCP 12

Le bench cyclic_test sur un système non Temps Réel : $>./cyclictest a t n p99 T:0( 3431) P:99 I:1000 C: 100000 Min: 5 Act: 10 Avg: 14 Max: 39242 T: 1 ( 3432) P:98 I:1500 C: 66934 Min: 4 Act: 10 Avg: 17 Max: 39661 Ici, le résultat du même test sur un système Temps Réel : $>./cyclictest a t n p99 T: 0 ( 3407) P:99 I:1000 C: 100000 Min: 7 Act:10 Avg: 10 Max: 18 T: 1 ( 3408) P:98 I:1500 C: 67043 Min: 7 Act: 8 Avg: 10 Max: 22 Miramond Benoît - UCP 13

Latence d'ordonnancement Histogrammme de répartition des apparitions en fonction de leur latence Miramond Benoît - UCP 14

Structuration d un OS embarqué HW/SW Multitasking MailBoxes Allocation statique, HW/SW scheduling Fifos Application Allocation dynamique, Changement dynamique de politique d ordo? API Semaphore Pas de MMU Migration de tâche Message Hw->Hw, Sw->Hw, Hw->Sw Intergiciel passing (Flexibilité, Distribution, virtualisation) Synchronisation Gestion de tâches Communication Gestion mémoire Monitoring Event Instrumenter l application mesures en temps API HAL réel à destination des scheduler Hw/Sw Changement Gestion des Timer (Utilisation temporel et de contexte IR spatial )

Autre exemple : uc/os-ii uc/os-ii (Micro Controller Operating System) 1992 (J. Labrosse) 40 processeurs différents (8-64 bits) Portable ROMable Scalable (modulaire) Préemptif Déterministe Pas de MMU Miramond Benoît - UCP 16

Etude de cas : fonctionnement de uc/os-ii Cas d un noyau temps réel

Etude de cas : fonctionnement de RTEMS Cas d un RTOS multiprocesseur