rtos = real time operating system ie real time
kernel
Quel besoin d'un rtos ?
- un rtos permet de realiser un systeme
complexe a l'aide de taches simples
- ces petites taches permettent de repondre
rapidement a des evenements importants, tout en definissant une priorite des
taches a effectuer d'une maniere structuree et parfaitement testable
- le noyau effectue la gestion du temps, la
frequence des appels aux taches et la gestion de la communication entre les
taches
- davantage d'activites sont rendues possible
car certaines taches peuvent etre mises au repos en attente d'un evenement
- on obtient un code plus compact en utilisant
la methode des machines d'etats
Qu'est le multitaches ?
- c'est l'apparence que plusieurs taches s'executent
simultanement
- chaque tache a l'impression de posseder la
cpu, mais c'est le noyau qui effectue le controle
- une seule tache est active a la fois, mais
tout le travail est effectue par plusieurs taches non bloquees
- le multitache est la gestion des
interruptions, des evenements, de la communication, du partage des donnees,
et de la gestion du temps
- le multitache est un concept qui consiste a
decouper un projet en taches qui vont s'effectuer dans une unite de temps,
ou a definir des evenements qui vont faire passer d'une tache a l'autre
Zone critrique
- une zone critique est une structure de
donnees, ou une ressource partagee, ou une section de code au timing
declicat, ou une zone de memoire non reentrante qu'un seul utilisateur a le
droit de lire/modifier/utiliser.
- ces zones ne doivent pas etre genees par des
interruptions lors d'une phase de mise a jour
- ces zones doivent etres protegees pour que
les autres taches ne puissent modifier les donnees ou l'etat du hardware.
- ces zones ne peuvent etre accedees par 2
taches
- ces zones doivent etres petites
- ces zones doivent permettrent qu'une
interruption puisse etre mise en attente
- les techniques de semaphores et d'inhibition
d'interruptions sont a utiliser lorsque l'on doit acceder a ces zones
Ressources partagees
- ce sont par exemple des structures de donnees,
l'affichage, les ports d'entree/sortie, les routines non reentrantes
- si au moins 2 taches utilisent ces
ressources, alors elles sont dites partagees
- elles doivent appartenir a un proprietaire
qui va decider de faire attendre les acces
Selecteur contextuel / selecteur de taches
| |
|