Chapitre 3 Description de l'architecture de la
plateforme TinyOS
Plus tard :
F.Consommation d'énergie : TinyOS a
été conçu pour réduire au maximum la consommation
en énergie du capteur. Ainsi, lorsqu'aucune tâche n'est pas
active, il se met automatiquement en veille.
2.4 Allocation de la mémoire
TinyOS a une empreinte mémoire très faible
puisqu'il ne prend que 300 à 400 octets dans le cadre d'une distribution
minimale. En plus de cela, il est nécessaire d'avoir 4 Ko de
mémoire libre qui se répartissent entre les différents
besoins suivant :
La pile : sert de mémoire temporaire, on
y empile et dépile les variables locales.
Les variables globales : réservent un
espace mémoire pour le stockage de valeurs pouvant être accessible
depuis des applications différentes.
La mémoire libre : pour le reste du
stockage temporaire.
Autres particularités, il n'y a pas d'allocation
dynamique de mémoire et pas de mécanisme de protection de la
mémoire, ce qui rend le système vulnérable à des
crashs ou des corruptions de mémoire.
2.5 Fonctionnement
Les composants déclarent des tâches, des
commandes ou des événements.
Les tâches sont des travaux de "longue
durée". Lors de l'appel d'une tâche, cette dernière est
ajoutée dans une file de type FIFO. Les tâches s'exécutent
dans l'odre de la file et en entier car TinyOS ne dispose pas de
mécanisme de préemption entre les tâches.
Les commandes sont des exécutions
d'une fonctionnalité précise dans un autre composant
Les événements sont les
équivalents logiciels aux interruptions matérielles, ils sont
prioritaires par rapport aux tâches et peuvent donc les interrompre.
Lorsque la file d'attente est vide, cela signifie qu'aucune
tâche n'est exécutée, et TinyOS met en veille le capteur,
afin d'économiser la batterie.
|