Télécharger la présentation
1
Système d’exploitation pour l’embarqué
Chapitre 04 Système d’exploitation pour l’embarqué
2
Système d’exploitation pour l’embarqué
Introduction des systèmes embarqués Qu’est ce qu’un système embarqué Caractéristiques principales Champs d’application Role des systèmes d’exploitation pour l’embarqué Les architectures des systèmes d’exploitation OS Monolithique OS Multicouches OS Micronoyau OS Machine virtuelle Les normes des systèmes d’exploitation
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.
4
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)
5
Champs d’application Calcul généraliste Contrôle de systèmes
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.
6
Système embarqué typique
7
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.
8
Système d’exploitation pour l’embarqué
Introduction des systèmes embarqués Qu’est ce qu’un système embarqué Caractéristiques principales Champs d’application Role des systèmes d’exploitation pour l’embarqué Les architectures des systèmes d’exploitation OS Monolithique OS Multicouches OS Micronoyau OS Machine virtuelle Les normes des systèmes d’exploitation
9
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
10
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é)
11
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
12
Système d’exploitation pour l’embarqué
Introduction des systèmes embarqués Qu’est ce qu’un système embarqué Caractéristiques principales Champs d’application Role des systèmes d’exploitation pour l’embarqué Les architectures des systèmes d’exploitation OS Monolithique OS Multicouches OS Micronoyau OS Machine virtuelle Les normes des systèmes d’exploitation
13
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)
14
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.
15
OS Monolithique (exemple: UNIX)
16
OS Monolithique : Avantages/inconvénients
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 !!!!!!!!
17
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.
18
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).
19
OS Multicouches: Avantages/inconvénients
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)
20
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.
21
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.
22
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.
23
OS Micronoyau: Avantages/inconvénients
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
24
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
25
OS Machine virtuelle 2 types de MV:
MV native MV invité Exemple de ce type d’OS: XEN, VMWare, IBM’ VM/370.
26
OS Machine virtuelle: Avantages/inconvénients
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é
27
Système d’exploitation pour l’embarqué
Introduction des systèmes embarqués Qu’est ce qu’un système embarqué Caractéristiques principales Champs d’application Role des systèmes d’exploitation pour l’embarqué Les architectures des systèmes d’exploitation OS Monolithique OS Multicouches OS Micronoyau OS Machine virtuelle Les normes des systèmes d’exploitation
28
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
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.