Institut Supérieur d’Informatique
Systèmes d’exploitation EvoluésM1 - ISI
1ére année Mastere en Informatique
Système d’exploitation pour l’embarqué
Chapitre 04
2
Systèmes d’exploitation évolués M1- ISI 2010
Système d’exploitation pour l’embarqué
1. Introduction des systèmes embarqués1. Qu’est ce qu’un système embarqué2. Caractéristiques principales3. Champs d’application
2. Role des systèmes d’exploitation pour l’embarqué3. Les architectures des systèmes d’exploitation
1. OS Monolithique 2. OS Multicouches3. OS Micronoyau 4. OS Machine virtuelle
4. Les normes des systèmes d’exploitation
2
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
3
Qu’est ce qu’un système embarqué?
C’est un système électronique et informatique autonome qui est dédié à une tâche particulière et contenue dans un système englobant. Il n’est «généralement» pas programmable. Pas d’E/S standards Matériel et application intimement liés Logiciel enfoui … noyé dans le matériel … pas
facilement discernable comme dans un PC.
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
Caractéristiques principales d’un système embarqué
Système principalement numérique Met généralement en oeuvre un processeur Exécute une application logicielle dédiée précise
(non pas une application scientifique ou grand public)
Il n’a pas réellement de clavier standard et l’affichage est limité
Ce ne sont pas des PC, mais des architectures similaires (x86)
4
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
Champs d’application
Calcul généraliste Similaire aux applications bureau mais embarqué (assistant
personnel, téléphone portable, etc.) Consoles de jeux vidéo, set‐top box
Contrôle de systèmes Moteur, voiture, avion, processus chimique, nucléaire,
navigation, etc.
Traitement du signal Compression vidéo, radar, flux de données, etc.
Réseaux et communications Transmission de données, commutation, routage, téléphone,
Internet, etc.
5
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
Système embarqué typique6
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
Logiciel/matériel embarqué
Logiciel embarqué: Programme/application utilisé dans un équipement et
complètement intégré dans ce dernier.
Système embarqué: Matériel(s) + logiciel(s) (+ OS). On peut trouver 2 types de systèmes embarqués: Systèmes embarqués destinés à l’utilisateur (high‐end):
généralement une version dégradée d’un OS existant (ex: Linux). Ex: routeurs, PDA, etc.
Systèmes embarqués profondément enfouis: peu de fonctions, très petite empreinte mémoire: Appareil photo numérique, téléphones portables, etc.
7
8
Systèmes d’exploitation évolués M1- ISI 2010
Système d’exploitation pour l’embarqué
1. Introduction des systèmes embarqués1. Qu’est ce qu’un système embarqué2. Caractéristiques principales3. Champs d’application
2. Role des systèmes d’exploitation pour l’embarqué
3. Les architectures des systèmes d’exploitation1. OS Monolithique 2. OS Multicouches3. OS Micronoyau 4. OS Machine virtuelle
4. Les normes des systèmes d’exploitation
8
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
Role des systèmes d’exploitation pour l’embarqué (1/2) Les systèmes d’exploitation permettent:
De gérer les ressources matérielles en assurant leurs partages entre les différents utilisateurs.
De présenter une interface homogène et générique(en abstrayant la complexité matérielle) mieux adaptée aux utilisateurs.
Pourquoi un système d’exploitation pour l’embarqué ? Affranchir le développeur de logiciel embarqué de bien connaître le
matériel gain en temps de développement Les applications doivent avoir un accès aux services de l’OS via
des APIs (réutilisabilité du code, interopérabilité, portabilité, maintenance aisée)
Possibilité de bénéficier des mêmes avancées technologiques que les applications classiques (TCP/IP, HTTP, etc.)
Environnement de développement plus performant
9
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
Role des systèmes d’exploitation pour l’embarqué (2/2)
Contrôle de processus sans (ou à faible) contrainte temporelle Systèmes à temps partagé Garantir le partage équitable du temps et des ressources
Contrôle de processus avec contrainte temps réel Systèmes temps réel (Garantir les temps de réponse) Systèmes à contraintes souples/molles: systèmes acceptant
des variations minimes de temps de réponse (systèmes multimédias)
Systèmes à contraintes dures: gestion stricte du temps pour conserver l’intégrité du système (déterminisme logique et temporel et fiabilité)
10
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
Qu’est ce que l’Open source?
Libre redistribution: en tant que composant d’une distribution pas de droit d’auteur.
Inclusion du code source: code source doit être accessible sans frais supplémentaires.
Intégrité du code source de l’utilisateur Pas de discrimination entre les personnes ou les
groupes Pas de discrimination entre les domaines
d’applications. Distribution systématique de la licence La licence ne doit pas être spécifique à un produit La licence ne doit pas contaminer d’autres
logiciels
11
12
Systèmes d’exploitation évolués M1- ISI 2010
Système d’exploitation pour l’embarqué
1. Introduction des systèmes embarqués1. Qu’est ce qu’un système embarqué2. Caractéristiques principales3. Champs d’application
2. Role des systèmes d’exploitation pour l’embarqué3. Les architectures des systèmes
d’exploitation1. OS Monolithique 2. OS Multicouches3. OS Micronoyau 4. OS Machine virtuelle
4. Les normes des systèmes d’exploitation
12
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
OS Monolithique
Simple/ne consomme pas beaucoup de ressources Convient aux «petits systèmes» ou quelques
portions de systèmes temps réel complexe OS entièrement en mode privilégié L’application utilise un appel système pour
accéder aux services de l’OS procédure exécutée Gestion de l’interruption : optimisée car pas de
changement de contexte entier (prioritaire car l’ordonnanceur est désactivé)
Impossible de mettre à jour l’application «à chaud» (remplacement + reboot)
13
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
OS Monolithique
Structure de base: Un programme principal qui invoque la procédure du
service Un ensemble de procédures de services qui gèrent les
appels système Un ensemble de procédure utilitaires auxiliaires des
précédentes Vielles version d’UNIX (FreeBSD, SOLARIS), DOS.
14
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
OS Monolithique (exemple: UNIX)15
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
OS Monolithique : Avantages/inconvénients Avantages
De meilleures performances Vite développé … Dernières versions: chargement dynamique (et donc
sélectif) des module Inconvénients
Extension difficile: Code non modulaire Très complexe Code massif Nid de bugs Peu fiable (un bug redémarrage) Premières versions à chargement statique (400
périphériques supportés) 400 périphériques chargés au démarrage !!!!!!!!
16
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
OS Multicouches
OS organisé en hiérarchie de couches. Chacune construite sur la base des services offerts par la couche inférieure.
Interface et gestion des interruptions similaire à celle des systèmes monolithiques.
Meilleure structure et modularité maintenance plus aisée.
Configuration plus fine (modularité) meilleure utilisation de la mémoire + performance.
17
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
Structure de l’OS Multicouches
Couche 0: Fournit le service de multiprogrammation. Dans la première couche, c’était un ensemble de processus séquentiels indépendant.
Couche 1: Allocation de mémoire dans la mémoire principale. Au dessus, les processus ignoraient les emplacements mémoire.
Couche 2: Gestion de la communication entre processus et la console opérateur. Dans la couche précédente, chaque processus avait sa propre console opérateur.
Couche 3: Périph d’E/S et mise en mémoire tampon des flots d’E/S. Au dessus, les processus travaillaient sur une couche abstraite.
Couche 4: Contient les programmes utilisateur, les notions de processus, mémoire, console leurs sont abstraites.
Couche 5: Le processus opérateur (control global du système).
18
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
OS Multicouches: Avantages/inconvénients Avantages
Facile à étendre (plus structuré) Modèle simple
Inconvénients Traverser les différentes couches peut être couteux La multiplication des couches peut ne pas être
nécessaire. Performances moins bonnes (monolithique)
19
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
OS Micronoyau
Déplace plusieurs fonctions de l’OS vers des «processus serveur» s’exécutant en mode utilisateur Réduction au maximum de la taille du code privilégié.
Gérer les communications entre applications et serveurs pour: Renforcer la politique de sécurité Permettre l’exécution de fonctions système (accès aux registres
d’E/S, etc.). Fiabilité augmentée: si un processus serveur «crash», le
système continue à fonctionner et il est possible de relancer ce service sans redémarrer.
Modèle facilement étendu à des systèmes distribués. Gestion de l’interruption: commutation de tâche moins
efficace que le modèle monolithique.
20
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
OS Micronoyau
Le noyau gèrent les communications entre clients et serveurs.
Certains services sont impossible à exécuter en mode utilisateur (pilotes de périphériques d’E/S): Garder certains processus serveur critiques en mode noyau Garder une partie du mécanisme en mode noyau en laissant le
choix des politiques aux serveurs en mode utilisateur.
21
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
OS Micronoyau
Si le client communique avec le serveur par envoi de message, il lui importe peu que le serveur soit local ou distant, le résultat est le même d’où l’adaptabilité aux systèmes distribués
Exemples: Windows NT, Mach, Chorus, QNX.
22
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
OS Micronoyau: Avantages/inconvénients Avantages
Extensibilité Minimise le code du noyau Sécurité: Un serveur crash, il sera le seul à redémarrer Fiabilité: Code plus petit moins de bugs
Inconvénients Souvent tenté de rajouter des choses dans le noyau (vu
qu’il est petit…) Mauvaises performances Requière beaucoup de prudence lors de la conception
23
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
OS Machine virtuelle
L’OS doit remplir 2 fonctions: Multi programmation moniteur de machine virtuelle▪ Mode privilégié (exécution)▪ Plusieurs processeurs virtuels
Services système▪ Un ou plusieurs OS «invités» qui s’exécutent sur les processeurs
virtuels et fournissent les services système. Le moniteur de machine virtuelle (hyperviseur)
intercepte les instructions privilégiées envoyées par l’OS invité, les vérifie (politique de sécurité) et les exécute sur l’OS invité.
Les interruptions sont aussi interceptées par le moniteur de la MV
24
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
OS Machine virtuelle
2 types de MV: MV native MV invité
Exemple de ce type d’OS: XEN, VMWare, IBM’ VM/370.
25
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
OS Machine virtuelle: Avantages/inconvénients Avantages
Permet l’exécution de plusieurs OS sur une seule machine
Permet une bonne portabilité des applications Une protection complète (code exécute en mode
privilégié complètement géré) Bon environnement de développement (dev système en
mode utilisateur…)
Inconvénients Gros problème de performances (plusieurs couches) Manque de flexibilité
26
27
Systèmes d’exploitation évolués M1- ISI 2010
Système d’exploitation pour l’embarqué
1. Introduction des systèmes embarqués1. Qu’est ce qu’un système embarqué2. Caractéristiques principales3. Champs d’application
2. Role des systèmes d’exploitation pour l’embarqué3. Les architectures des systèmes d’exploitation
1. OS Monolithique 2. OS Multicouches3. OS Micronoyau 4. OS Machine virtuelle
4. Les normes des systèmes d’exploitation
27
Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010
Les normes des systèmes d’exploitation POSIX (Portable Operating System Interface): standard
pour les appels de fonction (API) pour les OS UNIX‐like. 4 profils pour le temps réel:
PSE51: profile de système temps réel minimaliste : 1 seul processus POSIX pouvant exécuter plusieurs threads POSIX pouvant utiliser le passage de messages POSIX pour communiquer avec d’autres systèmes
PSE52: profile de système de contrôleur temps réel: PSE51+support pour un système de fichiers + E/S asynchrones
PSE53: profile de système temps réel dédié: PSE51+support multiprocessus(+MMU)
PSE54: profile de système temps réel polyvalent: englobe les autres profils. Il consiste de POSIX.1, POSIX.1b, POSIX.1c, et/ou POSIX.5b
28