Système d’exploitation pour l’embarqué

Slides:



Advertisements
Présentations similaires
Semaine 5 Couche Liaison de données Cours préparé par Marc Aubé
Advertisements

Module Systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
PC / Traitement numérique / Contrôle Environnement logiciel
GEF 435 Principes des systèmes dexploitation Les systèmes dexploitation en général (Tanenbaum 1.1 et 1.3)
Master Professionnelle Sciences et Techniques 2 juillet
La Gestion de la Configuration
Introduction aux environnements répartis
Introduction : plasticité des IHMs – Page 1 IHM et plasticité 1 IHM et Différents supports Différents utilisateurs Différents environnements Problématique.
Types des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)
SOMMAIRE Historique Les différentes techniques Intérets Etat actuel
Présentation de l’Architecture Windows NT
PLAN du COURS Introduction Structure des Systèmes Informatiques
Vue d'ensemble Présentation multimédia : Rôle du routage dans l'infrastructure réseau Activation et configuration du service Routage et accès distant Configuration.
Vue d'ensemble Implémentation de la sécurité IPSec
Introduction aux Systèmes d’Exploitation
Architecture de réseaux
A abstraction b assembleur c nombre binaire d bit e cache f UC g puce h compilateur i famille dordinateurs j contrôle k chemin de données l défaut m dé
Introduction Qu'est ce que le temps-réel ?
Plan de formation Chapitre 1 : Présentation de SAP
simulateur de réseau de machines UML connectées par WiFi mode ad-hoc
NFE 107 : Urbanisation et architecture des systèmes d'information
Système de stockage réseaux NAS - SAN
Bases et Principes de la Virtualisation. Votre infrastructure informatique ressemble-t-elle à cela ? 2.
Logiciel de Mobile Device Management
Active Directory Windows 2003 Server
FrontCall - 4C Les Centres de Contacts Virtuels
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Plateforme de gestion de données de capteurs
Présenté par :BENLAZREG med amine HADJ slimane anis
Etude des Technologies du Web services
Introduction au Génie Logiciel
Introduction to Information Systems
Module 1 : Préparation de l'administration d'un serveur
le profil UML en temps réel MARTE
Architecture Réseau Modèle OSI et TCP.
Les Systèmes d’Exploitation
par Bernard Maudhuit Anne-Marie Droit
Réalisée par :Samira RAHALI
Serveurs Partagés Oracle
Applications Chapitre B17 et C18
ECF 5 PRESENTATION « BULLE APPLICATIVE »
Gestion des bases de données
5.1 URDL22005 Systèmes dexploitation Threads Vue dEnsemble Modèles de Multithreading Problèmes des Threads Pthreads Threads Windows XP Threads Linux Threads.
Structures des Systèmes d’Exploitation
@SSR – Installation des applications eduscol.education.fr/securite - février 2007 © Ministère de l'Éducation nationale, de l'Enseignement supérieur et.
PLD GHome H4214 Piccolo Thomas Gu Lei Deville Romain Huang Yachen
Présentation de Windows 2000 Quest-ce que Windows 2000? 2 versions principales : 1.Windows 2000 Professionnel : Système dexploitation client (comme Windows.
1 IFT 6800 Atelier en Technologies dinformation Chapitre 1 Introduction.
IFT 6800 Atelier en Technologies d’information
Les systèmes multiplateformes
Vue d'ensemble Configuration d'adresses IP
‘‘Open Data base Connectivity‘‘
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
SYSTEMES D’EXPLOITATION
Supports de formation au SQ Unifié
AFPA CRETEIL 1-1 Windows NT Environnement Windows NT Chapitre 1.
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
La programmation système
L’Audio sur PC Comparaison Numérique vs Analogique Comparaison Audio sur PC vs Hardware dédié (DSP) Rmq: beaucoup de simulitudes avec la vidéo, mais débit.
Les systèmes d’exploitation
Les différents modèles d’architecture technique
NOTIONS DE BASE DES SYSTÈMES TEMPS-RÉEL Sujets Concepts de processus/thread concurrents –Windows NT et la programmation temps réel –Synchronisation et.
Couche réseau du modèle OSI
Architecture Client/Serveur
1.1: notions de bases de l’informatique
Introduction aux systèmes d’exploitation Partie 1: Introduction
Chapitre 12 Surveillance des ressources et des performances Module S41.
Transcription de la présentation:

Système d’exploitation pour l’embarqué Chapitre 04 Système d’exploitation pour l’embarqué

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

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.

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)

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.

Système embarqué typique

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.

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

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

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é)

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

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

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)

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.

OS Monolithique (exemple: UNIX)

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 !!!!!!!!

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.

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

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)

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.

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.

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.

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

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

OS Machine virtuelle 2 types de MV: MV native MV invité Exemple de ce type d’OS: XEN, VMWare, IBM’ VM/370.

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é

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

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