Vous êtes sur la page 1sur 18

Système d'exploitation

pour l'embarqué eCos


Réalisé par :
Roua Zayed
Malek Hajjeji
Rihab ben ali
Plan

1
• Définition

2
• À propos ecos

3
• Domaine d’application

4
• Architecture du système

5
• Avantages et limites

6
Conclusion

2
Définition
• ECOS Embedded Configurable Operating System (Système
d'exploitation embarqué configurable).
• C'est un système d'exploitation embarqué et temps réel.
• Permet de développer des programmes dans lesquels le temps de réponse et la
réactivité sont des contraintes fortes (dit temps réel dur).
• La spécificité d'eCos est d'être extrêmement configurable

3
À propos ecos

• Famille : systéme d’exploitation temps réel (pour l’embarqué)


• Développeur: Cygnus Solutions
• Écrit en C, C++
• 1ére version : 1998
• Derniére version 3,0 (en mars 2009)
• Logiciel libre (distribué sous licence libre(GPL))pour systémes embarquées
• Platedformes: ARM, NiosII, Intel X86, PowerPc, MIPS, M68K, SuperH,,,
Domaines d’application

Electronique grand public et multimédia Réseaux et communications

Systèmes satellitaires et Bureautique et


Industrie et automobile
spatiaux informatique
Architecture
L'ecos est conçu comme une architecture de
composants configurables composé d'un logiciel
clé de plusieurs composants tels que la couche
HAL, Kernel …
Le HAL

La Hardware Abstraction Layer (HAL, couche d'abstraction matérielle) est une couche logicielle
qui permet d'isoler les spécificités matérielles de la couche logicielle
La couche HAL est composé de trois modules distincts
▪ l'architecture: 1 architecture dans eCos = 1 famille de processeurs.
▪ les variantes: Une variante est un processeur spécifique au sein de la famille de processeurs décrite par
l'architecture qui gèrerait une MMU (Memory Management Unit).
▪ la plate-forme : regroupe le code spécifique à la partie du matériel qui supporte le processeur
(typiquement une carte d’évaluation).

7
Kernel (noyau)

Le Kernel est le noyau du système eCos.Le Kernel d'eCos fournit toutes les fonctions
standards d'un OS temps-réel :
 gestion des exceptions
 interruptions
 ordonnancement
 synchronisation Mécanismes
….

8

Gestion des exceptions
La gestion des exceptions peut se faire de deux manières
dans Système eCos :

- HAL et à la gestion des exceptions du noyau:


• Récupérer les exceptions matérielles
• chercher l’adresse dans une table appelée Vector Service
Routine (VSR)
• exécute le code qui s'y trouve

- la gestion des exceptions au niveau de l'application:


• la gestion des exceptions est alors entièrement prise en
charge par l'application
• Réimplémenter en code assembleur les fonctions assurées
autrement par l'exception par défaut

Il est également possible de ne pas les activer du tout, mais cela n'est pas recommandé.
“ Interruptions

La gestion des interruptions par eCos est divisée en


deux parties, chacune s'exécutant l'une à la suite de
l'autre :

- le Deferred Service Routine (DSR)


- Interruption Service Routine (ISR)
Gestion des threads
• Thread: Un processus léger qui exécute un ensemble des instructions. eCos offre des options de
configuration qui contrôlent le comportement de threads :

• cyg_thread_create() • cyg_thread_yield()
• Créer un thread dans un état suspendu • Permet de préempter un thread afin de plus
favoriser l’exécution qu'un autre thread de
même niveau de priorité
• cyg_thread_exit() • cyg_thread_kill()
• Permet a un thread de se terminer • Force la terminaison d'un thread

• cyg_thread_release() • cyg_thread_delay()
• Permet la libération de la mémoire • Place le thread dans un état de sommeil
utilisée par un thread qui s'est termine
“ Ordonnancement
Les travails de l'ordonnanceur est de sélectionner le
thread appropriées pour l'exécution, prévoir des
mécanismes de ces threads d'exécution de
synchroniser et de contrôler l'effet des interruptions
sur l'exécution du thread
On a deux ordonnanceurs différents :
Multilevel queue
-Chaque thread se voit assigner lors de sa
création une priorité comprise entre 0 et 31
-La gestion entre les threads de priorités
différentes se fait par préemption du thread de
priorité
- la gestion entre les threads de même priorité se
fait par fenêtre de temps d'exécution
Bitmap
- L'ordonnanceur bitmap permet l'exécution de
threads à niveaux multiples de priorité, mais un
seul thread peut exister à chaque niveau de
priorité
- Le nombre de niveaux de priorité est une
option de configuration à partir 1 à 32,
correspondant aux numéros de priorité 0 à 31
Fonctions API pour l’ordonnanceur

• Cyg_scheduler_start() • Cyg_read_lock()
• Demarre l’ordonnanceur, bitmap ou • Retourne l’état actuel de la lock
multilevel queue, selon les points de ordonnanceur
configuration sélectionnées

• Cyg_scheduler_lock() • Cyg_scheduler_unlock()
• Verrouillage de l’ordonnanceur • Decremente le compteur de verrouillage
ordonnanceur

Synchronisation Mécanismes
Le noyau eCos fournit les mécanismes permettant aux
threads du système de communiquer avec les uns les
autres et synchronisez l’accès aux ressources
partagées. Les mécanismes fournis par les eCos
noyau sont:
• Mutex.
• Sémaphores
• Variables de condition
• Drapeaux
• Boîtes de message
• Spinlocks
Avantages Limites

• Portabilité • Difficile à utiliser


• Configurabilité • Non développé depuis 2009
• Flexibilité et efficacité
• Open source
• temps réel
• Puissant
Conclusion
•. La nature hautement configurable des eCos a également permis aux
entreprises de réduire délai de commercialisation des produits
embarqués. Aujourd’hui, de nombreuses entreprises utilisent des
eCos, et de nombreux produits à succès ont été lancement d’eCos
en cours d’exécution, y compris l’imprimante laser couleur réseau
Brother HL-2400 CeN, Delphi Communiport et le lecteur audio
numérique Iomega Hip Zip

Vous aimerez peut-être aussi