SlideShare une entreprise Scribd logo
1  sur  42
INTRODUCTION AUX SYSTÈMES
D’EXPLOITATION EMBARQUÉS
Imene Sghaier
Chapitre I
PLAN DU CHAPITRE
 Définition
 Champs d’application
 Propriétés des systèmes embarqués
 Contraintes des systèmes embarqués
 Architecture typique d’un système embarqué
 Software pour les SEMs
 Systèmes d’exploitation pour l’embarqué
 Processus, programmes et tâches
 Types et caractéristiques de tâche
 Threads
 Gestion de processus 2
DÉFINITION
 Un système embarqué est un système
électronique et informatique autonome qui est
dédié à une tâche particulière et qui est
contenue dans un système englobant. Il n’est
«généralement» pas programmable.
 Matériel et application intimement liés
 Logiciel enfoui … noyé dans le matériel … pas facilement
discernable comme dans un PC.
 Pas d’E/S standards
 Matériel et application intimement liés
3
I. Sghaier- Systèmes d'exploitation pour mobiles
CHAMPS D’APPLICATION: 4 CLASSES
 Calcul généraliste :
 Similaire aux applications bureau mais embarqué (assistant personnel,
téléphone portable, etc.)
 Consoles de jeux vidéo,
 Contrôle de systèmes : Contrôle de systèmes en Temps Réel
(Moteur d’automobile, processus chimique, processus nucléaire,
système de navigation aérien)
 Moteur, voiture, avion, processus chimique, nucléaire, navigation, etc.
 Traitement du signal : Calcul sur de grosses quantités de
données (Radar, Sonar, compression vidéo.
 Compression vidéo, radar, flux de données, etc.
 Réseaux et communications
 Transmission de données, commutation, routage, téléphone, Internet,
etc.
4
I. Sghaier- Systèmes d'exploitation pour mobiles
L’autonomie
 Les systèmes embarqués doivent en général être autonomes.
 Cette autonomie est nécessaire lorsque l'intervention humaine est
impossible, mais aussi lorsque la réaction humaine est trop lente ou
insuffisamment fiable.
 On peut dégager deux types d’autonomie :
− Autonomie de fonctionnement :
 remplir leur mission sans intervention humaine.
− Autonomie fonctionnelle (Totale ou Partielle) :
 exécution des services sans sollicitation à d’autres systèmes leur mission
sans intervention humaine.
− Autonomie énergetique :
 avoir sa propre source d’alimentation capable de tenir pendant de périodes
plus ou moins longues selon l’application.
5
PROPRIÉTÉS DES SEM
I. Sghaier- Systèmes d'exploitation pour mobiles
La spécificité
 Les systèmes embarqués sont dédiés pour une ou plusieurs
applications spécifiques pour lesquelles ils ont été crées.
 Ils doivent être dotés d’un ensemble de composants matériels et
logiciels spécialisés afin de réaliser ses taches requises.
La complexité / l’intelligence
 La cohabitation de l’électronique analogique, numérique, des
composantes RF (RadioFréquence) sans interférences est une tâche
difficile.
 La complexité d’un SEMs augmente avec le nombre de ses
composants et le nombre des ses applications spécifiques.
 Intelligence c’est le moyen d’améliorer la qualité du système
 Exemple : Auto-diagnostic, Auto-configuration, Adaptabilité,
Evaluation des risques… 6
PROPRIÉTÉS DES SEMS
I. Sghaier- Systèmes d'exploitation pour mobiles
La réactivité
 Un SEM doit interagir avec son environnement à une vitesse qui est
imposée par ce dernier. Ceci induit donc des impératifs de temps de
réponse. C'est pour cette raison que le Système embarqué est souvent
basé sur un système temps réel.
 L’autonomie fonctionnelle diminue avec la croissance de la réctivité
La Mobilité
 C’est la capacité ou la possibilité de déplacement du système.
 Le but est de concevoir des solutions mobiles qui facilitent le
déplacement du système.
 Un système mobile contient des outils qui peuvent faciliter certains
processus et répondre à des besoins réels.
 Exemple : la géolocalisation, … 7
PROPRIÉTÉS DES SEMS
I. Sghaier- Systèmes d'exploitation pour mobiles
L’exécution en temps réel
 L’exécution des opérations doivent être faites avec des échéances
(deadlines) précises au-delà de laquelles les résultats ne sont plus
valides.
 Exemple critique : le contrôleur de frein d’une voiture
 « Real-Time is not Real-Fast » : un système temps réel n’est pas
forcement un système rapide. Il existe des contraintes strictes qui ne
sont pas courtes (dépend de l’environnement).
 Il ne s’agit pas de rendre le résultat le plus rapidement possible, mais
simplement à temps.
 La puissance de calcul : condition nécessaire mais pas suffisante.
 Vitesse moyenne ou vitesse maximale n’est pas importante, le pire-
cas importe.
 Attention : Ne pas confondre temps réel et rapidité
 Temps réel veut dire prédictibilité et non rapidité
8
PROPRIÉTÉS DES SEMS
I. Sghaier- Systèmes d'exploitation pour mobiles
L’exécution en temps réel
 Temps réel dur (hard real-time) : le non respect des contraintes
temporelles entraîne la faute du système.
 Les échéances ne doivent jamais être dépassées.
 Exemple : contrôle de trafic aérien, système de conduite de missile, ...
 Temps réel souple (soft real-time) :
 le respect des échéances est important mais le non respect des échéance n’a pas de
graves conséquences.
 Le système doit répondre au mieux, le plus rapidement possible.
 Exemple : système d'acquisition de données pour affichage, …
 Temps réel ferme (firm real-time) : temps réel souple, mais si l’échéance
est dépassée le résultat obtenu n’a plus de valeur (il est donc écarté).
 Exemple : projection vidéo, …
9
PROPRIÉTÉS DES SEMS
I. Sghaier- Systèmes d'exploitation pour mobiles
L’exécution en temps réel
 La plupart des systèmes embarqués sont des systèmes "mutlirate"
ou "multipériode"
− Les données sont capturées à un certain rythme.
− Les traitement sur ces données ne sont pas forcément à la même
granularité.
− Les actionneurs fonctionnent à une fréquence différentes.
 Un STR est généralement géré par un système d'exploitation ou un
noyau Temps Réel (Real Time Operating System, RTOS).
 L’échelle de temps de l’échéance peut varier d’une application à
l’autre
− microseconde en contrôle radar
− milliseconde pour la synchronisation image/son (mpeg)
− minute pour les distributeurs automatiques 10
PROPRIÉTÉS DES SEMS
I. Sghaier- Systèmes d'exploitation pour mobiles
La robustesse, fiabilité et sécurité
 L'environnement est souvent hostile, pour des raisons physiques
(chocs, variations de température, impact d'ions lourds dans les
systèmes spatiaux, ...) ou humaines (malveillance). C'est pour cela que
la sécurité - au sens de résistance aux malveillances - et la fiabilité - au
sens de continuité de service - sont souvent rattachées à la
problématique des systèmes embarqués.
 Le système doit être opérationnel même lorsqu’un composant est
défaillant.
11
PROPRIÉTÉS DES SEMS
I. Sghaier- Systèmes d'exploitation pour mobiles
La consommation d’énergie
 Le Système Embarqué Mobile doit être à faible consommation car il
est alimenté par des batteries.
 Une consommation excessive augmente le prix du système car il
faut alors des batteries de plus forte capacité.
La flexibilité
 La flexibilité des SEMs se résume par la capacité de changer
quelques propiétés ou fonctionnalités du système.
 Ces changements peuvent être réalisés par :
− la reprogrammation de son calculateur
− la reconfiguration matérielle de ses circuits logiques
programmables (FPGA, CPLD, PLD)
− la réutilisation de ses composants virtuels(IP)
12
PROPRIÉTÉS DES SEMS
I. Sghaier- Systèmes d'exploitation pour mobiles
PROPRIÉTÉS DES SEMS
Le volume / le poids
 La miniaturisation des SEMs est un facteur important qui affecte
directement sa mobilité.
 Réduction de l’encombrement grâce à la miniaturisation des composants
électroniques.
 La miniaturisation du système nécessite plus de temps de conception et
réduit le délai de vie du système.
Le coût
 Beaucoup de systèmes embarqués sont fabriqués en grande série et doivent avoir
des prix extrêmement faibles pour faire face à la concurrence.
Optimisation
 Généralement logicielles de petite taille car plus c’est grand, plus il
y a de chance d’avoir des bugs. Ce sont des logiciels produits à
grande échelle, le moindre centime compte.
Tolérance aux fautes
13
I. Sghaier- Systèmes d'exploitation pour mobiles
CONTRAINTE DES SYSTÈMES EMBARQUÉS
 contrainte de taille mémoire: l’estimation la plus précise possible de
l’utilisation mémoire
 Contrainte de puissance de calcul: la sélection du processeur
d’après la charge de travail a effectuer et d’après la largeur des
registres.
 contrainte de temps de réponse: le système doit réagir vite
 contrainte de fiabilité
 contrainte de sécurité
 contrainte de ressource d'énergie/autonomie : : la conception
hardware (dispositifs utilisés) et software (complexités des
algorithmes implémentés) doit prendre en compte la
consommation.
 contrainte d'architecture matérielle
 contrainte de prix de développement (pur et licences)
 contrainte de prix de vente (amortissement et royalties)
 contraintes... juridiques ! 14
I. Sghaier- Systèmes d'exploitation pour mobiles
ARCHITECTURE TYPIQUE D’UN SEM
15
I. Sghaier- Systèmes d'exploitation pour mobiles
ARCHITECTURE TYPIQUE D’UN SEM
 Capteurs (interrupteurs, etc) couplés à des
convertisseurs analogique/numérique.
 Actionneurs (LED, etc) couplés à des convertisseurs
numérique/analogique.
 Calculateur (processeur embarqué et ses E/S).
 Possibilité d’avoir un/des FPGAset (Field programmable
gate array : circuits intégrés)/ou ASICs pour jouer le rôle
de coprocesseurs (accélération matérielle)
 Les SEMs utilisent généralement des microprocesseurs
à basse consommation d'énergie (niveau logique +5V) ou
des microcontrôleurs, dont la partie logicielle est en
partie ou entièrement programmée dans le matériel,
généralement en mémoire dans une mémoire morte
(ROM), EPROM, EEPROM, FLASH, etc. 16
I. Sghaier- Systèmes d'exploitation pour mobiles
SOFTWARE POUR LES SEMS
 Un Logiciel embarqué: programme/application utilisé dans un
équipement et complètement intégré dans ce dernier
 Les logiciels créés pour les systèmes embarqués sont appelés firmwares.
 Stockés généralement dans la mémoire en lecture seule ou dans la
mémoire flash
Système embarqué: Matériel(s) + logiciel(s) (+ OS)
 Ils fonctionnent le plus souvent avec des ressources matérielles limitées
 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, généralement construit
fromscratch.
Ex: Appareil photo numérique, téléphones portables, etc.
17
I. Sghaier- Systèmes d'exploitation pour mobiles
SYSTÈMES D’EXPLOITATION POUR L’EMBARQUÉ
Pourquoi un système d’exploitation?
 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): une machine virtuelle mieux adaptée
aux utilisateurs.
18
I. Sghaier- Systèmes d'exploitation pour mobiles
SYSTÈMES D’EXPLOITATION POUR L’EMBARQUÉ
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)
 Environnement de développement plus performant :
 Maximiser la capacité de traitement (débit) & utilisation des ressources
 Contrôle de processus sans contrainte temporelle avec un systèmes à
temps partagé
 Contrôle de processus avec contrainte temps réel avec garantie des
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é)
=> Garantie d’un temps de réponse bon au pire cas WCET 19
I. Sghaier- Systèmes d'exploitation pour mobiles
PROCESSUS, PROGRAMMES, TÂCHES
 Un programme est une séquence d’instructions
 Un processus/tâche est l’entité dynamique qui nait de l’exécution d’un
programme.
20
Programme A
Tâche A
Programme A
Registres
Pile de tâche A
Système
d’exploitation
I. Sghaier- Systèmes d'exploitation pour mobiles
TYPES ET CARACTÉRISTIQUES DE TÂCHE
 Caractéristiques: Une tâche est caractérisée
par ses contraintes temporelles :
 date de réveil
 durée d’exécution
 délai critique (échéance)
 Types de tâches
 Tâches périodiques: la tâche est activée à
intervalles réguliers avec une durée Ci et une période
Ti .
 Tâches sporadiques: la tâche s’active à un instant
quelconque, néanmoins il existe un temps minimal
entre deux activations
 Tâches apériodiques: on ne peut faire aucune
hypothèse sur l’instant d’activation des tâches
21
I. Sghaier- Systèmes d'exploitation pour mobiles
THREAD
 La tâche atomique ou processus légér (thread) est
le plus petit composant d'une tâche ou processus
 Chaque processus peut contenir un ou plusieurs
thread (applications dites multi-threadées)
s'exécutant en quasi-simultanéité ou
simultanément sur les processeurs multi-coeurs.
 Les «petits» OS pour l’embarqué utilisent
seulement les threads alors que les «grands» OS
peuvent utiliser plusieurs modèles
processus/threads.
22
I. Sghaier- Systèmes d'exploitation pour mobiles
THREAD
 A la différence des processus, les threads partagent les
mêmes ressources et le même espace mémoire.
 Les threads d’une même tâche partagent le même
répertoire de travail, fichiers, dispositifs d’E/S, données
globales, espace d’adressage, code du programme, etc. mais
ne partagent pas: le compteur de programme, la pile, les
informations d’ordonnancement, etc.
23
Programme A
Tâche A
Programme A
Registres
Pile de tâche A
Système
d’exploitation
Thread 1
Partie 1 du prog A
Registres de Thread 1
Thread 2
Partie 2 du prog A
Registres de Thread 1
Thread 3
Partie 3 du prog A
Registres de Thread 1
Mémoire
I. Sghaier- Systèmes d'exploitation pour mobiles
GESTION DES PROCESSUS
 Mono-tâche :CPU dédié à un et un seul processus
 Multi-tâche :les processus se partagent le ou les
CPUs
 Multi-tâches à temps-partagé ou préemptif: un
ordonnanceur gère les processus.E
 Exemples
 DOS-C: OS embarqué mono tâche.
 VxWorks(WindRiver vous devez payer pour l ’avoir
^_^): un unique type de thread/tâche: chaque
thread/tâche implémente un thread d’exécution
 Embedded Linux (TimeSys): 2 types de threads le
fork de Linux et les tâches périodiques
24
I. Sghaier- Systèmes d'exploitation pour mobiles
GESTION DES PROCESSUS
 L'objectif principal de la notion de multitâche est
d'exploiter le plus efficacement possible toutes les
ressources d'un système.
 Le système d'exploitation doit alors mettre en
oeuvre les règles de possession et de partage de
ressources.
 Il doit aussi définir les compétiteurs (processus)
et les contrôler tout au long de leurs exécutions.
Donc, les programmes susceptibles de partager
les différentes ressources doivent être
indépendantes les uns des autres. Une telle
approche caractérise le multitâche. 25
I. Sghaier- Systèmes d'exploitation pour mobiles
GESTION DES PROCESSUS
Création de processus
 Il existe 2 modèles utilisés lors de la création de
processus :
 fork/exec qui est dérivé du standard IEEE/ISO POSIX
1003.1
 spawn qui est dérivé du fork/exec
 La différence entre fork/exec et spawn réside dans la
façon dont la mémoire est allouée avec chacun des 2
modèles.
 Avec fork/exec l’espace mémoire du processus père est
hérité directement ou recopié (ex: code du programme et
variables) ce qui donne une certaine flexibilité avec le
changement des caractéristiques du processus.
 Avec spawn la création d’un nouvel processus consiste en
l’allocation d’un nouvel espace d’adressage donc pas de
duplication ce qui engendrera la destruction de l’espace
d’adressage du nouveau processus. 26
I. Sghaier- Systèmes d'exploitation pour mobiles
27
//Exemple avec fork
#include <sys/types.h>
#include <unistd.h>
void program(void)
{
processId child_processId;
/* dupliquer le prcessus: processus
fils*/
child_processId = fork();
if (child_processId == -1) {
ERROR;
}
else if (child_processId == 0) {
run_childProcess();
}
else {
run_parentParent();
}
/**Exemple avec Spawn en
utilisant la fonction execvp **/
#include <sys/types.h>
#include <unistd.h>
int program (char* program, char**
arg_list){
processed child_processId;
/* Duplication du processus*/
child_processId = fork ();
if (child_pId != 0)
/* This is the parent process */
return child_processId;
else{
/* Executer PROGRAM en le recherchant
dans
le PATH*/
execvp (program, arg_list);
/* execvp ne retourne qu’en cas d’erreur*/
fprintf (stderr, “Error in execvpn”);
abort (); } }
I. Sghaier- Systèmes d'exploitation pour mobiles
GESTION DES PROCESSUS
GESTION DES PROCESSUS
Suppression de processus
 Plusieurs raisons:
 Terminaison normale
 Problème matériel: manque de mémoire, etc.
 Problème logiciel: instruction invalide, etc.
 Suppression d’une tâche:
 L’OS libère toute la mémoire allouée: PCB,
variables, code, etc.
 Si parent supprimé:
 Les fils sont adoptés par un autre processus
 OU supprimés eux aussi avec libération des ressources
partagées.
28
I. Sghaier- Systèmes d'exploitation pour mobiles
GESTION DES PROCESSUS
Ordonnancement
 On appelle ordonnancement la stratégie
d'attribution des ressources aux processus qui en
font la demande.
 L’ordonnanceur est le composant de l’OS qui
détermine l’ordre et la durée des tâches qui
s’exécutent sur le CPU.
 L’ordonnancement dans un domaine embarqué
est un compromis entre la prédictibilité des
contraintes temps réel, la complexité
d’implémentation, et le délai d’exécution.
29
I. Sghaier- Systèmes d'exploitation pour mobiles
GESTION DES PROCESSUS
 Ordonnancement sur un processeur:
 Plusieurs tâches s’exécutent sur un seul processeur
 Un ordonnanceur, passe d’une tâche à l’autre pour simuler une
exécution concurrente.
 le temps est partagé entre les tâches de manière équitable
 Ordonnancement sur multi-processeur:
 Plusieurs tâches s’exécutent sur plusieurs processeurs, en
parallèle.
 Temps réel
 Dans les systèmes temps réel, les tâches doivent être exécutées
dans les délais impartis
 D’où les stratégies d’ordonnancement utilisées sont différentes
: préemption et commutation de contexte
 Dans un système temps réel préemptif: une tâche est
sélectionnée par l’ordonnanceur pour obtenir le processeur,
cette tâche peut interrompre une autre tâche moins prioritaire
 Objectifs
 Comment répartir le temps processeur(s) parmi un groupe de
tâches ?
 Peut-on garantir qu’aucune tâche ne ratera une échéance ? 30
I. Sghaier- Systèmes d'exploitation pour mobiles
GESTION DES PROCESSUS
 Différents critères d’ordonnancement peuvent être pris en
compte dans un système embarqué :
 Temps de réponse de l’ordonnanceur: temps pris par
l’ordonnanceur pour effectuer le changement de contexte pour une
tâche prête, ce temps inclut le temps d’attente de la tâche dans la
file des tâches prêtes. Il faut généralement effectuer une action
avant son échéance (freinage pour un système de contrôle de
vitesse) ou avec un temps moyen fixé (décompresseur video, 24
images par secondes environ).
 Le temps pris par le processus pour compléter son exécution
(Turnaround time).
 Débit ou rendement: nombre de tâches traitées par unité de temps
(robot de production dans une usine)
 Équité: quels sont les facteurs déterminant quant au choix de la
tâche à exécuter.
 Famine: un ordonnanceur doit (dans certains cas) assurer que ce
problème ne se produise pas… 
 Préemptivité et non préemptivité
 Si le système est en plus temps-réel ce qui est généralement le cas
pour les systèmes embarqués il faut guarantir la précision: il faut
effectuer une action à un moment précis dans le temps (horloge
électronique Horloge Temps-réel).
31
I. Sghaier- Systèmes d'exploitation pour mobiles
GESTION DES PROCESSUS
Ordonnancement et multitâche
 Plusieurs problèmes se posent lorsque plusieurs tâches s’exécutent
simultanément :
 accès au processeur
 accès concurrent à la mémoire
 accès aux périphériques
 Il faut prévoir un ordonnancement permettant au système de
remplir son rôle.
 Temps partagé et temps réel
 Dans les systèmes classiques, le temps est partagé entre les tâches de
manière équitable
 Dans les systèmes temps réel, les tâches doivent être exécutées
dans les délais impartis
 D’où les stratégies d’ordonnancement utilisées sont différentes : préemption
et commutation de contexte
 Dans un système temps réel préemptif: une tâche est sélectionnée
par l’ordonnanceur pour obtenir le processeur, cette tâche peut
interrompre une autre tâche moins prioritaire
 Un processus peut être composé de plusieurs threads: le passage
d’un thread à un autre est un changement de contexte rapide car les
threads partagent le contexte du processus auquel ils sont attachées
32
I. Sghaier- Systèmes d'exploitation pour mobiles
GESTION DES PROCESSUS
Quand ordonnancer?
 Un ordonnanceur intervient dans les cas
suivants:
 Fork (père ou fils)
 Fin d’un processus et en sélectionner un autre  Si
aucun, un processus spécial est exécuté (idle ou
Processus inactif du système)
 Quand un processus devient bloqué c’est-à-dire en
état d’attente d’une ressource non disponible ou d’une
condition
 Interruption E/S: quand une ressource attendue par
un processus bloqué redevient disponible
 Ordonnancement non préemptif
 Ordonnancement préemptif
33
I. Sghaier- Systèmes d'exploitation pour mobiles
GESTION DES PROCESSUS
Procédure d’ordonnancement
 Passer d’un processus à un autre est coûteux
1. Sauvegarde de l’état du processus
2. Chargement du nouvel état (registres,
mémoire…)
3. Démarrage du nouveau processus
4. Invalidation probable du cache mémoire
 Les processus alternent souvent des phases de
calcul avec des phases d’E/S 
34
I. Sghaier- Systèmes d'exploitation pour mobiles
GESTION DES PROCESSUS
Types d’ordonnanceurs
 Les systèmes ont des propriétés et des besoins
différents
 Il faut des ordonnanceurs adaptés
 Batch :
 Pas d’utilisateurs devant des écrans,
 ordonnanceurs non préemptifs ou presque… 
 Changements de processus réduits
 Ex: compilateur de langage, recherche dans des BDs, calcul
scientifique, etc.
 Interactif : Préemptif pour maintenir la réactivité
 Ex: éditeur de texte, shell, etc.
 Temps réel: préemptif
 Ex: Application vidéo, audio, collecte de données à partir d’un
capteur
 Hors ligne/ en ligne (statique/dynamique)
 Conduits par la notion de priorité (fixe ou dynamique)
35
I. Sghaier- Systèmes d'exploitation pour mobiles
GESTION DE PROCESSUS
Algorithmes d’ordonnancement
 Algorithmes statiques: table d’exécution ou
analyse « rate monotonic »:
 RM
 DM
 Algorithmes dynamiques:
 EDF
 LLF
36
I. Sghaier- Systèmes d'exploitation pour mobiles
GESTION DE PROCESSUS
Table d’exécution
 Avantages :
 l’ordre d’exécution des tâches est connu
 l’accès aux ressources est centralisé
 Inconvénients :
 les événements entrants ne peuvent pas être traités
rapidement
 les caractéristiques du système doivent toutes être
connues à l’avance
37
I. Sghaier- Systèmes d'exploitation pour mobiles
GESTION DE PROCESSUS
 Rate Monotonic: les tâches se voient assignées une priorité relative
au nombre de fois où elle s’exécutent (période).
 Etant donné un ensemble n de processus indépendants qui
s’exécutent périodiquement: Plus la périodicité d’une tâche est petite,
plus on lui accorde une priorité importante.
 Toutes les dates limites d’exécution de tâches seront satisfaites si:
Avec:
 i: tâche périodique
 n: nombre de tâches périodiques
 Ti: la période d’exécution de la tâche i
 Ei: le pire temps d’exécution de la tâche i pour une période.
 Ei/Ti : la fraction de temps CPU requise pour exécuter la tâche i.
 Avantages:
 Très simple à implémenter
 Prédictible
 Priorités statiques
 Inconvénients:
 Modèle restrictif
 Utilisation du processeur sous-optimale
 le rythme d’arrivée des tâches et leur temps d’exécution doivent être bien
définis
38
I. Sghaier- Systèmes d'exploitation pour mobiles
GESTION DE PROCESSUS
 L’algorithme d’ordonnancement
Deadline Monotonic (DM)
 Algorithme d’ordonnancement préemptif à
priorités constantes affectées selon le principe
suivant : la tâche la plus prioritaire est celle
dont le délai critique est le plus faible (délai
maximum acceptable pour l’exécution d’une
tâche).
L’algorithme Least Laxity First
 le travail à qui il reste le moins de marge s’exécute
d’abord. Donc, il faut estimer le temps nécessaire
pour chaque travail
39
I. Sghaier- Systèmes d'exploitation pour mobiles
GESTION DE PROCESSUS
L’algorithme Earliest Deadline First:
 le travail dont le résultat est nécessaire le plus rapidement
est exécuté d’abord. À tout instant t, le travail le plus
prioritaire est celui dont l’échéance est la plus courte.
 Priorité dynamique contrairement à RM
 Trois paramètres à prendre en compte et connaître pour
donner des priorités aux processus:
 Fréquence: nombre de fois que le processus est exécuté
 Date limite: quand le processus doit avoir terminé son
exécution.
 Durée: temps d’exécution du processus.
 Avantages:
 Simple à implémenter
 Bonne utilisation du processeur
 Réactif pour les tâches à échéances courtes
 Inconvénients:
 Mauvais comportement en cas de surcharge (effet domino)
 Moins prédictible
 Une échéance manquée provoque une avalanche de retards
d’échéances
40
I. Sghaier- Systèmes d'exploitation pour mobiles
GESTION DE PROCESSUS
 Si l’ordonnanceur respecte ses dates limites:
 Il s’agit bien d’un système d’exploitation temps-réel (RTOS)
 Sinon, il est juste embarqué
 RTOS: Ordonnancement doit être préemptif (la tâche de
plus haute priorité doit préempter celle en cours
d’exécution)
 Exemple d’implémentation de RTOS:
 VxWorks: basé sur la priorité et tourniquet
 Jbed: EDF
 Linux (TimeSys): basé sur la priorité.
41
I. Sghaier- Systèmes d'exploitation pour mobiles
RÉFÉRENCES
 http://www.pace.ch/cours/cours2/procos1.htm
 http://syst.univ-
brest.fr/boukhobza/index.php/systemes-
dexploitation-pour-lembarque
 Dr. Mohamed Wassim youssef, Cours de
« Systèmes d’exploitation évolués »
42

Contenu connexe

Similaire à Chapitre 1 sem

Bq101 g formation-ibm-security-qradar-siem-foundations
Bq101 g formation-ibm-security-qradar-siem-foundationsBq101 g formation-ibm-security-qradar-siem-foundations
Bq101 g formation-ibm-security-qradar-siem-foundationsCERTyou Formation
 
Cwin16 - Paris - surveillance site_seveso_ analyse_prédictive
Cwin16 - Paris - surveillance site_seveso_ analyse_prédictiveCwin16 - Paris - surveillance site_seveso_ analyse_prédictive
Cwin16 - Paris - surveillance site_seveso_ analyse_prédictiveCapgemini
 
Les firewalls applicatifs HTTP / WAF
Les firewalls applicatifs HTTP / WAFLes firewalls applicatifs HTTP / WAF
Les firewalls applicatifs HTTP / WAFSylvain Maret
 
Administration_et_Supervision_RESEAU (1).pptx
Administration_et_Supervision_RESEAU (1).pptxAdministration_et_Supervision_RESEAU (1).pptx
Administration_et_Supervision_RESEAU (1).pptxJordaniMike
 
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésProgrammation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésECAM Brussels Engineering School
 
Mon Cloud - Présentation des services
Mon Cloud - Présentation des servicesMon Cloud - Présentation des services
Mon Cloud - Présentation des servicesGARRIDOJulien
 
Présentation A2com, Vitamin'C "Outils de gestion sur le cloud"
Présentation A2com, Vitamin'C "Outils de gestion sur le cloud"Présentation A2com, Vitamin'C "Outils de gestion sur le cloud"
Présentation A2com, Vitamin'C "Outils de gestion sur le cloud"AnDaolVras
 
COMSMART "Opérateur de services connectés"
COMSMART "Opérateur de services connectés" COMSMART "Opérateur de services connectés"
COMSMART "Opérateur de services connectés" Thierry Langé
 
Bq100 g formation-ibm-security-qradar-siem-7-1-foundations
Bq100 g formation-ibm-security-qradar-siem-7-1-foundationsBq100 g formation-ibm-security-qradar-siem-7-1-foundations
Bq100 g formation-ibm-security-qradar-siem-7-1-foundationsCERTyou Formation
 
ch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdfch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdfHoudaBezziane
 
Qu’est-ce qu’un poste de travail sécurisé ?
Qu’est-ce qu’un poste de travail sécurisé ? Qu’est-ce qu’un poste de travail sécurisé ?
Qu’est-ce qu’un poste de travail sécurisé ? Microsoft Technet France
 
siem-180906233759_compress.pdf
siem-180906233759_compress.pdfsiem-180906233759_compress.pdf
siem-180906233759_compress.pdfStyvePola1
 
Mécanismes de protection dans AUTOSAR OS
Mécanismes de protection dans AUTOSAR OSMécanismes de protection dans AUTOSAR OS
Mécanismes de protection dans AUTOSAR OSNicolas Navet
 
Cours sys 2PPT20.pdf
Cours sys 2PPT20.pdfCours sys 2PPT20.pdf
Cours sys 2PPT20.pdfC00LiMoUn
 

Similaire à Chapitre 1 sem (20)

Bq101 g formation-ibm-security-qradar-siem-foundations
Bq101 g formation-ibm-security-qradar-siem-foundationsBq101 g formation-ibm-security-qradar-siem-foundations
Bq101 g formation-ibm-security-qradar-siem-foundations
 
Cacti
CactiCacti
Cacti
 
Fiche produit
Fiche produitFiche produit
Fiche produit
 
Cwin16 - Paris - surveillance site_seveso_ analyse_prédictive
Cwin16 - Paris - surveillance site_seveso_ analyse_prédictiveCwin16 - Paris - surveillance site_seveso_ analyse_prédictive
Cwin16 - Paris - surveillance site_seveso_ analyse_prédictive
 
Les firewalls applicatifs HTTP / WAF
Les firewalls applicatifs HTTP / WAFLes firewalls applicatifs HTTP / WAF
Les firewalls applicatifs HTTP / WAF
 
Administration_et_Supervision_RESEAU (1).pptx
Administration_et_Supervision_RESEAU (1).pptxAdministration_et_Supervision_RESEAU (1).pptx
Administration_et_Supervision_RESEAU (1).pptx
 
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésProgrammation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
 
Mon Cloud - Présentation des services
Mon Cloud - Présentation des servicesMon Cloud - Présentation des services
Mon Cloud - Présentation des services
 
Présentation A2com, Vitamin'C "Outils de gestion sur le cloud"
Présentation A2com, Vitamin'C "Outils de gestion sur le cloud"Présentation A2com, Vitamin'C "Outils de gestion sur le cloud"
Présentation A2com, Vitamin'C "Outils de gestion sur le cloud"
 
COMSMART "Opérateur de services connectés"
COMSMART "Opérateur de services connectés" COMSMART "Opérateur de services connectés"
COMSMART "Opérateur de services connectés"
 
Bq100 g formation-ibm-security-qradar-siem-7-1-foundations
Bq100 g formation-ibm-security-qradar-siem-7-1-foundationsBq100 g formation-ibm-security-qradar-siem-7-1-foundations
Bq100 g formation-ibm-security-qradar-siem-7-1-foundations
 
Paris Chaos Engineering Meetup #6
Paris Chaos Engineering Meetup #6Paris Chaos Engineering Meetup #6
Paris Chaos Engineering Meetup #6
 
Présentation1.pptx
Présentation1.pptxPrésentation1.pptx
Présentation1.pptx
 
ch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdfch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdf
 
Qu’est-ce qu’un poste de travail sécurisé ?
Qu’est-ce qu’un poste de travail sécurisé ? Qu’est-ce qu’un poste de travail sécurisé ?
Qu’est-ce qu’un poste de travail sécurisé ?
 
siem-180906233759_compress.pdf
siem-180906233759_compress.pdfsiem-180906233759_compress.pdf
siem-180906233759_compress.pdf
 
Siem OSSIM
Siem OSSIMSiem OSSIM
Siem OSSIM
 
Mécanismes de protection dans AUTOSAR OS
Mécanismes de protection dans AUTOSAR OSMécanismes de protection dans AUTOSAR OS
Mécanismes de protection dans AUTOSAR OS
 
Cours sys 2PPT20.pdf
Cours sys 2PPT20.pdfCours sys 2PPT20.pdf
Cours sys 2PPT20.pdf
 
Grid computing
Grid computingGrid computing
Grid computing
 

Plus de Institut Supérieur des Etudes Technologiques de Nabeul (8)

Les sockets.pptx
Les sockets.pptxLes sockets.pptx
Les sockets.pptx
 
chap 0 POO.pptx
chap 0 POO.pptxchap 0 POO.pptx
chap 0 POO.pptx
 
Chapitre 5 android
Chapitre 5 androidChapitre 5 android
Chapitre 5 android
 
Chapitre 4 sem
Chapitre 4 semChapitre 4 sem
Chapitre 4 sem
 
Chapitre 3 sem
Chapitre 3 semChapitre 3 sem
Chapitre 3 sem
 
Chapitre 5 sem
Chapitre 5 semChapitre 5 sem
Chapitre 5 sem
 
Chapitre 6 sem
Chapitre 6 semChapitre 6 sem
Chapitre 6 sem
 
Chapitre 4 Linux
Chapitre 4 LinuxChapitre 4 Linux
Chapitre 4 Linux
 

Dernier

JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).FatimaEzzahra753100
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...maach1
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSKennel
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 

Dernier (11)

JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 

Chapitre 1 sem

  • 1. INTRODUCTION AUX SYSTÈMES D’EXPLOITATION EMBARQUÉS Imene Sghaier Chapitre I
  • 2. PLAN DU CHAPITRE  Définition  Champs d’application  Propriétés des systèmes embarqués  Contraintes des systèmes embarqués  Architecture typique d’un système embarqué  Software pour les SEMs  Systèmes d’exploitation pour l’embarqué  Processus, programmes et tâches  Types et caractéristiques de tâche  Threads  Gestion de processus 2
  • 3. DÉFINITION  Un système embarqué est un système électronique et informatique autonome qui est dédié à une tâche particulière et qui est contenue dans un système englobant. Il n’est «généralement» pas programmable.  Matériel et application intimement liés  Logiciel enfoui … noyé dans le matériel … pas facilement discernable comme dans un PC.  Pas d’E/S standards  Matériel et application intimement liés 3 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 4. CHAMPS D’APPLICATION: 4 CLASSES  Calcul généraliste :  Similaire aux applications bureau mais embarqué (assistant personnel, téléphone portable, etc.)  Consoles de jeux vidéo,  Contrôle de systèmes : Contrôle de systèmes en Temps Réel (Moteur d’automobile, processus chimique, processus nucléaire, système de navigation aérien)  Moteur, voiture, avion, processus chimique, nucléaire, navigation, etc.  Traitement du signal : Calcul sur de grosses quantités de données (Radar, Sonar, compression vidéo.  Compression vidéo, radar, flux de données, etc.  Réseaux et communications  Transmission de données, commutation, routage, téléphone, Internet, etc. 4 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 5. L’autonomie  Les systèmes embarqués doivent en général être autonomes.  Cette autonomie est nécessaire lorsque l'intervention humaine est impossible, mais aussi lorsque la réaction humaine est trop lente ou insuffisamment fiable.  On peut dégager deux types d’autonomie : − Autonomie de fonctionnement :  remplir leur mission sans intervention humaine. − Autonomie fonctionnelle (Totale ou Partielle) :  exécution des services sans sollicitation à d’autres systèmes leur mission sans intervention humaine. − Autonomie énergetique :  avoir sa propre source d’alimentation capable de tenir pendant de périodes plus ou moins longues selon l’application. 5 PROPRIÉTÉS DES SEM I. Sghaier- Systèmes d'exploitation pour mobiles
  • 6. La spécificité  Les systèmes embarqués sont dédiés pour une ou plusieurs applications spécifiques pour lesquelles ils ont été crées.  Ils doivent être dotés d’un ensemble de composants matériels et logiciels spécialisés afin de réaliser ses taches requises. La complexité / l’intelligence  La cohabitation de l’électronique analogique, numérique, des composantes RF (RadioFréquence) sans interférences est une tâche difficile.  La complexité d’un SEMs augmente avec le nombre de ses composants et le nombre des ses applications spécifiques.  Intelligence c’est le moyen d’améliorer la qualité du système  Exemple : Auto-diagnostic, Auto-configuration, Adaptabilité, Evaluation des risques… 6 PROPRIÉTÉS DES SEMS I. Sghaier- Systèmes d'exploitation pour mobiles
  • 7. La réactivité  Un SEM doit interagir avec son environnement à une vitesse qui est imposée par ce dernier. Ceci induit donc des impératifs de temps de réponse. C'est pour cette raison que le Système embarqué est souvent basé sur un système temps réel.  L’autonomie fonctionnelle diminue avec la croissance de la réctivité La Mobilité  C’est la capacité ou la possibilité de déplacement du système.  Le but est de concevoir des solutions mobiles qui facilitent le déplacement du système.  Un système mobile contient des outils qui peuvent faciliter certains processus et répondre à des besoins réels.  Exemple : la géolocalisation, … 7 PROPRIÉTÉS DES SEMS I. Sghaier- Systèmes d'exploitation pour mobiles
  • 8. L’exécution en temps réel  L’exécution des opérations doivent être faites avec des échéances (deadlines) précises au-delà de laquelles les résultats ne sont plus valides.  Exemple critique : le contrôleur de frein d’une voiture  « Real-Time is not Real-Fast » : un système temps réel n’est pas forcement un système rapide. Il existe des contraintes strictes qui ne sont pas courtes (dépend de l’environnement).  Il ne s’agit pas de rendre le résultat le plus rapidement possible, mais simplement à temps.  La puissance de calcul : condition nécessaire mais pas suffisante.  Vitesse moyenne ou vitesse maximale n’est pas importante, le pire- cas importe.  Attention : Ne pas confondre temps réel et rapidité  Temps réel veut dire prédictibilité et non rapidité 8 PROPRIÉTÉS DES SEMS I. Sghaier- Systèmes d'exploitation pour mobiles
  • 9. L’exécution en temps réel  Temps réel dur (hard real-time) : le non respect des contraintes temporelles entraîne la faute du système.  Les échéances ne doivent jamais être dépassées.  Exemple : contrôle de trafic aérien, système de conduite de missile, ...  Temps réel souple (soft real-time) :  le respect des échéances est important mais le non respect des échéance n’a pas de graves conséquences.  Le système doit répondre au mieux, le plus rapidement possible.  Exemple : système d'acquisition de données pour affichage, …  Temps réel ferme (firm real-time) : temps réel souple, mais si l’échéance est dépassée le résultat obtenu n’a plus de valeur (il est donc écarté).  Exemple : projection vidéo, … 9 PROPRIÉTÉS DES SEMS I. Sghaier- Systèmes d'exploitation pour mobiles
  • 10. L’exécution en temps réel  La plupart des systèmes embarqués sont des systèmes "mutlirate" ou "multipériode" − Les données sont capturées à un certain rythme. − Les traitement sur ces données ne sont pas forcément à la même granularité. − Les actionneurs fonctionnent à une fréquence différentes.  Un STR est généralement géré par un système d'exploitation ou un noyau Temps Réel (Real Time Operating System, RTOS).  L’échelle de temps de l’échéance peut varier d’une application à l’autre − microseconde en contrôle radar − milliseconde pour la synchronisation image/son (mpeg) − minute pour les distributeurs automatiques 10 PROPRIÉTÉS DES SEMS I. Sghaier- Systèmes d'exploitation pour mobiles
  • 11. La robustesse, fiabilité et sécurité  L'environnement est souvent hostile, pour des raisons physiques (chocs, variations de température, impact d'ions lourds dans les systèmes spatiaux, ...) ou humaines (malveillance). C'est pour cela que la sécurité - au sens de résistance aux malveillances - et la fiabilité - au sens de continuité de service - sont souvent rattachées à la problématique des systèmes embarqués.  Le système doit être opérationnel même lorsqu’un composant est défaillant. 11 PROPRIÉTÉS DES SEMS I. Sghaier- Systèmes d'exploitation pour mobiles
  • 12. La consommation d’énergie  Le Système Embarqué Mobile doit être à faible consommation car il est alimenté par des batteries.  Une consommation excessive augmente le prix du système car il faut alors des batteries de plus forte capacité. La flexibilité  La flexibilité des SEMs se résume par la capacité de changer quelques propiétés ou fonctionnalités du système.  Ces changements peuvent être réalisés par : − la reprogrammation de son calculateur − la reconfiguration matérielle de ses circuits logiques programmables (FPGA, CPLD, PLD) − la réutilisation de ses composants virtuels(IP) 12 PROPRIÉTÉS DES SEMS I. Sghaier- Systèmes d'exploitation pour mobiles
  • 13. PROPRIÉTÉS DES SEMS Le volume / le poids  La miniaturisation des SEMs est un facteur important qui affecte directement sa mobilité.  Réduction de l’encombrement grâce à la miniaturisation des composants électroniques.  La miniaturisation du système nécessite plus de temps de conception et réduit le délai de vie du système. Le coût  Beaucoup de systèmes embarqués sont fabriqués en grande série et doivent avoir des prix extrêmement faibles pour faire face à la concurrence. Optimisation  Généralement logicielles de petite taille car plus c’est grand, plus il y a de chance d’avoir des bugs. Ce sont des logiciels produits à grande échelle, le moindre centime compte. Tolérance aux fautes 13 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 14. CONTRAINTE DES SYSTÈMES EMBARQUÉS  contrainte de taille mémoire: l’estimation la plus précise possible de l’utilisation mémoire  Contrainte de puissance de calcul: la sélection du processeur d’après la charge de travail a effectuer et d’après la largeur des registres.  contrainte de temps de réponse: le système doit réagir vite  contrainte de fiabilité  contrainte de sécurité  contrainte de ressource d'énergie/autonomie : : la conception hardware (dispositifs utilisés) et software (complexités des algorithmes implémentés) doit prendre en compte la consommation.  contrainte d'architecture matérielle  contrainte de prix de développement (pur et licences)  contrainte de prix de vente (amortissement et royalties)  contraintes... juridiques ! 14 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 15. ARCHITECTURE TYPIQUE D’UN SEM 15 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 16. ARCHITECTURE TYPIQUE D’UN SEM  Capteurs (interrupteurs, etc) couplés à des convertisseurs analogique/numérique.  Actionneurs (LED, etc) couplés à des convertisseurs numérique/analogique.  Calculateur (processeur embarqué et ses E/S).  Possibilité d’avoir un/des FPGAset (Field programmable gate array : circuits intégrés)/ou ASICs pour jouer le rôle de coprocesseurs (accélération matérielle)  Les SEMs utilisent généralement des microprocesseurs à basse consommation d'énergie (niveau logique +5V) ou des microcontrôleurs, dont la partie logicielle est en partie ou entièrement programmée dans le matériel, généralement en mémoire dans une mémoire morte (ROM), EPROM, EEPROM, FLASH, etc. 16 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 17. SOFTWARE POUR LES SEMS  Un Logiciel embarqué: programme/application utilisé dans un équipement et complètement intégré dans ce dernier  Les logiciels créés pour les systèmes embarqués sont appelés firmwares.  Stockés généralement dans la mémoire en lecture seule ou dans la mémoire flash Système embarqué: Matériel(s) + logiciel(s) (+ OS)  Ils fonctionnent le plus souvent avec des ressources matérielles limitées  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, généralement construit fromscratch. Ex: Appareil photo numérique, téléphones portables, etc. 17 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 18. SYSTÈMES D’EXPLOITATION POUR L’EMBARQUÉ Pourquoi un système d’exploitation?  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): une machine virtuelle mieux adaptée aux utilisateurs. 18 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 19. SYSTÈMES D’EXPLOITATION POUR L’EMBARQUÉ 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)  Environnement de développement plus performant :  Maximiser la capacité de traitement (débit) & utilisation des ressources  Contrôle de processus sans contrainte temporelle avec un systèmes à temps partagé  Contrôle de processus avec contrainte temps réel avec garantie des 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é) => Garantie d’un temps de réponse bon au pire cas WCET 19 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 20. PROCESSUS, PROGRAMMES, TÂCHES  Un programme est une séquence d’instructions  Un processus/tâche est l’entité dynamique qui nait de l’exécution d’un programme. 20 Programme A Tâche A Programme A Registres Pile de tâche A Système d’exploitation I. Sghaier- Systèmes d'exploitation pour mobiles
  • 21. TYPES ET CARACTÉRISTIQUES DE TÂCHE  Caractéristiques: Une tâche est caractérisée par ses contraintes temporelles :  date de réveil  durée d’exécution  délai critique (échéance)  Types de tâches  Tâches périodiques: la tâche est activée à intervalles réguliers avec une durée Ci et une période Ti .  Tâches sporadiques: la tâche s’active à un instant quelconque, néanmoins il existe un temps minimal entre deux activations  Tâches apériodiques: on ne peut faire aucune hypothèse sur l’instant d’activation des tâches 21 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 22. THREAD  La tâche atomique ou processus légér (thread) est le plus petit composant d'une tâche ou processus  Chaque processus peut contenir un ou plusieurs thread (applications dites multi-threadées) s'exécutant en quasi-simultanéité ou simultanément sur les processeurs multi-coeurs.  Les «petits» OS pour l’embarqué utilisent seulement les threads alors que les «grands» OS peuvent utiliser plusieurs modèles processus/threads. 22 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 23. THREAD  A la différence des processus, les threads partagent les mêmes ressources et le même espace mémoire.  Les threads d’une même tâche partagent le même répertoire de travail, fichiers, dispositifs d’E/S, données globales, espace d’adressage, code du programme, etc. mais ne partagent pas: le compteur de programme, la pile, les informations d’ordonnancement, etc. 23 Programme A Tâche A Programme A Registres Pile de tâche A Système d’exploitation Thread 1 Partie 1 du prog A Registres de Thread 1 Thread 2 Partie 2 du prog A Registres de Thread 1 Thread 3 Partie 3 du prog A Registres de Thread 1 Mémoire I. Sghaier- Systèmes d'exploitation pour mobiles
  • 24. GESTION DES PROCESSUS  Mono-tâche :CPU dédié à un et un seul processus  Multi-tâche :les processus se partagent le ou les CPUs  Multi-tâches à temps-partagé ou préemptif: un ordonnanceur gère les processus.E  Exemples  DOS-C: OS embarqué mono tâche.  VxWorks(WindRiver vous devez payer pour l ’avoir ^_^): un unique type de thread/tâche: chaque thread/tâche implémente un thread d’exécution  Embedded Linux (TimeSys): 2 types de threads le fork de Linux et les tâches périodiques 24 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 25. GESTION DES PROCESSUS  L'objectif principal de la notion de multitâche est d'exploiter le plus efficacement possible toutes les ressources d'un système.  Le système d'exploitation doit alors mettre en oeuvre les règles de possession et de partage de ressources.  Il doit aussi définir les compétiteurs (processus) et les contrôler tout au long de leurs exécutions. Donc, les programmes susceptibles de partager les différentes ressources doivent être indépendantes les uns des autres. Une telle approche caractérise le multitâche. 25 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 26. GESTION DES PROCESSUS Création de processus  Il existe 2 modèles utilisés lors de la création de processus :  fork/exec qui est dérivé du standard IEEE/ISO POSIX 1003.1  spawn qui est dérivé du fork/exec  La différence entre fork/exec et spawn réside dans la façon dont la mémoire est allouée avec chacun des 2 modèles.  Avec fork/exec l’espace mémoire du processus père est hérité directement ou recopié (ex: code du programme et variables) ce qui donne une certaine flexibilité avec le changement des caractéristiques du processus.  Avec spawn la création d’un nouvel processus consiste en l’allocation d’un nouvel espace d’adressage donc pas de duplication ce qui engendrera la destruction de l’espace d’adressage du nouveau processus. 26 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 27. 27 //Exemple avec fork #include <sys/types.h> #include <unistd.h> void program(void) { processId child_processId; /* dupliquer le prcessus: processus fils*/ child_processId = fork(); if (child_processId == -1) { ERROR; } else if (child_processId == 0) { run_childProcess(); } else { run_parentParent(); } /**Exemple avec Spawn en utilisant la fonction execvp **/ #include <sys/types.h> #include <unistd.h> int program (char* program, char** arg_list){ processed child_processId; /* Duplication du processus*/ child_processId = fork (); if (child_pId != 0) /* This is the parent process */ return child_processId; else{ /* Executer PROGRAM en le recherchant dans le PATH*/ execvp (program, arg_list); /* execvp ne retourne qu’en cas d’erreur*/ fprintf (stderr, “Error in execvpn”); abort (); } } I. Sghaier- Systèmes d'exploitation pour mobiles GESTION DES PROCESSUS
  • 28. GESTION DES PROCESSUS Suppression de processus  Plusieurs raisons:  Terminaison normale  Problème matériel: manque de mémoire, etc.  Problème logiciel: instruction invalide, etc.  Suppression d’une tâche:  L’OS libère toute la mémoire allouée: PCB, variables, code, etc.  Si parent supprimé:  Les fils sont adoptés par un autre processus  OU supprimés eux aussi avec libération des ressources partagées. 28 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 29. GESTION DES PROCESSUS Ordonnancement  On appelle ordonnancement la stratégie d'attribution des ressources aux processus qui en font la demande.  L’ordonnanceur est le composant de l’OS qui détermine l’ordre et la durée des tâches qui s’exécutent sur le CPU.  L’ordonnancement dans un domaine embarqué est un compromis entre la prédictibilité des contraintes temps réel, la complexité d’implémentation, et le délai d’exécution. 29 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 30. GESTION DES PROCESSUS  Ordonnancement sur un processeur:  Plusieurs tâches s’exécutent sur un seul processeur  Un ordonnanceur, passe d’une tâche à l’autre pour simuler une exécution concurrente.  le temps est partagé entre les tâches de manière équitable  Ordonnancement sur multi-processeur:  Plusieurs tâches s’exécutent sur plusieurs processeurs, en parallèle.  Temps réel  Dans les systèmes temps réel, les tâches doivent être exécutées dans les délais impartis  D’où les stratégies d’ordonnancement utilisées sont différentes : préemption et commutation de contexte  Dans un système temps réel préemptif: une tâche est sélectionnée par l’ordonnanceur pour obtenir le processeur, cette tâche peut interrompre une autre tâche moins prioritaire  Objectifs  Comment répartir le temps processeur(s) parmi un groupe de tâches ?  Peut-on garantir qu’aucune tâche ne ratera une échéance ? 30 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 31. GESTION DES PROCESSUS  Différents critères d’ordonnancement peuvent être pris en compte dans un système embarqué :  Temps de réponse de l’ordonnanceur: temps pris par l’ordonnanceur pour effectuer le changement de contexte pour une tâche prête, ce temps inclut le temps d’attente de la tâche dans la file des tâches prêtes. Il faut généralement effectuer une action avant son échéance (freinage pour un système de contrôle de vitesse) ou avec un temps moyen fixé (décompresseur video, 24 images par secondes environ).  Le temps pris par le processus pour compléter son exécution (Turnaround time).  Débit ou rendement: nombre de tâches traitées par unité de temps (robot de production dans une usine)  Équité: quels sont les facteurs déterminant quant au choix de la tâche à exécuter.  Famine: un ordonnanceur doit (dans certains cas) assurer que ce problème ne se produise pas…  Préemptivité et non préemptivité  Si le système est en plus temps-réel ce qui est généralement le cas pour les systèmes embarqués il faut guarantir la précision: il faut effectuer une action à un moment précis dans le temps (horloge électronique Horloge Temps-réel). 31 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 32. GESTION DES PROCESSUS Ordonnancement et multitâche  Plusieurs problèmes se posent lorsque plusieurs tâches s’exécutent simultanément :  accès au processeur  accès concurrent à la mémoire  accès aux périphériques  Il faut prévoir un ordonnancement permettant au système de remplir son rôle.  Temps partagé et temps réel  Dans les systèmes classiques, le temps est partagé entre les tâches de manière équitable  Dans les systèmes temps réel, les tâches doivent être exécutées dans les délais impartis  D’où les stratégies d’ordonnancement utilisées sont différentes : préemption et commutation de contexte  Dans un système temps réel préemptif: une tâche est sélectionnée par l’ordonnanceur pour obtenir le processeur, cette tâche peut interrompre une autre tâche moins prioritaire  Un processus peut être composé de plusieurs threads: le passage d’un thread à un autre est un changement de contexte rapide car les threads partagent le contexte du processus auquel ils sont attachées 32 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 33. GESTION DES PROCESSUS Quand ordonnancer?  Un ordonnanceur intervient dans les cas suivants:  Fork (père ou fils)  Fin d’un processus et en sélectionner un autre Si aucun, un processus spécial est exécuté (idle ou Processus inactif du système)  Quand un processus devient bloqué c’est-à-dire en état d’attente d’une ressource non disponible ou d’une condition  Interruption E/S: quand une ressource attendue par un processus bloqué redevient disponible  Ordonnancement non préemptif  Ordonnancement préemptif 33 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 34. GESTION DES PROCESSUS Procédure d’ordonnancement  Passer d’un processus à un autre est coûteux 1. Sauvegarde de l’état du processus 2. Chargement du nouvel état (registres, mémoire…) 3. Démarrage du nouveau processus 4. Invalidation probable du cache mémoire  Les processus alternent souvent des phases de calcul avec des phases d’E/S 34 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 35. GESTION DES PROCESSUS Types d’ordonnanceurs  Les systèmes ont des propriétés et des besoins différents  Il faut des ordonnanceurs adaptés  Batch :  Pas d’utilisateurs devant des écrans,  ordonnanceurs non préemptifs ou presque…  Changements de processus réduits  Ex: compilateur de langage, recherche dans des BDs, calcul scientifique, etc.  Interactif : Préemptif pour maintenir la réactivité  Ex: éditeur de texte, shell, etc.  Temps réel: préemptif  Ex: Application vidéo, audio, collecte de données à partir d’un capteur  Hors ligne/ en ligne (statique/dynamique)  Conduits par la notion de priorité (fixe ou dynamique) 35 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 36. GESTION DE PROCESSUS Algorithmes d’ordonnancement  Algorithmes statiques: table d’exécution ou analyse « rate monotonic »:  RM  DM  Algorithmes dynamiques:  EDF  LLF 36 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 37. GESTION DE PROCESSUS Table d’exécution  Avantages :  l’ordre d’exécution des tâches est connu  l’accès aux ressources est centralisé  Inconvénients :  les événements entrants ne peuvent pas être traités rapidement  les caractéristiques du système doivent toutes être connues à l’avance 37 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 38. GESTION DE PROCESSUS  Rate Monotonic: les tâches se voient assignées une priorité relative au nombre de fois où elle s’exécutent (période).  Etant donné un ensemble n de processus indépendants qui s’exécutent périodiquement: Plus la périodicité d’une tâche est petite, plus on lui accorde une priorité importante.  Toutes les dates limites d’exécution de tâches seront satisfaites si: Avec:  i: tâche périodique  n: nombre de tâches périodiques  Ti: la période d’exécution de la tâche i  Ei: le pire temps d’exécution de la tâche i pour une période.  Ei/Ti : la fraction de temps CPU requise pour exécuter la tâche i.  Avantages:  Très simple à implémenter  Prédictible  Priorités statiques  Inconvénients:  Modèle restrictif  Utilisation du processeur sous-optimale  le rythme d’arrivée des tâches et leur temps d’exécution doivent être bien définis 38 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 39. GESTION DE PROCESSUS  L’algorithme d’ordonnancement Deadline Monotonic (DM)  Algorithme d’ordonnancement préemptif à priorités constantes affectées selon le principe suivant : la tâche la plus prioritaire est celle dont le délai critique est le plus faible (délai maximum acceptable pour l’exécution d’une tâche). L’algorithme Least Laxity First  le travail à qui il reste le moins de marge s’exécute d’abord. Donc, il faut estimer le temps nécessaire pour chaque travail 39 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 40. GESTION DE PROCESSUS L’algorithme Earliest Deadline First:  le travail dont le résultat est nécessaire le plus rapidement est exécuté d’abord. À tout instant t, le travail le plus prioritaire est celui dont l’échéance est la plus courte.  Priorité dynamique contrairement à RM  Trois paramètres à prendre en compte et connaître pour donner des priorités aux processus:  Fréquence: nombre de fois que le processus est exécuté  Date limite: quand le processus doit avoir terminé son exécution.  Durée: temps d’exécution du processus.  Avantages:  Simple à implémenter  Bonne utilisation du processeur  Réactif pour les tâches à échéances courtes  Inconvénients:  Mauvais comportement en cas de surcharge (effet domino)  Moins prédictible  Une échéance manquée provoque une avalanche de retards d’échéances 40 I. Sghaier- Systèmes d'exploitation pour mobiles
  • 41. GESTION DE PROCESSUS  Si l’ordonnanceur respecte ses dates limites:  Il s’agit bien d’un système d’exploitation temps-réel (RTOS)  Sinon, il est juste embarqué  RTOS: Ordonnancement doit être préemptif (la tâche de plus haute priorité doit préempter celle en cours d’exécution)  Exemple d’implémentation de RTOS:  VxWorks: basé sur la priorité et tourniquet  Jbed: EDF  Linux (TimeSys): basé sur la priorité. 41 I. Sghaier- Systèmes d'exploitation pour mobiles