Академический Документы
Профессиональный Документы
Культура Документы
• Introduction
• Microcontrôleur / Microprocesseur
• Terminologie
• Comparaison de solutions
• Choix d’une architecture
• Apports d’un système d’exploitation
• Définition d’un OS
• Abstraction des périphériques
• Exécution des tâches
• Mémoire virtuelle et MMU
• Linux pour l’embarqué
• Pourquoi linux ?
• Composants d’un système linux
• Démarrage du système
• Temps réel
• Les principaux systèmes d’exploitation dans l’embarqué
• Construire son système
• Amélioration des performances du noyau linux
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Introduction Page 2 / 104
Contraintes matérielles
• Performance
• Encombrement
• Autonomie
Contraintes logicielles
• Performance
• Robustesse
• Sécurité
Contraintes économiques
• Concurrence
• Coûts
• Évolutivité
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Microcontrôleur / Microprocesseur Page 4 / 104
Introduction - terminologie
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Microcontrôleur / Microprocesseur Page 5 / 104
Introduction - terminologie
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Microcontrôleur / Microprocesseur Page 6 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Microcontrôleur / Microprocesseur Page 7 / 104
Introduction - terminologie
Introduction - terminologie
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Microcontrôleur / Microprocesseur Page 9 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Microcontrôleur / Microprocesseur Page 10 / 104
Microcontrôleur
• Prix : conception et réalisation PCB, cout unitaire.
• Simplicité : fiabilité, code certifiable.
• Prédictibilité : temps d‘exécution, déterminisme.
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Microcontrôleur / Microprocesseur Page 11 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Microcontrôleur / Microprocesseur Page 12 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Microcontrôleur / Microprocesseur Page 13 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Microcontrôleur / Microprocesseur Page 14 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Microcontrôleur / Microprocesseur Page 15 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 16 / 104
Définition d’un OS
Pour l’utilisateur :
interface fournie avec
l’ordinateur, le
smartphone...
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 17 / 104
Exécution de tâches
Système monotâche
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 19 / 104
Exécution de tâches
Système multitâches
Coopératif Préemptif
L'ordonnanceur (scheduler) est une fonctionnalité essentielle des
systèmes OS pour exécuter des tâches sur un même processeur.
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 20 / 104
Exécution de tâches
L’ordonnancement
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 21 / 104
Exécution de tâches
Processus et threads
Les processus sont des espaces de mémoire disjoints, au sein
desquels s'exécutent un ou plusieurs threads
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 22 / 104
Exécution de tâches
Communication inter processus (IPC)
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 23 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 24 / 104
Adresse physique :
Adresse vue par l’unité de mémoire, c-à-d chargée dans le registre
d’adresse mémoire de la mémoire physique
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 25 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 26 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 28 / 104
Protection :
• Association de la protection avec le segment
• bits de protection associés à chaque entrée de la table de
segments pour empêcher des accès illégaux à la mémoire
Partage :
• Les segments sont partagés quand les entrées dans les tables de
segments de 2 processus différents pointent vers les mêmes
emplacement physiques
• Chaque processus possède une table de segments
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 31 / 104
0xFFFF 64 ko
0x4000
0x0000
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 32 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 33 / 104
GDT
LDT Global
Local Descriptor Descriptor Table
Table
Base Limite
N° seg. global
Seg.
limite
Segments chargés
Processus en cours en mémoire
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 34 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 35 / 104
Physical Address
Secondary Memory
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 36 / 104
Table Offset
(20bits) (12bits = 4Kbytes pages)
Page Table
1M entry
(4Mbytes) 12bits
20bits 4Kbytes
Index Frame
Page Table Entry
(32bits = 4bytes) 20bits
20bits Misc
Page Table pointer
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 37 / 104
Page 0 1 2 3 4 5 6 7
Cadre 0011 0001 0000 0010 0100 0111 0101 0110
Présence 1 0 1 0 0 0 1 0
Table Offset
(8 bits) (8 bits = 256 bytes frame)
Page Table
256 entry 8 bits
(256 bytes)
8 bits 256 bytes
Index Frame
Page Table Entry
(8bits = 1byte)
4 bits
4bits Misc
Page Table pointer
@V : 240 => 0000 0000 1111 0000 @V : 1761 => 6 x 256 + 225
n° Page = 0 => n° Cadre = 0011 n° Page = 6 => n° Cadre = 0101
Offset = 240 => 1111 0000 Offset = 225
@R : 0011 1111 0000 => 1008 @R : 5 x 256 + 225 = 1505
@V : 546 => 0x0222 @V : 2539 => Page 9 : Hors de l’espace virtuel d’adressage du processus
n° Page = 0x2 => n° Cadre = 0000
Offset = 0x22 @V : 783 => Page 3 / Présence = 0 : Défaut de page
@R : 0x0022 => 34
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 39 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 40 / 104
4Kbytes
Page Dir. Entry Frame
(32bits = 4bytes) Page Table Entry
(32bits = 4bytes)
32bits 20bits
20bits Misc. 20bits Misc
PD ptr
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 41 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 42 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 43 / 104
Logical Address
Segment
number Offset
8 bits 24 bits
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 44 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 45 / 104
N° de segment : 0x03
=> adresse de base : 0X00BE1A26
Décalage : 0x0000F0
=> inférieur à la limite du segment (0x0507) pas d’erreur de dépassement
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 46 / 104
• Le répertoire de page contient 1024 entrées => 10 bits pour identifier une entrée
• Une page contient 1024 entrées => 10 bits pour identifier une entrée
• La taille d’une page est de 4 ko => 12 bits de décalage
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 47 / 104
0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 0 1 1 0 1 1 0 0 0 1 0 1 1 0
Répertoire : 2 Page : 3E1 Décalage : B16
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 48 / 104
=> Mémoire physique occupée par le répertoire de table et la table des segments :
30 + 4x2 = 38 octets (négligeable)
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 49 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Apports d’un système d’exploitation Page 50 / 104
Pagination
processeur ARM
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 51 / 104
Pourquoi linux ?
• Libre, disponible gratuitement au niveau source.
• Ouvert.
• Différentes distributions proposées suivant l’application :
• Téléphonie,
• Routeur, switch, proxy, ...
• Télévision,
• Applications industrielles,
• ...
• Stable, performant.
• Support – communauté.
• Nombreux logiciels disponibles
• Connectivité Ip en standard.
• Portage sur tout type d’architecture (x86, ARM, MIPS, PowerPC, ...)
• Taille du noyau.
• Organisation modulaire = évolutivité
• Adaptation d’un spécialiste linux vers l’embarqué aisée
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 52 / 104
Rôle du noyau Linux : mettre les ressources matérielles à disposition des applications utilisateur.
Le processeur exécute le code du noyau en mode superviseur (privilégié).
Le processeur exécute le code en espace utilisateur en mode protégé (non-privilégié).
Les tâches (threads) de l'espace utilisateur s'exécutent dans des processus (espaces de
mémoire disjoints).
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 53 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 55 / 104
• Make :
• À saisir dans le répertoire racine des sources du noyau
• Option -j <n> pour accélérer la compilation en utilisant
plusieurs coeurs du processeur
• Pas d’exécution nécessaire en tant que root
• Génère :
• vmlinux : image non compressée du noyau mais non bootable
• arch/<arch>/boot/*Image : image finale et bootable,
généralement compressée, du noyau (bzImage pour x86,
zImage pour ARM...)
• Tous les modules du noyau, répartis dans l’arborescence des
sources, sous la forme de fichiers .ko
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 56 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 57 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 58 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 60 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 61 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 63 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 64 / 104
QNX
• Développé par QNX Software
• Noyau temps réel de type Unix, conforme à Posix
• Intègre l’environnement graphique Photon (proche de X Window System)
• Mise à disposition de la majorité des outils GNU
• Peut être utilisé gratuitement pour des applications non commerciales et
l’éducation
• Très faible empreinte mémoire
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 65 / 104
Windows
• Plusieurs versions compactes développées par Microsoft
• Windows CE très utilisé dans des équipement (ex : navigateurs GPS)
• Windows Phone pour la téléphone mobile
LynxOS
• Développé par la société Lynx Software Technologies
• Système temps réel conforme à la norme Posix
• Utilisé dans l’avionique, l’aérospatiale, la supervision industrielle et la
télécommunication.
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 66 / 104
VRTX
• Équipement du télescope spatial Hubble
• Gestion des processus contraints
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 67 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 68 / 104
MontaVista Linux
• Développé par la société MontaVista
• À l’origine des modifications du noyau Linux pour améliorer sa préemption
• Liste très fournie des processeurs supportés
BlueCat Linux
• Édité par LynxWork
• Compatibilité des exécutables sous BlueCat avec le système temps réel dur
propriétaire LynxOS
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 69 / 104
µCLinux
• Version du noyau pour microcontrôleurs et
processeurs sans MMU
• Disponible pour un grand nombre
d’architectures de processeurs
• Utilisation dans de nombreux produits : routeurs, caméras de sécurité,
lecteurs DVD ou MP3, téléphones IP, lecteurs de cartes...
Android
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 70 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 71 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 72 / 104
• Difficile à personnaliser
Distributions Difficile à optimiser (temps de démarrage, la
installables taille)
• Difficile de reconstruire le système complet à
(Debian, • Facile à installer et à administrer
partir des sources
Ubuntu, • « Grand système »
• Beaucoup de dépendances
openSuse, ...) • Non disponible pour toutes les architectures
• Beaucoup de souplesse
• Construction à partir des sources :
Build systems personnalisation et optimisation faciles
• Pas aussi facile une distribution binaire
Buildroot, Yocto, • entièrement reproductible
• Le temps de construction (compilation)
• Utilise la compilation croisée
PTXdist, etc • Paquets spécifiques pour l’embarqué
• Fonctionnalités en option
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 73 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 74 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 75 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 76 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 77 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 78 / 104
Boot partition
FAT16
Rootfs partition
EXT4
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 80 / 104
• Noyau Linux
• Système de fichiers racine
• Utilitaires de base (Busybox)
• Interaction
• Production d’un signal
• Performances temps réel
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 81 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 82 / 104
Principe :
• Programmer une tâche périodique
• Comparer la date d’échéance théorique avec la date réelle
• La différence correspond au « jitter » (gigue)
• La gigue est caractéristique de la « latence » du système
• Tester le système avec ET sans charge !
Outils :
• Tâche périodique: cyclictest, latency
• Manipulation de « GPIO »
• Stimulation: hackbench, stress, dohell
• Mesure : Oscilloscope, Gnuplot (tracé de courbes)
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 83 / 104
squareSignal.cpp
ofstream fs("/sys/class/gpio/gpio21/value");
while(1)
{
fs << "1" << endl;
usleep(duration);
fs << "0" << endl;
usleep(duration);
}
squareSignal 5000
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 84 / 104
squareSignal.cpp
ofstream fs("/sys/class/gpio/gpio21/value");
while(1)
{
fs << "1" << endl;
usleep(duration);
fs << "0" << endl;
usleep(duration);
}
squareSignal 100
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 85 / 104
squareSignal.cpp
ofstream fs("/sys/class/gpio/gpio21/value");
while(1)
{
fs << "1" << endl;
usleep(duration);
fs << "0" << endl;
usleep(duration);
}
squareSignal 100
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 86 / 104
int main(void)
{
...
printf("Create task sqrSig \n");
rt_task_create(&blink_task,"sqrSig",0,99,0);
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 87 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 88 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 89 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 90 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 91 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 92 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 93 / 104
#include <sched.h>
int sched_setscheduler(pid_t pid, //0: active thread
int policy, //SCHED_OTHER/FIFO/RR
const struct sched_param *p);
int sched_getscheduler(pid_t pid);
struct sched_param {
...
int sched_priority; //0..99
...
};
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 94 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 95 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 96 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 97 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 99 / 104
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 100 / 104
• Les skins sont des API d'autres RTOS (pSos, VxWorks…) qui
encapsulent des appels natifs
• Prototypage
• Portage d’applications existantes
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Linux pour l’embarqué Page 103 / 104
• Noyau Linux
• Système de fichiers racine
• Utilitaires de base (Busybox)
• Interaction
• Production d’un signal
• Performances temps réel
• Installation de Xenomai
• Tests avec et sans charge
• Compilation et exécution d’une tâche TR (API native)
Marc Silanus – Université d’Avignon UCE : Systèmes d’exploitation pour l’embarqué / Linux Novembre 2016
Sources – lectures recommandées Page 104 / 104