Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système...

28
Institut Supérieur d’Informatique Systèmes d’exploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système d’exploitation pour l’embarqué Chapitre 04

Transcript of Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système...

Page 1: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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

Page 2: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué 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és

1. 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

Page 3: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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.

Page 4: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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

Page 5: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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

Page 6: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010

Système embarqué typique6

Page 7: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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

Page 8: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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

Page 9: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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

Page 10: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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

Page 11: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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

Page 12: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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’exploitation

1. OS Monolithique 2. OS Multicouches3. OS Micronoyau 4. OS Machine virtuelle

4. Les normes des systèmes d’exploitation

12

Page 13: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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

Page 14: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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

Page 15: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

Dr. Mohamed Wassim Youssef – Systèmes d’exploitation évolués M1- ISI 2010

OS Monolithique (exemple: UNIX)15

Page 16: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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

Page 17: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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

Page 18: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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

Page 19: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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

Page 20: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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

Page 21: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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

Page 22: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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

Page 23: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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

Page 24: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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

Page 25: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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

Page 26: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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

Page 27: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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

Page 28: Systèmes dexploitation Evolués M1 - ISI 1 ére année Mastere en Informatique Système dexploitation pour lembarqué Chapitre 04.

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