(Microsoft PowerPoint - Syst\350mes d\222exploitation pour l

publicité
22/09/2015
Cours 1 - Master 2 LSE
Jalil Boukhobza
Université de Bretagne Occidentale – Lab-STICC
J.Boukhobza - Systèmes d'exploitation embarqués
1
Ce cours …
Contient 24 séances de 2h:
Des cours (5 JB et 3 FS)
Des TPs (plus de 10)
Pas de TDs … (quelques fois pendant le TP)
Evaluation:
Contrôle continu (1/2)
Projet TP? + comptes rendus de TP
Examen final (1/2)
J.Boukhobza - Systèmes d'exploitation embarqués
2
1
22/09/2015
Contenu du cours
Cours:
[JB] Revoir la plupart les fonctionnalités des OS :
Plus en détails
En se focalisant sur ce qui est spécifique à l’embarqué
Un focus sur les pb d’ordonnancement
[FS] Ordonnancement temps réel multi cœur (suite M1)
2 étude de cas: [JB] Linux embarqué + [FS] RTEMS
TP
Etude approfondie du système Linux (une partie)
Compilation de noyau Linux pour l’embarqué
Manipulation des outils permettant de s’y faire
Manipulation d’RTEMS et outillage
« Projet? » autour de Linux embarqué
2 intervenants:
Frank Singhoff (ordo. Et RTEMS) et Jalil Boukhobza (le reste)
J.Boukhobza - Systèmes d'exploitation embarqués
3
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)
2 types de systèmes embarqués (UNE classification):
1.
2.
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, smartphone, etc.
Systèmes embarqués profondément enfouis: peu de fonctions, très petite empreinte
mémoire, généralement construit from scratch. Appareil photo numérique, téléphones
portables, etc.
Différences avec les « machines normales »:
Prix (production de masse)
Performance
Consommation (contrainte de consommation batterie)
Simplifier l’architecture
Réduire la vitesse d’horloge
Réduire l’utilisation mémoire
J.Boukhobza - Systèmes d'exploitation embarqués
4
2
22/09/2015
Système d’exploitation pour
l’embarqué ?
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
Time-to-market
J.Boukhobza - Systèmes d'exploitation embarqués
5
Système d’exploitation pour
l’embarqué (2) – le temps réel
"En informatique temps réel, le comportement correct d’un
système dépend, non seulement des résultats logiques des
traitements, mais aussi du temps auquel les résultats sont
produits" J. Stankovic.
Objectifs :
Déterminisme logique : les mêmes entrées appliquées au système
produisent les mêmes résultats.
Déterminisme temporel : respect des contraintes temporelles (ex:
échéance).
Fiabilité : le système répond à des contraintes de disponibilité
(fiabilité du logiciel et du matériel).
⇒ Système prédictible : on cherche à déterminer a priori si le
système va répondre aux exigences temporelles.
Un système temps réel n’est pas un système "qui va vite" mais un
système qui satisfait à des contraintes temporelles.
Source: tr F. Singhoff
J.Boukhobza - Systèmes d'exploitation embarqués
6
3
22/09/2015
Exemples de grandeur (I. Demeure
and C. Bonnet)
La milliseconde pour les systèmes radar.
La seconde pour les systèmes de visualisation
humain.
Quelques heures pour le contrôle de production
impliquant des réactions chimiques.
24 heures pour les prévisions météo.
Plusieurs mois ou années pour les systèmes de
navigation de sonde spatiale.
Source: tr F. Singhoff
J.Boukhobza - Systèmes d'exploitation embarqués
7
Système d’exploitation pour
l’embarqué (3)
Garantie de service = niveau de respect des contraintes.
Garanties déterministes, probabilistes ou “best effort”
1. Contrôle de processus sans (ou à faible) contrainte
temporelle systèmes à temps partagé
Garantir le partage équitable du temps et des ressources
2.
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 ou critiques: gestion stricte du
temps pour conserver l’intégrité du système (déterminisme logique
et temporel et fiabilité)
J.Boukhobza - Systèmes d'exploitation embarqués
8
4
22/09/2015
Les latences
Définition: différence entre le moment où une tâche
doit débuter (ou finir) et le moment ou elle débute
réellement.
Elles sont dues:
Aux propriétés temporelles des processeurs, des bus
mémoire et d’autres périphériques
Aux propriétés des politiques d’ordonnancement
À la préemptivité du noyau
À la charge du système
Au changement de contexte
J.Boukhobza - Systèmes d'exploitation embarqués
9
Les latences (2)
Tâches introduisant de « l’indeterminisme » temporel :
Accès disque: technologie mécanique, géométrie différente
d’un disque à l’autre.
Accès au réseau: retransmissions en cas d’erreur
Résolution basse du timer
Pilotes de périphérique non temps réel: utilisation d’attente
active et de période de sommeil peu précise.
Allocation et gestion de la mémoire: mémoire virtuelle /swap
non prédictible.
Système de fichiers virtuel /proc: tout ce qui se passe dans le
système création à la volée.
…
J.Boukhobza - Systèmes d'exploitation embarqués
10
5
22/09/2015
Récapitulatif
Critères
Temps partagé
Temps réel
But
Maximiser la capacité de
traitement (débit) &
utilisation des ressources
Etre prévisible (garantir
les temps de réponse)
Temps de réponse
Bon en moyenne
Bon dans le pire des cas /
moyenne non importante
Comportement à la
charge
Confortable à l’utilisateur
Stabilité et respect des
contraintes de temps
J.Boukhobza - Systèmes d'exploitation embarqués
11
Logiciel libre et systèmes
embarqués
Contrairement aux logiciels classiques, les (plusieurs) logiciels embarqués ont
(généralement) une durée de vie particulièrement longue important de
faire évoluer le logiciel indépendamment des aléas économiques.
Contraintes des systèmes propriétaires:
Sociétés de taille moyenne ont du mal à suivre l’évolution technologique.
Outils de développement sont moins accessibles, la compétence est donc plus chère à
obtenir.
Logiciels libres: plusieurs critères (disponibles sur www.opensource.org), les
principaux sont:
La disponibilité du code source
La possibilité de réaliser des travaux dérivés
La redistribution sans royalties
Contrainte majeure: SAV sur le long terme + obligation de redistribuer le code
J.Boukhobza - Systèmes d'exploitation embarqués
12
6
22/09/2015
Mais qu’est ce que l’Open source?
Libre redistribution: en tant que composant d’une distribution
pas de « droit d’auteur ».
2. Inclusion du code source: code source doit être accessible sans
frais supplémentaires.
3. Autorisation de travaux dérivés: modification et travaux
dérivés et leur redistribution
4. Intégrité du code source de l’utilisateur
5. Pas de discrimination entre les personnes ou les groupes
6. Pas de discrimination entre les domaines d’applications.
7. Distribution systématique de la licence
8. La licence ne doit pas être spécifique à un produit
9. La licence ne doit pas contaminer d’autres logiciels
10. La licence doit être technologiquement neutre
1.
J.Boukhobza - Systèmes d'exploitation embarqués
13
Logiciels libres
Initié par Richard M. Stallman (M.I.T) entre 1970-1980
Naissance de GNU (Gnu is Not Unix!) dont le but était de créer
un OS.
Mise en place d’un nouveau type de licence: GPL (General Public
Licence) principe de copyleft par opposition au copyright
LGPL (Lesser GPL): originellement Library GPL similaire au GPL
sur les points suivants:
Le copyleft: interdit de s’approprier le code distribué sous GPL ou
LGPL
Disponibilité des corrections
Différences avec le GPL: permet d’effectuer une édition des liens
de code propriétaire avec les bibliothèques permet la
disponibilité sous Linux d’applications propriétaires qui utilisent
des bibliothèques LGPL indispensables comme glibc
J.Boukhobza - Systèmes d'exploitation embarqués
14
7
22/09/2015
Tour d’horizon des OS embarqués
VxWorks et pSOS: (WindRiver)
Noyau temps réel le plus utilisé dans l’industrie
Inclut en natif un support TCP/IP
Coût important de la licence
Utilisation d’un environnement de compilation croisée Mars Reconnaissance Orbiter
QNX: (QNX)
Noyau temps réel de type UNIX (conforme à POSIX)
Gratuit pour des applications non commerciales
Développement direct sur la plateforme cible
Très faible empreinte mémoire
µC/OS (Micrium): (uCosII ou III)
Tablet BlackBerry
Environnement de très petite taille (microcontrolleur 68HC11)
Utilisable gratuitement pour l’enseignement/recherche.
Peut intégrer des protocoles standards
J.Boukhobza - Systèmes d'exploitation embarqués
15
Tour d’horizon des OS embarqués
(2)
Windows CE : (Microsoft)
Cantonné à l’équipement de nombreux assistants personnels
et téléphone (actuellement Nokia en remplacement de
Symbian OS)
Nucleus (Mentor Graphics)
Noyau temps réel; couche TCP/IP; interface graphique,
serveur http, etc. (open source)
eCos: embeddable Configurable OS (Cygnus puis RedHat)
Temps réel, bien adapté aux très faibles empreintes mémoire.
Disponibilité des protocoles standards (TCP/IP, etc.)
Basé sur Linux et la chaîne de compilation GNU
Conforme à la norme POSIX
J.Boukhobza - Systèmes d'exploitation embarqués
16
8
22/09/2015
Y a un « OS » ?
Jim Turley (2006)
Source: http://www.eetimes.com/discussion/other/4025674/Operating-systems-on-the-rise
Source:Richard Nass (2008) http://embedded.com/design/embedded/4007664/An-insider-sview-of-the-2008-Embedded-Market-Study
J.Boukhobza - Systèmes d'exploitation embarqués
17
Des chiffres, des chiffres …
Source:Richard Nass (2008) http://embedded.com/design/embedded/4007664/An-insider-sview-of-the-2008-Embedded-Market-Study
J.Boukhobza - Systèmes d'exploitation embarqués
18
9
22/09/2015
Tendance des (RT)OS … encore des
chiffres !!
Source: Operating systems on the rise, Jim Turley
Embedded Systems Design
(06/21/06, 09:00:00 AM EDT)
www.eetimes.com/discussion/other/4025674/Operating-systems-on-the-rise
J.Boukhobza - Systèmes d'exploitation embarqués
19
J.Boukhobza - Systèmes d'exploitation embarqués
20
10
22/09/2015
Rapport VDC Research 2009
21
J.Boukhobza - Systèmes d'exploitation embarqués
22
2013 EMBEDDED MARKET STUDY, UBM Tech. design west, US, 2013
J.Boukhobza - Systèmes d'exploitation embarqués
11
22/09/2015
J.Boukhobza - Systèmes d'exploitation embarqués
23
J.Boukhobza - Systèmes d'exploitation embarqués
24
12
22/09/2015
J.Boukhobza - Systèmes d'exploitation embarqués
25
J.Boukhobza - Systèmes d'exploitation embarqués
26
13
22/09/2015
J.Boukhobza - Systèmes d'exploitation embarqués
27
J.Boukhobza - Systèmes d'exploitation embarqués
28
14
22/09/2015
J.Boukhobza - Systèmes d'exploitation embarqués
29
J.Boukhobza - Systèmes d'exploitation embarqués
30
15
22/09/2015
J.Boukhobza - Systèmes d'exploitation embarqués
31
J.Boukhobza - Systèmes d'exploitation embarqués
32
16
22/09/2015
Les architectures des systèmes
d’exploitation
Plusieurs structures différentes:
OS Monolithique (plus ancien):
1.
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)
J.Boukhobza - Systèmes d'exploitation embarqués
33
OS Monolithiques
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édures utilitaires auxiliaires des précédentes
Vielles version d’UNIX (FreeBSD, SOLARIS), DOS.
Procédure
principale
Application
Procédures de
service
Procédures
auxiliaires
Hardware
J.Boukhobza - Systèmes d'exploitation embarqués
34
17
22/09/2015
OS Monolithique (exemple: UNIX)
Application
Application
Application
Application
API
Système de
fichiers
Gestion de
mémoire
Pilotes de
périphériques
Gestion de
processus
Protection
Démarrage et
initialisation
Support
réseau
noyau
Gestionnaire
d’interruptions
Couche d’abstraction matérielle (HAL)
Matériel
J.Boukhobza - Systèmes d'exploitation embarqués
35
OS Monolithiques:
avantages/inconvénients
De meilleures performances
Vite développé …
Évolution: chargement dynamique (et donc sélectif) des modules
Extension difficile
Code non modulaire
Très complexe
Code massif
Plus c’est gros, moins c’est performant !
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 !!
J.Boukhobza - Systèmes d'exploitation embarqués
36
18
22/09/2015
Les architectures des systèmes
d’exploitation (2)
2. 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.
J.Boukhobza - Systèmes d'exploitation embarqués
37
OS Multicouches:
avantages/inconvénients
Facile à étendre (plus structuré)
Modèle simple
Traverser les différentes couches peut être couteux
La multiplication des couches peut ne pas être
nécessaire.
Performances moins bonnes (vs monolithique)
J.Boukhobza - Systèmes d'exploitation embarqués
38
19
22/09/2015
Les architectures des systèmes
d’exploitation (3)
3.
OS Micronoyau
Déplace plusieurs fonctions de l’OS vers des « processus serveurs »
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 (efficacité?).
Gestion de l’interruption: commutation de tâche moins efficace
que le modèle monolithique.
J.Boukhobza - Systèmes d'exploitation embarqués
39
OS Micronoyau
Processus
client
Processus
client
Processus
serveur
Serveur de
terminaux
Serveur de
fichiers
Micronoyau
Serveur de
mémoire
Mode utilisateur
Mode noyau
Source: « Systèmes d’exploitation »,
Andrew Tanenbaum, 2ème édition,
Pearson Education 2001
Le noyau gèrent les communications entre clients et
serveurs.
Certains services sont impossibles à 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.
J.Boukhobza - Systèmes d'exploitation embarqués
40
20
22/09/2015
OS micronoyau
Machine 1
Machine 2
Machine 3
Machine 4
Machine n
Processus
client
Processus
client
Processus
serveur
Serveur de
terminaux
Serveur de
fichiers
noyau
noyau
noyau
noyau
noyau
Source: « Systèmes d’exploitation »,
Andrew Tanenbaum, 2ème édition,
Pearson Education 2001
Si le client communique avec le serveur par envoi de messages, il
lui importe peu que le serveur soit local ou distant, le résultat
(logique) est le même d’où l’adaptabilité aux systèmes distribués
Exemples: Windows NT, Mach, Chorus, QNX.
J.Boukhobza - Systèmes d'exploitation embarqués
41
OS Micronoyaux:
avantages/inconvénients
Extensibilité
Minimise le code du noyau
Sécurité:
Un serveur (mode utilisateur) crashe, il sera le seul à
redémarrer
Fiabilité
Micronoyau: code plus petit
moins de bugs
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
J.Boukhobza - Systèmes d'exploitation embarqués
42
21
22/09/2015
Les architectures des systèmes
d’exploitation (4)
4. 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 système invité
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
J.Boukhobza - Systèmes d'exploitation embarqués
43
OS machine virtuelle
2 types:
MV native
MV invité
Exemple de ce type d’OS: XEN, VMWare, IBM’ VM/370, QEMU, VirtualBox,
etc.
Application
Application
Application
Application
Système
d’exploitation
invité
Application
Système
d’exploitation
invité
Application
Application
Système
d’exploitation
invité
Application
Système
d’exploitation
invité
Moniteur de machine virtuelle
Moniteur de machine virtuelle
Système d’exploitation hôte
Couche matériel
Couche matériel
VM native
J.Boukhobza - Systèmes d'exploitation embarqués
VM invité
44
22
22/09/2015
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…)
Gros problème de performances (plusieurs couches)
Manque de flexibilité
J.Boukhobza - Systèmes d'exploitation embarqués
45
Les normes des systèmes
d’exploitation
POSIX (Portable Operating System Interface): standard pour les appels de
fonction (API) pour les OS UNIX-like. Il existe quelques spécifications pour
des primitives temps réels.
Plusieurs profils pour le temps réel:
1.
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 PS5x
2.
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
Hw: 1 seul processeur avec sa mémoire, pas de MMU et d’E/S standard.
3.
4.
Exemple: RTLinux se réclame du profil PSE51 alors qu’RTAI ne réclame rien du
tout.
J.Boukhobza - Systèmes d'exploitation embarqués
46
23
22/09/2015
Les profils POSIX
Source http://blogs.windriver.com/wilson/2006/10/posix_profiles.html
J.Boukhobza - Systèmes d'exploitation embarqués
47
Autres normes
UNIX98: normalisation de l’OS UNIX. Cette norme
incorpore plusieurs des normes de POSIX
EL/IX: API pour les systèmes embarqués. Se veut un sous
ensemble des normes POSIX et ANSI.
ITRON: norme japonaise pour les systèmes embarqués
OSEK: norme allemande pour une architecture ouverte
reliant les divers contrôleurs électroniques d’un véhicule.
RT Spec pour Java: spécification pour un runtime qui
édicte des prescriptions (ramasse miettes, certaines
politiques d’ordonnancement, etc.)
Ada95: ex: MarteOS, OpenRavenscar.
RT Corba: un ensemble de spécification temps réel
J.Boukhobza - Systèmes d'exploitation embarqués
48
24
22/09/2015
Services des systèmes
d’exploitation
Gestion des tâches
Ordonnancement
Gestion des interruptions
Communication inter-processus et synchronisation
Gestion de la mémoire
Entrées/Sorties et pilotes de périphériques
Systèmes de fichiers
Protocoles de communication ….
J.Boukhobza - Systèmes d'exploitation embarqués
49
Principes de base des tâches
Processus et Threads
Processus: l’activité qui exécute un programme incluant:
Le code source
Les données
L’état du processeur
Chaque processus a son propre espace d’adressage
Gestion de la création, suppression, changement de priorité,
contraintes temporelles, besoins mémoire, etc.
Concept de thread utilisateur, noyau, etc.
Les « petits » OS pour l’embarqué utilisent seulement les threads
(exécutifs) alors que les « gros » OS peuvent utiliser plusieurs
modèles processus/threads.
J.Boukhobza - Systèmes d'exploitation embarqués
50
25
22/09/2015
Processus et Thread (2)
Création de processus et de threads:
Statique: toutes les tâches sont connues à l’avance
n’est pas possible d’en créer pendant que le système
tourne.
il
Dynamique: appels système permettant de créer et
détruire des tâches à la volée:
Système plus flexible
Plus de complexité (allocation dynamique, gestion d’erreurs)
J.Boukhobza - Systèmes d'exploitation embarqués
51
Ordonnancement
Entité qui décide quelle tâche doit exécuter le processeur.
Compromis entre la prédictibilité temps réel, complexité
d’implémentation, et délai d’exécution.
RTOS (Real Time OS) supportent plusieurs politiques
d’ordonnancement, le choix incombe (parfois) au
programmeur:
FIFO avec priorité (statique)
Date limite la plus proche (priorité dynamique) performant
(uniprocesseur), couteux en temps de calcul
Serveur sporadique (perte de priorité en fonction du temps
processeur consommé).
…
J.Boukhobza - Systèmes d'exploitation embarqués
52
26
22/09/2015
Gestion d’interruption
Gestion de plusieurs périphériques: minuterie (timer),
moteurs, capteurs, disques, etc.
Requêtes asynchrones signalées par des interruptions
2 types d’interruptions:
Interruptions matérielles
Interruptions logicielles
Le code exécuté lors d’une interruption est dicté par le CPU
à l’aide du vecteur d’interruption. Mais l’OS intervient pour:
Connecter une adresse mémoire à chaque ligne d’interruption
Que faut-il faire après avoir servi une interruption
Gestion de l’aspect temps réel.
J.Boukhobza - Systèmes d'exploitation embarqués
53
Communication & Synchronisation
Inter Processus
Sémaphores: (Dijkstra 1965)
Synchro à travers 2 opérations atomiques P et V.
Bas niveau
Exclusion mutuelle assurée par le programmeur
Moniteurs (Hoare & Hansen 1974)
Mécanisme de haut niveau
Exclusion mutuelle assurée par le compilateur
Passage de messages
Transfert de données entre processus
Mise en tampon des messages
Rendez-vous
J.Boukhobza - Systèmes d'exploitation embarqués
54
27
22/09/2015
Gestion de la mémoire
Allocation: Allouer à chaque tâche la mémoire dont
elle a besoin
Mapping: Faire la correspondance entre la mémoire
physique et l’adressage utilisé par les tâches.
Protection: Etablir un ensemble de comportements à
adopter lorsqu’une tâche utilise de la mémoire non
allouée.
Implémentation des mécanismes permettant cette
gestion.
J.Boukhobza - Systèmes d'exploitation embarqués
55
Support Réseau
Le standard POSIX
socket:
Accès uniforme à n’importe quel mode/protocole de
communication en réseau (domaine de communication
+ type de socket)
Support réseau spécifique à un OS particulier:
Plus de fonctionnalités (création de filtre de msg /
spécification de l’ordre de lecture des msg)
Moins de réutilisabilité
J.Boukhobza - Systèmes d'exploitation embarqués
56
28
22/09/2015
Autres fonctions
Signaux temps réel et asynchrones: gestion des
événements imprévus (pannes sw ou hw) et
dégradation des performances en cas de surcharge du
processeur.
Horloge et minuterie (timer) haute résolution:
donner au processus temps réel une mesure juste du
temps écoulé
E/S asynchrones: découpler les processus temps réel
de l’imprévisibilité des périphériques d’E/S
J.Boukhobza - Systèmes d'exploitation embarqués
57
Compromis lors de la conception
Espace noyau/espace utilisateur/espace temps réel.
OS monolithique/multicouche ou micro-noyau
Noyau préemptible ou non
Scalabilité
Gestion de mémoire / mémoire partagée
Dédié / générique
J.Boukhobza - Systèmes d'exploitation embarqués
58
29
Téléchargement