SlideShare una empresa de Scribd logo
1 de 52
Descargar para leer sin conexión
COURS
SYSTÈME EMBARQUÉ ET
SYSTÈME D’EXPLOITATION MOBILE
Ikbel Daly Briki
2016/2017
SYSTÈME EMBARQUÉ
 Un système embarqué: c’est une combinaison de
matériels et logiciels permettant de remplir une ou
plusieurs fonctions spécifiques avec des contraintes
plus ou moins sévères tel que la consommation, la
température, la taille, les performances…[Patrice
Kadionik, 2004]
 Un système embarqué est susceptible d’être utilisé
dans un environnement matériel de faibles
performances (si l’on compare au PC de bureau
d’aujourd’hui). Si l’ajout de quelques Mo de mémoire
sur un PC de bureau n’a pas une grosse influence sur
le budget d’un utilisateur, le gain de quelques Mo sur
un produit de grande consommation (téléphone,
équipement auto mobile, organiseur personnel) a une
énorme influence sur le coût final. [Pierre Ficheux,
2003] 2
SYSTÈME EMBARQUÉ
 Ébauche d’une définition: 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.
 Il sont partout ;
 Radio/réveil
 Machine à café
 Télévision / télécommande
 Moyen de transport
 Téléphone portable …. 3
CARACTÉRISTIQUES D’UN SYSTÈME
EMBARQUÉ
 Un système embarqué:
 des ressources limitées
 Système principalement numérique
 Le moins cher possible
 Une puissance de calcul limitée
 Pas de consommation d’énergie inutile
 Exécution de logiciel dédié aux fonctionnalités
spéciales
 Une capacité de communication limitée
 Ne possède pas toujours de système de fichiers
4
CARACTÉRISTIQUES D’UN SYSTÈME
EMBARQUÉ
 Faible coût:
 Solution optimale entre le prix et la performance
 À la portée de toute personne
 Par conséquent, les ressources utilisées sont
minimales
 Un système embarqué n’a que peu de mémoire
5
CARACTÉRISTIQUES D’UN SYSTÈME
EMBARQUÉ
 Faible consommation:
 Utilisation d’une batterie d’emmagasinassions
d’énergie
 Gérer la consommation pour rester autonome le plus
possible
 Pas de consommation excessive, moins de prix et des
batteries de faible capacités
6
CARACTÉRISTIQUES D’UN SYSTÈME
EMBARQUÉ
 Faible encombrement et faible poids:
 Minimiser la taille et le poids pour un système
embarqué.
 Les composants électroniques (analogique et/ou
numérique) doivent cohabiter sur une faible surface.
 Fonctionnement en temps réel:
 Les applications embarquées doivent répondre
rapidement aux évènements internes ou externes.
 Nécessaire dans les applications de système de
contrôles
 Le résultat peut être néfaste si le système ne réagit
pas à l’immédiat à un évènement du système
7
CARACTÉRISTIQUES D’UN SYSTÈME
EMBARQUÉ
 Environnement:
 Un système embarqué est soumis à des nombreux
contraintes d’environnement
 Il doit s’adapter et fonctionner avec eux.
 Exemple:
 La température
 L’humidité
 Les vibrations
 Les chocs
 Les variations d’alimentation, les interférences RF, les
radiations… etc
8
L’EMBARQUÉ EN QUELQUES CHIFFRES
 En 1999, il a été vendu (dans le domaine de l’embarqué):
 1,3 milliards de processeurs 4 bits
 1,4 milliards de processeurs 8 bits
 375 millions de processeurs 16 bits
 127 millions de processeurs 32 bits
 3,2 millions de processeurs 64 bits.
 Il a été vendu 108 millions de processeurs pour le marché
du PC
 En 2004:
 14 milliards de processeurs pour l’embarqué (microprocesseur,
microcontrôleur, DSP, etc.)
 260 millions de processeurs PC.
 Moins de 2% (5%) des processeurs vendu sont pour les PC,
98% (95%) pour l’embarqué
 Prix moyen d’un processeur 6$ (2004) alors qu’un processeur
PC coute 300$.
9
ARCHITECTURE D’UN SYSTÈME EMBARQUÉ
 Trois couches:
 Chaque couche a la même fonctionnalité qu’un
système normal avec quelques différences de sous
composants de chaque couche
 Deux premières couches  partie soft
 Troisième couche  partie hard
 Ensemble des éléments physiques cohabitant sur une
faible surface
 Traitement de données
 Composants matériels limités
 Composants dédiés à des traitements spécifiques
(supplémentaire) 10
ARCHITECTURE D’UN SYSTÈME EMBARQUÉ
 La topologie générale d’un système embarqué:
Unité
Centrale
(CPU+R
AM)
IHM
Réseau
Mémoire
de masse
Autres
Entrées/
sorties
11
ARCHITECTURE D’UN SYSTÈME EMBARQUÉ
 Équipements permanents:
 CPU: microprocesseur (s) ou des microcontrôleurs
 RAM: mémoire centrale
 Équipements supplémentaires:
 Mémoire de masse:
 Disque dur (exp; microdrive 2,5-3,5 inches)
 Mémoire flash (exp; FlashDisk, DiskOnChip, SDCard,…)
 Utilisation de ROM (exp; Disque virtuel CD, DVD)
 Disque à distance (exp; NFS, TFTP)
12
 Équipements supplémentaires:
 Entrées:
 Les capteurs/convertisseurs (pression, audio,
température,..)
 Le clavier, boutons poussoirs ou télécommandes
(infrarouge, Bluetooth, radio,..)
 Les lecteurs de codes barres
 Sorties:
 Les écrans et afficheurs LCD
 Système d’alarme ou synthèse vocale
 Imprimante en tous genres comme papier, étiquette, photos,
..)
 IHM:
 Communication entre l’humain et la machine
 Exp; écran avec les dispositifs « touchScreen »
ARCHITECTURE D’UN SYSTÈME EMBARQUÉ
13
LES APPLICATIONS D’UN SYSTÈME
EMBARQUÉ
 Les systèmes embarqués peuvent être remarqués par
toute utilisation d’une machine à base de
microprocesseurs ou microcontrôleurs
 Les domaines d’application:
 Transport; automobile, aéronautique
 Militaire; missile
 Astronautique; fusée, satellite artificiel
 Électroménager; télévision, four ou micro-ondes
 Télécommunication; téléphonie, routeur, pare-feu
 Impression; imprimante multifonctions, photocopieur
 Informatique; disque dur, lecteur de CD
 Équipement médical
 Multimédia; console de jeux vidéo
 Guichet automatique bancaire (GAB)
 métrologie
14
DISPOSITIFS MOBILES
 Un appareil informatique portable possédant
souvent un écran et une interface d’entrée/sortie
avec des dispositifs d’interaction nécessaire ou
accessoires
 Classification des dispositifs mobiles suivant
leurs caractéristiques:
 Laptop
 Tablet PC
 PDA (Personal Digital Assistant)
 Téléphone portable
 Smartphone
 Autres dispositifs; baladeur multimédia personnels
(MP3, MP4, …), consoles de jeux portables 15
 Système sur puce (SoC - System on Chip)
 Circuit complexe qui intègre tous les éléments fonctionnels
d’un produit sur une même puce;
 des modules logiciels (DSP),
 des mémoires,
 des périphériques,
 des coprocesseurs matériels (FPGA ou ASIC)
 des modules analogiques ou optoélectroniques
 Objectif: diminuer au minimum le nombre de composants
sur une carte pour mettre tout sur une seule puce.
16
SYSTÈME EMBARQUÉS
PROCESSEURS EMBARQUÉS
 Exemple SoC
17
PROCESSEURS EMBARQUÉS
 Introduction
 MIPS, 68K, SPARC, ARM, PowerPC
18
PROCESSEURS EMBARQUÉS
 Classification (flexibilité)
19
PROCESSEURS EMBARQUÉS
 Classification
20
PROCESSEURS EMBARQUÉS
 Processeurs CISC et RISC:
 Le jeu d’instruction (Instruction Set Architecture:
ISA) :
 détermine les instructions élémentaires exécutées
par le CPU.
 est un équilibre entre la complexité matérielle du
CPU et la facilité d’exprimer les actions requises
 est représenté de manière symbolique
 Deux classes de jeux d’instructions:
 CISC: ComplexInstruction Set Computer
 RISC: Reduce Instruction Set Computer
21
PROCESSEURS EMBARQUÉS
 Processeur CISC (Complex Instruction Set
Computer) :
 Jeu étendu d'instructions complexes (une instruction
= plusieurs opérations élémentaires), Ex: un load,
une opération arithmétique et un store
 Compilation et programmation en assembleur
relativement facilitées, code compact, limitation des
accès mémoire
 temps de décodage et d'exécution des
instructions trop long
Exemples: Vax, Motorola 68000,
Intel x86/Pentium 22
PROCESSEURS EMBARQUÉS
 Processeur RISC (Reduced Instruction Set
Computer) :
 Jeu d'instructions réduit, codage uniforme
 Modes d'adressage simples, utilisation intensive des
registres du processeur
 Compilation moins facile, code moins compact, plus d'accès
mémoire (pénalisation réduite grâce aux caches)
 décodage et exécution rapides des instructions(un
cycle sur architecture pipelinée)
Tous les microprocesseurs modernes utilisent ce
paradigme
Exemples :
SPARC(SUN), MIPS, ARM, PowerPC(Apple, IBM,
Freescale), etc. 23
PROCESSEURS EMBARQUÉS
Micro-contrôleurs
 Utilisé pour le contrôle embarqué
 Censeur, contrôleurs simples
 Manipule des événements, quelques données mais en faible
quantité
Exemple: caméscope, disque dur, appareil photo
numérique, machine à laver, four à micro-onde
 Quelques caractéristiques fréquentes
 Périphériques présents sur le circuit (timer, convertisseur
analogique numérique, interface de communication),
accessible directement grâce aux registres
 Programme et données intégrées au circuit
 Accès direct du programmeur à de nombreuses broches du
circuit
 Instructions spécialisées pour les manipulation de bits.
24
PROCESSEURS EMBARQUÉS
DSP: Digital Signal Processing
 Utilisés pour les applications de traitement du
signal
 Grande quantités de données numérisées, souvent
organisées en flux
 Filtre numérique sur téléphone, TV numérique,
synthétiseur de sons
 Constructeurs: Texas Instrument, puis
AnalogDevices, Motorola
25
PROCESSEURS EMBARQUÉS
Processeurs ARM
 Processeurs développés depuis les années 1980,
 maintenant par ARM Limited
(http://www.arm.com/)
 architecture relativement plus simple que
d'autres familles de processeurs
 faible consommation,
 les processeurs ARM sont devenus dominants
dans le domaine de l'informatique embarquée, en
particulier la téléphonie mobile et les tablettes.
26
PROCESSEURS EMBARQUÉS
Processeurs ARM
 Architectures récentes :
 Famille ARM9E : solutions "DSP-enhanced" (Digital
Signal Processing)
 CoresARM9E et ARM9EJ-S ("Jazelle technology-
enhanced")
 Macrocells ARM926EJ-S, ARM946E-S, ARM966E-S,
ARM968E-S et ARM996HS
 Famille ARM10
 Famille ARM11
27
PROCESSEURS EMBARQUÉS
Processeurs ARM
 Caractéristiques :
 Architecture RISC 32 bits
 Architecture load/store : les accès en mémoire ne se
font que via des instructions load et store
 Structure pipelinée
 ARM7 : pipeline 3 étages et ARM9 : pipeline 5 étages
 Thumbmode : instructions 16 bits (fonctionnalités
réduites, mais gain en performance)
 Jazelle: optimisation pour Java (JVM câblée)
28
PROCESSEURS EMBARQUÉS
Processeurs ARM:
29
COMMUNICATIONS : BUS
30
COMMUNICATIONS : BUS
 Bus pour systèmes embarqués:
 Bus AMBA: Advanced Microcontroller Bus
Architecture
 Conçu par ARM
 Permet de simplifier l’intégration au niveau système.
31
COMMUNICATIONS : BUS
 Advanced High-performance Bus (AHB) :
bus système rapide, synchrone, multimaître.
 Advanced System Bus (ASB) :
une alternative au systèmeAHB , utilisé dans les
cas ou les hautes performances du bus AHB ne
sont pas nécessaires.
 Advanced Peripheral Bus (APB):
bus périphérique, plus lent et de plus faible
consommation (pour périphériques lents),
synchrone, maître unique.
32
COMMUNICATIONS : BUS
 Exemple
33
COMMUNICATIONS : BUS «GÉNÉRALITÉS»
34
• AHB «AMBA» est utilisé pour la communication entre les composantes
nécessitant une communication rapide.
• APB «amba» est utilisé pour la communication qui ne nécessite pas une
haute vitesse et performance.
NÉCESSITÉ D’UN SYSTÈME D’EXPLOITATION
 Les solutions embarquées utilisent des
composants Soft conjointement avec le Hard
 Par analogie aux ordinateurs, ces composants
logiciels devront tournés sur un système
d’exploitation.
 un système d’exploitation embarqué n’a pas
toutes les fonctionnalités et les caractéristiques
qu’un un système d’exploitation pour ordinateur.
35
 Un ensemble de programmes responsable de la
gestion des opérations de:
 contrôle,
 coordination,
 utilisation du matériel
 partage des ressources d’un dispositif entre divers
programmes tournant sur ce dispositif
 Une plateforme logicielle sur laquelle les autres
programmes (programmes d’applications) peuvent
s’exécuter sur des appareils mobiles ; PDA,
téléphones cellulaires, smartphones,…
  Les SEM se diffèrent en fonction des
fonctionnalités qu’ils soutiennent.
36
DÉFINITION D’UN SYSTÈME
D’EXPLOITATION MOBILE
 Un SEM regroupe un ensemble des
fonctionnalités;
 La gestion de la mémoire
 La gestion des microprocesseurs et l’ordonnancement
 La gestion de système de fichiers
 La gestion des I/O
 La gestion de sécurité
 La gestion de fonctionnalité multimédia
 etc
37
CARACTÉRISTIQUES D’UN SYSTÈME
D’EXPLOITATION MOBILE
 Les principaux systèmes d’exploitation mobiles;
 Android
 Bada
 BlackBerry OS
 iOS
 OpenMoko
 PalmOS
 HP webOS
 Symbian OS
 Windows CE
 Windows Mobile
 Windows Phone 7 38
EXEMPLES DES SYSTÈMES D’EXPLOITATION
MOBILE
 Symbian OS:
 Le plus utilisé pour les smartphones et PDA
 Fournit les fonctionnalités essentielles du SE; cœur
du système, les API communes et une interface
utilisateur de référence
 Adopté par différents fabricants de téléphone
portables 2G et 3G
39
EXEMPLES DES SYSTÈMES D’EXPLOITATION
MOBILE
 Palm OS
 Connu sous le nom Garnet OS
 Développé pour des PDA en 1996
 L’interface graphique utilisateur est prévue pour être
utilisée avec un écran tactile
 Fourni avec une suite d’applications de base pour
gestionnaire d’informations personnelles
 Amélioré pour fonctionner sur des smartphones
 En 2007, ACCESS a sorti le successeur de Garnet OS
appelé Access Linux Platform
40
EXEMPLES DES SYSTÈMES D’EXPLOITATION
MOBILE
 Android
 Un système d’exploitation open source utilisant le
noyau Linux pour smartphones, PDA et terminaux
mobiles
 Existe sur autres types d’appareils ; téléviseurs,
tablettes
 Comporte une interface spécifique développée en
Java
 Les programmes sont exécutés via un interpréteur
JIT
 Conçu pour intégrer au mieux des applications
existantes de google comme Gmail, Google Maps,
Google Talk,… 41
EXEMPLES DES SYSTÈMES D’EXPLOITATION
MOBILE
 Windows mobile, Windows CE et Windows
Phone7
 Développés par Microsoft pour les smartphones et
Pocket PC
 Propose des applications basiques comme email,
internet, chat et multimédia, etc.
 Windows Phone 7 est une plateforme a été lancé le 15
février 2010, il n’existe aucune compatibilité avec les
applications Windows Mobile 42
EXEMPLES DES SYSTÈMES D’EXPLOITATION
MOBILE
43
UN OS RÉSOUD-IL TOUS LES
PROBLÈMES ?
 Non !
 La gestion de la mémoire reste à la charge du
développeur (les allocations statiques).
 Les tâches ne s’ordonnent pas toutes seules.
 Un OS n’empêche pas les bugs dans le code.
GESTION DE LA MÉMOIRE
 La plupart des microcontrôleurs embarquent
quelques k de mémoire :
 256k sur les STM32F427IG ;
 20k sur les STM32F103 ;
 1536 octets sur les PIC18F452.
 Ajouter de la RAM externe est coûteux :
 utilisation d’entrées-sorties supplémentaires sur le
 processeur ;
 complication du routage ;
 intégrité du signal.
 Il faut gérer précautionneusement cette
ressource précieuse.
44
GESTION DYNAMIQUE DE LA MÉMOIRE
 Utilisation d’une liste chaînée des blocs libres
(free-list)
 Stockage de la taille réservée en mémoire (la
taille libérée n’est pas passée à free().
45
FRAGMENTATION
 Au cours de son utilisation, la mémoire
disponible peut devenir fragmentée.
 Comment allouer 5k alors que seuls deux blocs
non contigus de 3k et un de 1k sont disponibles ?
46
POLITIQUES D’ALLOCATION
 Dans la situation suivante, dans quel bloc allouer
une zone de 600 octets demandée par le
programme?
 Plusieurs stratégies possibles :
 Best fit
 Worst fit
 First fit
 First fit équivalent à une des deux premières
solutions en triant la liste des blocs libres
47
GESTION DE LA LIBÉRATION
 Plusieurs stratégies possibles :
 Agrégation des blocs libres, peut nécessiter un tri
de la liste ; peu déterministe.
 Libération sans agrégation des blocs libres, peut
nécessiter un tri de la liste.
 Pas de libération.
 Toutes ces stratégies sont couramment utilisées.
La dernière permet l’allocation dynamique en
début de programme, qui ne commencera ses
véritables fonctions qu’après que l’ensemble des
allocations aient été effectuées.
48
GESTION PAR BITMAPS
La mémoire peut-être gérée avec des bitmaps :
 blocs de taille fixe et contigus ;
 un bit par bloc indique si le bloc est libre ou non ;
 possibilité d’utiliser plusieurs zones avec des
blocs de taille différente.
49
RECHERCHE DANS UN BITMAP
 Comment, dans un mot machine, isoler
facilement le bit de poids le plus faible parmi les
bits à 1 ?
50
ALLOCATION STATIQUE
 L’absence d’allocation dynamique a des (énormes)
avantages :
 détermination de la position définitive de chaque bloc
lors de l’édition de liens et temps d’accès réduit ;
 vérification de la disponibilité de la quantité
nécessaire de mémoire lors de l’édition de liens ;
 aucune possibilité de fragmentation ou de manque de
mémoire lors de l’exécution.
 Cette solution doit être privilégiée lorsque c’est
possible. Cela peut influencer le choix du système
d’exploitation.
51
UTILISATION DE LA MMU
 L’utilisation d’une MMU (Memory Management
Unit) permet :
 la protection des zones mémoire ;
 la réduction de la fragmentation par l’utilisation de
pages et de la correspondance entre adresse logique
et adresse physique ;
 la possibilité de disposer de zones thread-local sans
indirection supplémentaire.
 Tous les systèmes n’utilisent pas la MMU même
lorsqu’elle est présente, pour des raisons de
simplicité ou de performances.
52

Más contenido relacionado

La actualidad más candente

Exposé réseaux des neurones (NN) - (RN)
Exposé réseaux des neurones (NN) - (RN)Exposé réseaux des neurones (NN) - (RN)
Exposé réseaux des neurones (NN) - (RN)Soumia Elyakote HERMA
 
Cours systèmes temps réel partie 1 Prof. Khalifa MANSOURI
Cours  systèmes temps réel partie 1 Prof. Khalifa MANSOURICours  systèmes temps réel partie 1 Prof. Khalifa MANSOURI
Cours systèmes temps réel partie 1 Prof. Khalifa MANSOURIMansouri Khalifa
 
Embarqués temps réel
Embarqués temps réelEmbarqués temps réel
Embarqués temps réelmikhailether
 
Linux et les systèmes embarqués
Linux et les systèmes embarquésLinux et les systèmes embarqués
Linux et les systèmes embarquésStéphane Legrand
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2Amal Abid
 
Rapport systéme embarqué busybox
Rapport systéme embarqué busyboxRapport systéme embarqué busybox
Rapport systéme embarqué busyboxAyoub Rouzi
 
Embedded Systems
Embedded SystemsEmbedded Systems
Embedded SystemsSara Morgan
 
Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Hajer Dahech
 
Intelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsIntelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsMohamed Heny SELMI
 
Les systèmes experts
Les systèmes expertsLes systèmes experts
Les systèmes expertsBruno Delb
 
Cours Base de données relationnelles
Cours Base de données relationnellesCours Base de données relationnelles
Cours Base de données relationnellesAymen Kasmi
 
Exercice arbre de décision
Exercice arbre de décision Exercice arbre de décision
Exercice arbre de décision Yassine Badri
 

La actualidad más candente (20)

Les systèmes embarqués arduino
Les systèmes embarqués arduinoLes systèmes embarqués arduino
Les systèmes embarqués arduino
 
Exposé réseaux des neurones (NN) - (RN)
Exposé réseaux des neurones (NN) - (RN)Exposé réseaux des neurones (NN) - (RN)
Exposé réseaux des neurones (NN) - (RN)
 
Cours systèmes temps réel partie 1 Prof. Khalifa MANSOURI
Cours  systèmes temps réel partie 1 Prof. Khalifa MANSOURICours  systèmes temps réel partie 1 Prof. Khalifa MANSOURI
Cours systèmes temps réel partie 1 Prof. Khalifa MANSOURI
 
DSP
DSPDSP
DSP
 
States machines (1)
States machines (1)States machines (1)
States machines (1)
 
Embarqués temps réel
Embarqués temps réelEmbarqués temps réel
Embarqués temps réel
 
Systeme embarque
Systeme embarqueSysteme embarque
Systeme embarque
 
Chap2 dsp
Chap2 dspChap2 dsp
Chap2 dsp
 
Réseaux de neurones
Réseaux de neurones Réseaux de neurones
Réseaux de neurones
 
Linux et les systèmes embarqués
Linux et les systèmes embarquésLinux et les systèmes embarqués
Linux et les systèmes embarqués
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
 
Rapport systéme embarqué busybox
Rapport systéme embarqué busyboxRapport systéme embarqué busybox
Rapport systéme embarqué busybox
 
QCM Sécurité Informatique
QCM Sécurité InformatiqueQCM Sécurité Informatique
QCM Sécurité Informatique
 
chap4 codes-en-ligne
chap4 codes-en-lignechap4 codes-en-ligne
chap4 codes-en-ligne
 
Embedded Systems
Embedded SystemsEmbedded Systems
Embedded Systems
 
Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32
 
Intelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsIntelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes experts
 
Les systèmes experts
Les systèmes expertsLes systèmes experts
Les systèmes experts
 
Cours Base de données relationnelles
Cours Base de données relationnellesCours Base de données relationnelles
Cours Base de données relationnelles
 
Exercice arbre de décision
Exercice arbre de décision Exercice arbre de décision
Exercice arbre de décision
 

Similar a Cours Système Embarqué et Système d'exploitation mobile.pdf

Cours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptxCours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptxAbdo Brahmi
 
Introduction aux systèmes d'exploitation mobile
Introduction aux systèmes d'exploitation mobileIntroduction aux systèmes d'exploitation mobile
Introduction aux systèmes d'exploitation mobileHoussem Rouini
 
Cours de microcontrôleurs
Cours de microcontrôleursCours de microcontrôleurs
Cours de microcontrôleurssarah Benmerzouk
 
Presentaion fpga µc µp quelles est la solution
Presentaion  fpga µc µp quelles est la solutionPresentaion  fpga µc µp quelles est la solution
Presentaion fpga µc µp quelles est la solutionCynapsys It Hotspot
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).pptAbdo Brahmi
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).pptAbdo Brahmi
 
HELLO Wkkkkkkuuukuuioki’okokORLD (1).pptx
HELLO Wkkkkkkuuukuuioki’okokORLD (1).pptxHELLO Wkkkkkkuuukuuioki’okokORLD (1).pptx
HELLO Wkkkkkkuuukuuioki’okokORLD (1).pptxTARIQBICHAR
 
Cours Systemes embarques.pptx
Cours Systemes embarques.pptxCours Systemes embarques.pptx
Cours Systemes embarques.pptxSihemNasri3
 
Automates programmables industriels
Automates programmables industrielsAutomates programmables industriels
Automates programmables industrielsHafsaELMessaoudi
 
Chap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdfChap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdfDAPcreat
 
Embedded intro 2006
Embedded intro 2006Embedded intro 2006
Embedded intro 2006mcbinene
 
Cours sys 2PPT20.pdf
Cours sys 2PPT20.pdfCours sys 2PPT20.pdf
Cours sys 2PPT20.pdfC00LiMoUn
 
Architecture et programmation des circuits CPLD et des FPGA
Architecture et programmation des circuits CPLD et des FPGAArchitecture et programmation des circuits CPLD et des FPGA
Architecture et programmation des circuits CPLD et des FPGAChiheb Ouaghlani
 
Materiel informatique 2011
Materiel informatique 2011Materiel informatique 2011
Materiel informatique 2011Jouhadi mehdi
 
Microcontroleur arduino uno
Microcontroleur arduino unoMicrocontroleur arduino uno
Microcontroleur arduino unobyorn TANDU
 
Microcontroleur arduino uno
Microcontroleur arduino unoMicrocontroleur arduino uno
Microcontroleur arduino unobyorn TANDU
 
chapitre222 (1).pptx
chapitre222 (1).pptxchapitre222 (1).pptx
chapitre222 (1).pptxriahyibtissem
 

Similar a Cours Système Embarqué et Système d'exploitation mobile.pdf (20)

Cours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptxCours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptx
 
Introduction aux systèmes d'exploitation mobile
Introduction aux systèmes d'exploitation mobileIntroduction aux systèmes d'exploitation mobile
Introduction aux systèmes d'exploitation mobile
 
Microcontrôleur
MicrocontrôleurMicrocontrôleur
Microcontrôleur
 
Cours de microcontrôleurs
Cours de microcontrôleursCours de microcontrôleurs
Cours de microcontrôleurs
 
Cours SE
Cours SECours SE
Cours SE
 
Presentaion fpga µc µp quelles est la solution
Presentaion  fpga µc µp quelles est la solutionPresentaion  fpga µc µp quelles est la solution
Presentaion fpga µc µp quelles est la solution
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
HELLO Wkkkkkkuuukuuioki’okokORLD (1).pptx
HELLO Wkkkkkkuuukuuioki’okokORLD (1).pptxHELLO Wkkkkkkuuukuuioki’okokORLD (1).pptx
HELLO Wkkkkkkuuukuuioki’okokORLD (1).pptx
 
Cours Systemes embarques.pptx
Cours Systemes embarques.pptxCours Systemes embarques.pptx
Cours Systemes embarques.pptx
 
Automates programmables industriels
Automates programmables industrielsAutomates programmables industriels
Automates programmables industriels
 
Chap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdfChap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdf
 
Embedded intro 2006
Embedded intro 2006Embedded intro 2006
Embedded intro 2006
 
Cours sys 2PPT20.pdf
Cours sys 2PPT20.pdfCours sys 2PPT20.pdf
Cours sys 2PPT20.pdf
 
Architecture et programmation des circuits CPLD et des FPGA
Architecture et programmation des circuits CPLD et des FPGAArchitecture et programmation des circuits CPLD et des FPGA
Architecture et programmation des circuits CPLD et des FPGA
 
Materiel informatique 2011
Materiel informatique 2011Materiel informatique 2011
Materiel informatique 2011
 
Microcontroleur arduino uno
Microcontroleur arduino unoMicrocontroleur arduino uno
Microcontroleur arduino uno
 
Microcontroleur arduino uno
Microcontroleur arduino unoMicrocontroleur arduino uno
Microcontroleur arduino uno
 
Chapitre 1 sem
Chapitre 1 semChapitre 1 sem
Chapitre 1 sem
 
chapitre222 (1).pptx
chapitre222 (1).pptxchapitre222 (1).pptx
chapitre222 (1).pptx
 

Cours Système Embarqué et Système d'exploitation mobile.pdf

  • 1. COURS SYSTÈME EMBARQUÉ ET SYSTÈME D’EXPLOITATION MOBILE Ikbel Daly Briki 2016/2017
  • 2. SYSTÈME EMBARQUÉ  Un système embarqué: c’est une combinaison de matériels et logiciels permettant de remplir une ou plusieurs fonctions spécifiques avec des contraintes plus ou moins sévères tel que la consommation, la température, la taille, les performances…[Patrice Kadionik, 2004]  Un système embarqué est susceptible d’être utilisé dans un environnement matériel de faibles performances (si l’on compare au PC de bureau d’aujourd’hui). Si l’ajout de quelques Mo de mémoire sur un PC de bureau n’a pas une grosse influence sur le budget d’un utilisateur, le gain de quelques Mo sur un produit de grande consommation (téléphone, équipement auto mobile, organiseur personnel) a une énorme influence sur le coût final. [Pierre Ficheux, 2003] 2
  • 3. SYSTÈME EMBARQUÉ  Ébauche d’une définition: 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.  Il sont partout ;  Radio/réveil  Machine à café  Télévision / télécommande  Moyen de transport  Téléphone portable …. 3
  • 4. CARACTÉRISTIQUES D’UN SYSTÈME EMBARQUÉ  Un système embarqué:  des ressources limitées  Système principalement numérique  Le moins cher possible  Une puissance de calcul limitée  Pas de consommation d’énergie inutile  Exécution de logiciel dédié aux fonctionnalités spéciales  Une capacité de communication limitée  Ne possède pas toujours de système de fichiers 4
  • 5. CARACTÉRISTIQUES D’UN SYSTÈME EMBARQUÉ  Faible coût:  Solution optimale entre le prix et la performance  À la portée de toute personne  Par conséquent, les ressources utilisées sont minimales  Un système embarqué n’a que peu de mémoire 5
  • 6. CARACTÉRISTIQUES D’UN SYSTÈME EMBARQUÉ  Faible consommation:  Utilisation d’une batterie d’emmagasinassions d’énergie  Gérer la consommation pour rester autonome le plus possible  Pas de consommation excessive, moins de prix et des batteries de faible capacités 6
  • 7. CARACTÉRISTIQUES D’UN SYSTÈME EMBARQUÉ  Faible encombrement et faible poids:  Minimiser la taille et le poids pour un système embarqué.  Les composants électroniques (analogique et/ou numérique) doivent cohabiter sur une faible surface.  Fonctionnement en temps réel:  Les applications embarquées doivent répondre rapidement aux évènements internes ou externes.  Nécessaire dans les applications de système de contrôles  Le résultat peut être néfaste si le système ne réagit pas à l’immédiat à un évènement du système 7
  • 8. CARACTÉRISTIQUES D’UN SYSTÈME EMBARQUÉ  Environnement:  Un système embarqué est soumis à des nombreux contraintes d’environnement  Il doit s’adapter et fonctionner avec eux.  Exemple:  La température  L’humidité  Les vibrations  Les chocs  Les variations d’alimentation, les interférences RF, les radiations… etc 8
  • 9. L’EMBARQUÉ EN QUELQUES CHIFFRES  En 1999, il a été vendu (dans le domaine de l’embarqué):  1,3 milliards de processeurs 4 bits  1,4 milliards de processeurs 8 bits  375 millions de processeurs 16 bits  127 millions de processeurs 32 bits  3,2 millions de processeurs 64 bits.  Il a été vendu 108 millions de processeurs pour le marché du PC  En 2004:  14 milliards de processeurs pour l’embarqué (microprocesseur, microcontrôleur, DSP, etc.)  260 millions de processeurs PC.  Moins de 2% (5%) des processeurs vendu sont pour les PC, 98% (95%) pour l’embarqué  Prix moyen d’un processeur 6$ (2004) alors qu’un processeur PC coute 300$. 9
  • 10. ARCHITECTURE D’UN SYSTÈME EMBARQUÉ  Trois couches:  Chaque couche a la même fonctionnalité qu’un système normal avec quelques différences de sous composants de chaque couche  Deux premières couches  partie soft  Troisième couche  partie hard  Ensemble des éléments physiques cohabitant sur une faible surface  Traitement de données  Composants matériels limités  Composants dédiés à des traitements spécifiques (supplémentaire) 10
  • 11. ARCHITECTURE D’UN SYSTÈME EMBARQUÉ  La topologie générale d’un système embarqué: Unité Centrale (CPU+R AM) IHM Réseau Mémoire de masse Autres Entrées/ sorties 11
  • 12. ARCHITECTURE D’UN SYSTÈME EMBARQUÉ  Équipements permanents:  CPU: microprocesseur (s) ou des microcontrôleurs  RAM: mémoire centrale  Équipements supplémentaires:  Mémoire de masse:  Disque dur (exp; microdrive 2,5-3,5 inches)  Mémoire flash (exp; FlashDisk, DiskOnChip, SDCard,…)  Utilisation de ROM (exp; Disque virtuel CD, DVD)  Disque à distance (exp; NFS, TFTP) 12
  • 13.  Équipements supplémentaires:  Entrées:  Les capteurs/convertisseurs (pression, audio, température,..)  Le clavier, boutons poussoirs ou télécommandes (infrarouge, Bluetooth, radio,..)  Les lecteurs de codes barres  Sorties:  Les écrans et afficheurs LCD  Système d’alarme ou synthèse vocale  Imprimante en tous genres comme papier, étiquette, photos, ..)  IHM:  Communication entre l’humain et la machine  Exp; écran avec les dispositifs « touchScreen » ARCHITECTURE D’UN SYSTÈME EMBARQUÉ 13
  • 14. LES APPLICATIONS D’UN SYSTÈME EMBARQUÉ  Les systèmes embarqués peuvent être remarqués par toute utilisation d’une machine à base de microprocesseurs ou microcontrôleurs  Les domaines d’application:  Transport; automobile, aéronautique  Militaire; missile  Astronautique; fusée, satellite artificiel  Électroménager; télévision, four ou micro-ondes  Télécommunication; téléphonie, routeur, pare-feu  Impression; imprimante multifonctions, photocopieur  Informatique; disque dur, lecteur de CD  Équipement médical  Multimédia; console de jeux vidéo  Guichet automatique bancaire (GAB)  métrologie 14
  • 15. DISPOSITIFS MOBILES  Un appareil informatique portable possédant souvent un écran et une interface d’entrée/sortie avec des dispositifs d’interaction nécessaire ou accessoires  Classification des dispositifs mobiles suivant leurs caractéristiques:  Laptop  Tablet PC  PDA (Personal Digital Assistant)  Téléphone portable  Smartphone  Autres dispositifs; baladeur multimédia personnels (MP3, MP4, …), consoles de jeux portables 15
  • 16.  Système sur puce (SoC - System on Chip)  Circuit complexe qui intègre tous les éléments fonctionnels d’un produit sur une même puce;  des modules logiciels (DSP),  des mémoires,  des périphériques,  des coprocesseurs matériels (FPGA ou ASIC)  des modules analogiques ou optoélectroniques  Objectif: diminuer au minimum le nombre de composants sur une carte pour mettre tout sur une seule puce. 16 SYSTÈME EMBARQUÉS
  • 18. PROCESSEURS EMBARQUÉS  Introduction  MIPS, 68K, SPARC, ARM, PowerPC 18
  • 21. PROCESSEURS EMBARQUÉS  Processeurs CISC et RISC:  Le jeu d’instruction (Instruction Set Architecture: ISA) :  détermine les instructions élémentaires exécutées par le CPU.  est un équilibre entre la complexité matérielle du CPU et la facilité d’exprimer les actions requises  est représenté de manière symbolique  Deux classes de jeux d’instructions:  CISC: ComplexInstruction Set Computer  RISC: Reduce Instruction Set Computer 21
  • 22. PROCESSEURS EMBARQUÉS  Processeur CISC (Complex Instruction Set Computer) :  Jeu étendu d'instructions complexes (une instruction = plusieurs opérations élémentaires), Ex: un load, une opération arithmétique et un store  Compilation et programmation en assembleur relativement facilitées, code compact, limitation des accès mémoire  temps de décodage et d'exécution des instructions trop long Exemples: Vax, Motorola 68000, Intel x86/Pentium 22
  • 23. PROCESSEURS EMBARQUÉS  Processeur RISC (Reduced Instruction Set Computer) :  Jeu d'instructions réduit, codage uniforme  Modes d'adressage simples, utilisation intensive des registres du processeur  Compilation moins facile, code moins compact, plus d'accès mémoire (pénalisation réduite grâce aux caches)  décodage et exécution rapides des instructions(un cycle sur architecture pipelinée) Tous les microprocesseurs modernes utilisent ce paradigme Exemples : SPARC(SUN), MIPS, ARM, PowerPC(Apple, IBM, Freescale), etc. 23
  • 24. PROCESSEURS EMBARQUÉS Micro-contrôleurs  Utilisé pour le contrôle embarqué  Censeur, contrôleurs simples  Manipule des événements, quelques données mais en faible quantité Exemple: caméscope, disque dur, appareil photo numérique, machine à laver, four à micro-onde  Quelques caractéristiques fréquentes  Périphériques présents sur le circuit (timer, convertisseur analogique numérique, interface de communication), accessible directement grâce aux registres  Programme et données intégrées au circuit  Accès direct du programmeur à de nombreuses broches du circuit  Instructions spécialisées pour les manipulation de bits. 24
  • 25. PROCESSEURS EMBARQUÉS DSP: Digital Signal Processing  Utilisés pour les applications de traitement du signal  Grande quantités de données numérisées, souvent organisées en flux  Filtre numérique sur téléphone, TV numérique, synthétiseur de sons  Constructeurs: Texas Instrument, puis AnalogDevices, Motorola 25
  • 26. PROCESSEURS EMBARQUÉS Processeurs ARM  Processeurs développés depuis les années 1980,  maintenant par ARM Limited (http://www.arm.com/)  architecture relativement plus simple que d'autres familles de processeurs  faible consommation,  les processeurs ARM sont devenus dominants dans le domaine de l'informatique embarquée, en particulier la téléphonie mobile et les tablettes. 26
  • 27. PROCESSEURS EMBARQUÉS Processeurs ARM  Architectures récentes :  Famille ARM9E : solutions "DSP-enhanced" (Digital Signal Processing)  CoresARM9E et ARM9EJ-S ("Jazelle technology- enhanced")  Macrocells ARM926EJ-S, ARM946E-S, ARM966E-S, ARM968E-S et ARM996HS  Famille ARM10  Famille ARM11 27
  • 28. PROCESSEURS EMBARQUÉS Processeurs ARM  Caractéristiques :  Architecture RISC 32 bits  Architecture load/store : les accès en mémoire ne se font que via des instructions load et store  Structure pipelinée  ARM7 : pipeline 3 étages et ARM9 : pipeline 5 étages  Thumbmode : instructions 16 bits (fonctionnalités réduites, mais gain en performance)  Jazelle: optimisation pour Java (JVM câblée) 28
  • 31. COMMUNICATIONS : BUS  Bus pour systèmes embarqués:  Bus AMBA: Advanced Microcontroller Bus Architecture  Conçu par ARM  Permet de simplifier l’intégration au niveau système. 31
  • 32. COMMUNICATIONS : BUS  Advanced High-performance Bus (AHB) : bus système rapide, synchrone, multimaître.  Advanced System Bus (ASB) : une alternative au systèmeAHB , utilisé dans les cas ou les hautes performances du bus AHB ne sont pas nécessaires.  Advanced Peripheral Bus (APB): bus périphérique, plus lent et de plus faible consommation (pour périphériques lents), synchrone, maître unique. 32
  • 34. COMMUNICATIONS : BUS «GÉNÉRALITÉS» 34 • AHB «AMBA» est utilisé pour la communication entre les composantes nécessitant une communication rapide. • APB «amba» est utilisé pour la communication qui ne nécessite pas une haute vitesse et performance.
  • 35. NÉCESSITÉ D’UN SYSTÈME D’EXPLOITATION  Les solutions embarquées utilisent des composants Soft conjointement avec le Hard  Par analogie aux ordinateurs, ces composants logiciels devront tournés sur un système d’exploitation.  un système d’exploitation embarqué n’a pas toutes les fonctionnalités et les caractéristiques qu’un un système d’exploitation pour ordinateur. 35
  • 36.  Un ensemble de programmes responsable de la gestion des opérations de:  contrôle,  coordination,  utilisation du matériel  partage des ressources d’un dispositif entre divers programmes tournant sur ce dispositif  Une plateforme logicielle sur laquelle les autres programmes (programmes d’applications) peuvent s’exécuter sur des appareils mobiles ; PDA, téléphones cellulaires, smartphones,…   Les SEM se diffèrent en fonction des fonctionnalités qu’ils soutiennent. 36 DÉFINITION D’UN SYSTÈME D’EXPLOITATION MOBILE
  • 37.  Un SEM regroupe un ensemble des fonctionnalités;  La gestion de la mémoire  La gestion des microprocesseurs et l’ordonnancement  La gestion de système de fichiers  La gestion des I/O  La gestion de sécurité  La gestion de fonctionnalité multimédia  etc 37 CARACTÉRISTIQUES D’UN SYSTÈME D’EXPLOITATION MOBILE
  • 38.  Les principaux systèmes d’exploitation mobiles;  Android  Bada  BlackBerry OS  iOS  OpenMoko  PalmOS  HP webOS  Symbian OS  Windows CE  Windows Mobile  Windows Phone 7 38 EXEMPLES DES SYSTÈMES D’EXPLOITATION MOBILE
  • 39.  Symbian OS:  Le plus utilisé pour les smartphones et PDA  Fournit les fonctionnalités essentielles du SE; cœur du système, les API communes et une interface utilisateur de référence  Adopté par différents fabricants de téléphone portables 2G et 3G 39 EXEMPLES DES SYSTÈMES D’EXPLOITATION MOBILE
  • 40.  Palm OS  Connu sous le nom Garnet OS  Développé pour des PDA en 1996  L’interface graphique utilisateur est prévue pour être utilisée avec un écran tactile  Fourni avec une suite d’applications de base pour gestionnaire d’informations personnelles  Amélioré pour fonctionner sur des smartphones  En 2007, ACCESS a sorti le successeur de Garnet OS appelé Access Linux Platform 40 EXEMPLES DES SYSTÈMES D’EXPLOITATION MOBILE
  • 41.  Android  Un système d’exploitation open source utilisant le noyau Linux pour smartphones, PDA et terminaux mobiles  Existe sur autres types d’appareils ; téléviseurs, tablettes  Comporte une interface spécifique développée en Java  Les programmes sont exécutés via un interpréteur JIT  Conçu pour intégrer au mieux des applications existantes de google comme Gmail, Google Maps, Google Talk,… 41 EXEMPLES DES SYSTÈMES D’EXPLOITATION MOBILE
  • 42.  Windows mobile, Windows CE et Windows Phone7  Développés par Microsoft pour les smartphones et Pocket PC  Propose des applications basiques comme email, internet, chat et multimédia, etc.  Windows Phone 7 est une plateforme a été lancé le 15 février 2010, il n’existe aucune compatibilité avec les applications Windows Mobile 42 EXEMPLES DES SYSTÈMES D’EXPLOITATION MOBILE
  • 43. 43 UN OS RÉSOUD-IL TOUS LES PROBLÈMES ?  Non !  La gestion de la mémoire reste à la charge du développeur (les allocations statiques).  Les tâches ne s’ordonnent pas toutes seules.  Un OS n’empêche pas les bugs dans le code.
  • 44. GESTION DE LA MÉMOIRE  La plupart des microcontrôleurs embarquent quelques k de mémoire :  256k sur les STM32F427IG ;  20k sur les STM32F103 ;  1536 octets sur les PIC18F452.  Ajouter de la RAM externe est coûteux :  utilisation d’entrées-sorties supplémentaires sur le  processeur ;  complication du routage ;  intégrité du signal.  Il faut gérer précautionneusement cette ressource précieuse. 44
  • 45. GESTION DYNAMIQUE DE LA MÉMOIRE  Utilisation d’une liste chaînée des blocs libres (free-list)  Stockage de la taille réservée en mémoire (la taille libérée n’est pas passée à free(). 45
  • 46. FRAGMENTATION  Au cours de son utilisation, la mémoire disponible peut devenir fragmentée.  Comment allouer 5k alors que seuls deux blocs non contigus de 3k et un de 1k sont disponibles ? 46
  • 47. POLITIQUES D’ALLOCATION  Dans la situation suivante, dans quel bloc allouer une zone de 600 octets demandée par le programme?  Plusieurs stratégies possibles :  Best fit  Worst fit  First fit  First fit équivalent à une des deux premières solutions en triant la liste des blocs libres 47
  • 48. GESTION DE LA LIBÉRATION  Plusieurs stratégies possibles :  Agrégation des blocs libres, peut nécessiter un tri de la liste ; peu déterministe.  Libération sans agrégation des blocs libres, peut nécessiter un tri de la liste.  Pas de libération.  Toutes ces stratégies sont couramment utilisées. La dernière permet l’allocation dynamique en début de programme, qui ne commencera ses véritables fonctions qu’après que l’ensemble des allocations aient été effectuées. 48
  • 49. GESTION PAR BITMAPS La mémoire peut-être gérée avec des bitmaps :  blocs de taille fixe et contigus ;  un bit par bloc indique si le bloc est libre ou non ;  possibilité d’utiliser plusieurs zones avec des blocs de taille différente. 49
  • 50. RECHERCHE DANS UN BITMAP  Comment, dans un mot machine, isoler facilement le bit de poids le plus faible parmi les bits à 1 ? 50
  • 51. ALLOCATION STATIQUE  L’absence d’allocation dynamique a des (énormes) avantages :  détermination de la position définitive de chaque bloc lors de l’édition de liens et temps d’accès réduit ;  vérification de la disponibilité de la quantité nécessaire de mémoire lors de l’édition de liens ;  aucune possibilité de fragmentation ou de manque de mémoire lors de l’exécution.  Cette solution doit être privilégiée lorsque c’est possible. Cela peut influencer le choix du système d’exploitation. 51
  • 52. UTILISATION DE LA MMU  L’utilisation d’une MMU (Memory Management Unit) permet :  la protection des zones mémoire ;  la réduction de la fragmentation par l’utilisation de pages et de la correspondance entre adresse logique et adresse physique ;  la possibilité de disposer de zones thread-local sans indirection supplémentaire.  Tous les systèmes n’utilisent pas la MMU même lorsqu’elle est présente, pour des raisons de simplicité ou de performances. 52