SlideShare une entreprise Scribd logo
TINYOS: SYSTÈME D’EXPLOITATION
POUR RÉSEAUX DE CAPTEURS SANS
FILS
Présenté par :
SAKIRDA Wijdane
HASSANI IDRISSI Adil
ZARBOUBI Mohamed
Encadré par :
M.JENKAL
MASTER SPÉCIALISÉ
FILIÈRE : SYSTÈMES EMBARQUÉS ET INGÉNIERIE BIOMÉDICALE
MODULE :RÉSEAUX DE CAPTEURSSANS FILS
Année Universitaire 2020 – 2021
Le Lundi 01 Février 2021
Plan
1. Introduction
2. PropriétésTinyOS
3. Gestion des processus
4. Gestion de la mémoire
5. Gestion des interruptions
6. Langage NesC
7. Exemple application Blink.nc ?
1. Introduction
 Réseaux de capteurs sans fil :
 Capables de recevoir et de transmettre des données d'une manière autonome
 Disposés d’une alimentation autonome
 Durée de vie de batterie est limitée
Un système d’exploitation spécialisé pour fonctionner sur ce type
de réseau de capteurs tout en respectant ses contraintes.
 Évènementiel
Le fonctionnement d’un
système basé surTinyOS
s’appuie sur la gestion des
évènements se
produisant.
 Non préemptif
TinyOS ne gère pas ce
mécanisme de préemption
entre les tâches mais donne
la priorité aux interruptions
matérielles.
2. Propriété deTinyOS
 Pas de temps réel
Un système strict, aucune
échéance ne tolère de
dépassement.TinyOS se situe au-
delà de ce type car il n’est pas
prévu pour avoir un
fonctionnement temps réel.
 Consommation
TinyOS a été conçu pour réduire
au maximum la consommation en
énergie du capteur. Ainsi,
lorsqu’aucune tâche n’est active, il
se met automatiquement en
veille.
2. Propriété deTinyOS
A. Ordonnancement :
L’ordonnanceurTinyOS comporte :
o Deux niveaux de priorité (bas pour les tâches, haut pour les évènements)
o Une file d’attente FIFO (disposant d’une capacité de 7 places)
 L’appel d’une tache : prend place dans la file d’attente pour y être exécutée.
 La file d’attente des taches est vide : le dispositif est en veille
 La file d’attente est pleine : la tâche dont la priorité est la plus faible est enlevée.
 Priorité des évènement : peuvent interrompre la tache en cours d’exécution
3. Gestion des processus
B. Communications et synchronisation:
 Communications par Messages : la boîte aux lettres ou BAL : le message
est placé en mémoire par l'émetteur et il est récupéré depuis cette case
par le récepteur.
 Communication par zone commune: dispose d'une zone de mémoire
commune où les données sont disposées en libre accès.
Le problème que pose ce type de communication est la synchronisation entre
les processus.
3. Gestion des processus
Concernant la synchronisation, le systèmeTinyOS fournit plusieurs outils, on cite :
 Synchronisation par Rendez-vous: Un rendez-vous unilatéral est un point où
un processus se synchronise avec quelque chose d'externe, sans que l'agent
extérieur ait besoin de se synchroniser avec ce processus.
 Synchronisation par événements : le mécanisme de drapeaux événements
(event flags) signale aux processus qu'un événement asynchrone (event) s'est
produit.
3. Gestion des processus
Gestion de la mémoire surTinyOS
 En général dans un système embarqué :
 allocation mémoire statique:
 Éviter « Memory Overflow »
 Éviter utilisation d’algorithmes d'allocation mémoire compliqués nécessitant
beaucoup de temps de calcul.
 Contrainte : le système est embarqué et donc doté d’une mémoire réduite;
ne pouvant pas contenir le OS ainsi que les programmes en même temps.
Gestion de la mémoire surTinyOS
 TinyOS occupe un espace mémoire très
faible:
 300 à 400 octets (distribution minimale)
 4 Ko de mémoire libre :
 La pile : mémoire temporaire pour le
fonctionnement du système notamment pour
l’empilement et le dépilement des 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.
Gestion de la mémoire surTinyOS
 Spécificités du modèle mémoire duTinyOS :
 Allocation non dynamique de la mémoire (statique):
 Absence du tas (heap)
 Absence de pointeurs sur fonctions
 Variables locales :
 Stockées sur la pile
 Variables globales :
 Disponibilité par trame
 Conservation de mémoire
 « Flat Memory » : l’espace mémoire est une seule et
même zone
Gestion des interruptions
 La gestion des interruptions est d'une grande importance.
 TinyOS est non préemptif == ne gère pas les interruptions entre tâches
 Priorité aux interruptions matérielles qui peuvent à tout moment stopper
l’exécution d’une tâche.
 L'interaction avec l'environnement se fait à travers des interruptions.
 Le systèmeTinyOS est aussi appelé système piloté par interruptions
(Interrupt Driven System)
– grande partie du traitement se fait durant les ISRs
– passe la plupart de son temps dans un mode basse-énergie.
Gestion des interruptions
 Changement de contexte :
 Utilisation des masques d’interruption
 Prise en compte que des interruptions urgentes
 Autres interruptions pour plus tard, dans le cas où plusieurs interruptions ont lieu
Tâche courante
Routine de Service
d’Interruption
(ISR)
Ancienne tâche
Latence Latence
Définition de nesc
14
NesC est un langage de programmation dérivé du langage C, fait pour minimiser
l’utilisation de mémoire et de puissance de calcul par les capteurs, qui très
souvent disposent de ressources très limitées (batterie de faible puissance et non
changeable, mémoire réduite...)
Définition de nesc
15
Il est ainsi essentiellement dédié pour la réalisation de systèmes embarqués
distribués. Il cible en particulier l’implémentation d’applications pour les réseaux
de capteurs. Il offre donc une réactivité importante vis-à-vis de l’environnement,
Il propose de nombreuses optimisations pour diminuer l’occupation de l’espace
mémoire.
Définition de nesc
16
NesC permet la décomposition d’une application en « modules » réutilisables en
fournissant d’abord trois abstractions de programmation :
les interfaces
 les modules
 les configurations
Définition de nesc
17
L'unité de code de base de nesC est
le composant "component"
Component
A
Component
B
Component D
Component
C
Application
configuration
Component
E
Component F
Définition de nesc
18
Composant
Définition de nesc
19
• module MyAppM {
• provides interface
StdControl;
• uses interface ADC;
• uses interface Timer;
• uses interface Send;
• }
• implementation {
• …
• }
interface StdControl {
command void init();
command void start();
command void stop();
}
interface ADC {
command void getData();
event void dataReady(int data);
}
interface Timer {
command void start(int interval);
command void stop();
event void fired();
}
interface Send {
command void send(TOS_Msg *m);
event void sendDone();
}
Définition de nesc
20
TinyOS/nesC Basic Concepts 20
module ModuleName {
provides interface StdControl;
provides interface I1;
}
implementation {
// ========== FRAME =========
uint8_t count=0;
// ========== FUNCTIONS =====
command result_t StdControl.init() {
return SUCCESS;
}
command result_t StdControl.start() {
return SUCCESS;
}
command void I1.increment() {
return count++;
}
command result_t StdControl.stop() {
return SUCCESS;
}
}
Component
Frame
Functions
provides
module
implementation
uses
Interface_A
Interface_B
Définition de nesc
21
Composant
Exemple D’application
22
Exemple D’application Blink
Le programme "Blink" se trouve à apps/Blink dans l'arbre deTinyOS. Cette
application allume la LED rouge à une fréquence de 1HZ.
L'application Blink est composée de deux composants: un module, appelé
"BlinkM.nc", et une configuration, appelée "Blink.nc". Blink.nc est utilisée pour
relier le module BlinkM.nc à d'autres composants requis par l'application Blink.
Définition de nesc
23
Exemple D’application Blink
Définition de nesc
24
Exemple D’application Blink
 La commande init() initialise simplement le
composant Leds en appelant Leds.init()
 La commande start() invoqueTimer.start()
pour créer leTimer répétitif (REPEAT
TIMER) qui expire à chaque 1000 ms
 stop() arrête leTimer
 A chaque fois que l'événementTimer.fired()
est signalé, la commande Leds.redToggle()
permet d'allumer la diode rouge
Définition de nesc
25
Exemple D’application Blink
Compiler et exécuter une application nesC
26
La première étape de ce processus consiste à compiler les fichiers nécessaires à l'application et au
système d'exploitation. Celle-ci est réalisée via le compilateur NesC fourni par TinyOS. Son rôle est
premièrement de transformer les fichiers NesC en fichier C et deuxièmement d'y intégrer les fichiers
du noyau de TinyOS. Ce qui permet d'obtenir un fichier source C unique. Une fois cette étape
accomplie, il ne reste alors qu'à utiliser un compilateur C traditionnel qui va utiliser le fichier
précédemment créé afin de générer une application exécutable. Celle-ci sera donc constituée par la
«fusion» du système d'exploitation et du code applicatif.
Conclusion
27
28
TINYOS: SYSTÈME D’EXPLOITATION
POUR RÉSEAUX DE CAPTEURS SANS
FILS
Présenté par :
SAKIRDA Wijdane
HASSANI IDRISSI Adil
ZARBOUBI Mohamed
Encadré par :
M.JENKAL
MASTER SPÉCIALISÉ
FILIÈRE : SYSTÈMES EMBARQUÉS ET INGÉNIERIE BIOMÉDICALE
MODULE :RÉSEAUX DE CAPTEURSSANS FILS
Année Universitaire 2020 – 2021
Le Lundi 01 Février 2021

Contenu connexe

Tendances

Réseau lora
Réseau loraRéseau lora
Réseau lora
IoT Tunisia
 
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésProgrammation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
ECAM Brussels Engineering School
 
Les réseaux de neurones
Les réseaux de neuronesLes réseaux de neurones
Les réseaux de neurones
Mariam Amchayd
 
CONCEPTION ET REALISATION D’UN RESEAU DE CAPTEURS SANS FILS APPLICATION : AGR...
CONCEPTION ET REALISATION D’UN RESEAU DE CAPTEURS SANS FILS APPLICATION : AGR...CONCEPTION ET REALISATION D’UN RESEAU DE CAPTEURS SANS FILS APPLICATION : AGR...
CONCEPTION ET REALISATION D’UN RESEAU DE CAPTEURS SANS FILS APPLICATION : AGR...
abdelaligougou1
 
Réseaux de neurones récurrents et LSTM
Réseaux de neurones récurrents et LSTMRéseaux de neurones récurrents et LSTM
Réseaux de neurones récurrents et LSTM
Jaouad Dabounou
 
Quelques points sur les métaheuristiques
Quelques points sur les métaheuristiquesQuelques points sur les métaheuristiques
Quelques points sur les métaheuristiques
BENSMAINE Abderrahmane
 
Neural Network -How it works, an implementation with python-.pdf
Neural Network -How it works, an implementation with python-.pdfNeural Network -How it works, an implementation with python-.pdf
Neural Network -How it works, an implementation with python-.pdf
ssuseref253b1
 
Réseau de capteurs sans fil
Réseau de capteurs sans fil  Réseau de capteurs sans fil
Réseau de capteurs sans fil
Ghassen Chaieb
 
Reconnaissance faciale
Reconnaissance facialeReconnaissance faciale
Reconnaissance faciale
Aymen Fodda
 
Algorithmique et Structures de Données II
Algorithmique et Structures de Données IIAlgorithmique et Structures de Données II
Algorithmique et Structures de Données II
Riadh Bouslimi
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
Abdoulaye Dieng
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correction
Ines Ouaz
 
TP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec MatlabTP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec Matlab
Mariem ZAOUALI
 
Présentation pfe
Présentation pfePrésentation pfe
Présentation pfe
Abdelghafour Zguindou
 
Projet de communication numérique Réalisation d'une chaîne de transmission nu...
Projet de communication numérique Réalisation d'une chaîne de transmission nu...Projet de communication numérique Réalisation d'une chaîne de transmission nu...
Projet de communication numérique Réalisation d'une chaîne de transmission nu...
Yassine Nasser
 
Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Cours  systèmes temps réel partie 2 Prof. Khalifa MANSOURICours  systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Mansouri Khalifa
 
Intelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsIntelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes experts
Mohamed Heny SELMI
 
Voyage dans le monde du Deep Learning
Voyage dans le monde du Deep LearningVoyage dans le monde du Deep Learning
Voyage dans le monde du Deep Learning
Alexia Audevart
 
Transmission numérique .pdf
Transmission numérique .pdfTransmission numérique .pdf
Transmission numérique .pdf
ZakariaHousni1
 
Formation stm32
Formation stm32Formation stm32
Formation stm32
Hamza RAJHI
 

Tendances (20)

Réseau lora
Réseau loraRéseau lora
Réseau lora
 
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésProgrammation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
 
Les réseaux de neurones
Les réseaux de neuronesLes réseaux de neurones
Les réseaux de neurones
 
CONCEPTION ET REALISATION D’UN RESEAU DE CAPTEURS SANS FILS APPLICATION : AGR...
CONCEPTION ET REALISATION D’UN RESEAU DE CAPTEURS SANS FILS APPLICATION : AGR...CONCEPTION ET REALISATION D’UN RESEAU DE CAPTEURS SANS FILS APPLICATION : AGR...
CONCEPTION ET REALISATION D’UN RESEAU DE CAPTEURS SANS FILS APPLICATION : AGR...
 
Réseaux de neurones récurrents et LSTM
Réseaux de neurones récurrents et LSTMRéseaux de neurones récurrents et LSTM
Réseaux de neurones récurrents et LSTM
 
Quelques points sur les métaheuristiques
Quelques points sur les métaheuristiquesQuelques points sur les métaheuristiques
Quelques points sur les métaheuristiques
 
Neural Network -How it works, an implementation with python-.pdf
Neural Network -How it works, an implementation with python-.pdfNeural Network -How it works, an implementation with python-.pdf
Neural Network -How it works, an implementation with python-.pdf
 
Réseau de capteurs sans fil
Réseau de capteurs sans fil  Réseau de capteurs sans fil
Réseau de capteurs sans fil
 
Reconnaissance faciale
Reconnaissance facialeReconnaissance faciale
Reconnaissance faciale
 
Algorithmique et Structures de Données II
Algorithmique et Structures de Données IIAlgorithmique et Structures de Données II
Algorithmique et Structures de Données II
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correction
 
TP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec MatlabTP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec Matlab
 
Présentation pfe
Présentation pfePrésentation pfe
Présentation pfe
 
Projet de communication numérique Réalisation d'une chaîne de transmission nu...
Projet de communication numérique Réalisation d'une chaîne de transmission nu...Projet de communication numérique Réalisation d'une chaîne de transmission nu...
Projet de communication numérique Réalisation d'une chaîne de transmission nu...
 
Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Cours  systèmes temps réel partie 2 Prof. Khalifa MANSOURICours  systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURI
 
Intelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsIntelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes experts
 
Voyage dans le monde du Deep Learning
Voyage dans le monde du Deep LearningVoyage dans le monde du Deep Learning
Voyage dans le monde du Deep Learning
 
Transmission numérique .pdf
Transmission numérique .pdfTransmission numérique .pdf
Transmission numérique .pdf
 
Formation stm32
Formation stm32Formation stm32
Formation stm32
 

Similaire à Tiny os

Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).ppt
MahdiHERMASSI1
 
La technologie des systemes distribués 2 ppt2222.pptx
La technologie des systemes distribués 2 ppt2222.pptxLa technologie des systemes distribués 2 ppt2222.pptx
La technologie des systemes distribués 2 ppt2222.pptx
kaoutarghaffour
 
Introduction.ppt
Introduction.pptIntroduction.ppt
Introduction.ppt
MahdiHERMASSI1
 
Cours sys 2PPT20.pdf
Cours sys 2PPT20.pdfCours sys 2PPT20.pdf
Cours sys 2PPT20.pdf
C00LiMoUn
 
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
Stéphane Legrand
 
cấu trúc máy tính ( architecture des ordinatuers)
cấu trúc máy tính ( architecture des ordinatuers)cấu trúc máy tính ( architecture des ordinatuers)
cấu trúc máy tính ( architecture des ordinatuers)
Hạ Cháy
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
Wassim Smati
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
Wassim Smati
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
Sana Aroussi
 
Cours systèmes d'exploitation 2
Cours systèmes d'exploitation 2Cours systèmes d'exploitation 2
Cours systèmes d'exploitation 2
Salah Triki
 
Simulation d’un système à temps partagé
Simulation d’un système à temps partagéSimulation d’un système à temps partagé
Simulation d’un système à temps partagé
Bachir Benyammi
 
systèmes distribues
systèmes distribuessystèmes distribues
systèmes distribues
kaoutarghaffour
 
srep_cours_01.pdf
srep_cours_01.pdfsrep_cours_01.pdf
srep_cours_01.pdf
SamirAwad14
 
A la découverte d'abus
A la découverte d'abusA la découverte d'abus
A la découverte d'abus
Thierry Gayet
 
Chapitre 03
Chapitre 03Chapitre 03
Chapitre 03
Sofiane Usma
 
Article open-silicium-juin-juillet-aout-2013
Article open-silicium-juin-juillet-aout-2013Article open-silicium-juin-juillet-aout-2013
Article open-silicium-juin-juillet-aout-2013
O10ée
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseur
ISIG
 
Installation et Configuration d_un systeme de Detection d_intrusion (IDS).pdf
Installation et Configuration d_un systeme de Detection d_intrusion (IDS).pdfInstallation et Configuration d_un systeme de Detection d_intrusion (IDS).pdf
Installation et Configuration d_un systeme de Detection d_intrusion (IDS).pdf
ngombeemmanuel
 
Architectures parallèles.pdf
Architectures parallèles.pdfArchitectures parallèles.pdf
Architectures parallèles.pdf
YasmineChihab1
 

Similaire à Tiny os (20)

Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).ppt
 
La technologie des systemes distribués 2 ppt2222.pptx
La technologie des systemes distribués 2 ppt2222.pptxLa technologie des systemes distribués 2 ppt2222.pptx
La technologie des systemes distribués 2 ppt2222.pptx
 
Introduction.ppt
Introduction.pptIntroduction.ppt
Introduction.ppt
 
Cours sys 2PPT20.pdf
Cours sys 2PPT20.pdfCours sys 2PPT20.pdf
Cours sys 2PPT20.pdf
 
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
 
Grid computing
Grid computingGrid computing
Grid computing
 
cấu trúc máy tính ( architecture des ordinatuers)
cấu trúc máy tính ( architecture des ordinatuers)cấu trúc máy tính ( architecture des ordinatuers)
cấu trúc máy tính ( architecture des ordinatuers)
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
 
Cours systèmes d'exploitation 2
Cours systèmes d'exploitation 2Cours systèmes d'exploitation 2
Cours systèmes d'exploitation 2
 
Simulation d’un système à temps partagé
Simulation d’un système à temps partagéSimulation d’un système à temps partagé
Simulation d’un système à temps partagé
 
systèmes distribues
systèmes distribuessystèmes distribues
systèmes distribues
 
srep_cours_01.pdf
srep_cours_01.pdfsrep_cours_01.pdf
srep_cours_01.pdf
 
A la découverte d'abus
A la découverte d'abusA la découverte d'abus
A la découverte d'abus
 
Chapitre 03
Chapitre 03Chapitre 03
Chapitre 03
 
Article open-silicium-juin-juillet-aout-2013
Article open-silicium-juin-juillet-aout-2013Article open-silicium-juin-juillet-aout-2013
Article open-silicium-juin-juillet-aout-2013
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseur
 
Installation et Configuration d_un systeme de Detection d_intrusion (IDS).pdf
Installation et Configuration d_un systeme de Detection d_intrusion (IDS).pdfInstallation et Configuration d_un systeme de Detection d_intrusion (IDS).pdf
Installation et Configuration d_un systeme de Detection d_intrusion (IDS).pdf
 
Architectures parallèles.pdf
Architectures parallèles.pdfArchitectures parallèles.pdf
Architectures parallèles.pdf
 

Plus de MOHAMED ZARBOUBI

Defibrillateur
DefibrillateurDefibrillateur
Defibrillateur
MOHAMED ZARBOUBI
 
Eléctrocardiogramme Foetal (FECG)
Eléctrocardiogramme Foetal (FECG)Eléctrocardiogramme Foetal (FECG)
Eléctrocardiogramme Foetal (FECG)
MOHAMED ZARBOUBI
 
EMG anormal
EMG anormalEMG anormal
EMG anormal
MOHAMED ZARBOUBI
 
EEG normal
EEG normalEEG normal
EEG normal
MOHAMED ZARBOUBI
 
Tp1 architecture m.zarboubi
Tp1 architecture m.zarboubiTp1 architecture m.zarboubi
Tp1 architecture m.zarboubi
MOHAMED ZARBOUBI
 
Tp bus i2_c_partie_2
Tp bus i2_c_partie_2Tp bus i2_c_partie_2
Tp bus i2_c_partie_2
MOHAMED ZARBOUBI
 
Tp bus i2_c
Tp bus i2_cTp bus i2_c
Tp bus i2_c
MOHAMED ZARBOUBI
 
Spectrophotomètre
SpectrophotomètreSpectrophotomètre
Spectrophotomètre
MOHAMED ZARBOUBI
 
maintenance de scanner médicale
maintenance de scanner médicalemaintenance de scanner médicale
maintenance de scanner médicale
MOHAMED ZARBOUBI
 
Générateur d'HD & Salle de traitement d'eau
Générateur d'HD & Salle de traitement d'eau Générateur d'HD & Salle de traitement d'eau
Générateur d'HD & Salle de traitement d'eau
MOHAMED ZARBOUBI
 
Respirateur de réanimation
Respirateur de réanimationRespirateur de réanimation
Respirateur de réanimation
MOHAMED ZARBOUBI
 
phonocardiogramme (Pcg)
phonocardiogramme (Pcg)phonocardiogramme (Pcg)
phonocardiogramme (Pcg)
MOHAMED ZARBOUBI
 
Manet vs Rcsf
Manet vs RcsfManet vs Rcsf
Manet vs Rcsf
MOHAMED ZARBOUBI
 
Le rythme cardiaque
Le rythme cardiaqueLe rythme cardiaque
Le rythme cardiaque
MOHAMED ZARBOUBI
 

Plus de MOHAMED ZARBOUBI (14)

Defibrillateur
DefibrillateurDefibrillateur
Defibrillateur
 
Eléctrocardiogramme Foetal (FECG)
Eléctrocardiogramme Foetal (FECG)Eléctrocardiogramme Foetal (FECG)
Eléctrocardiogramme Foetal (FECG)
 
EMG anormal
EMG anormalEMG anormal
EMG anormal
 
EEG normal
EEG normalEEG normal
EEG normal
 
Tp1 architecture m.zarboubi
Tp1 architecture m.zarboubiTp1 architecture m.zarboubi
Tp1 architecture m.zarboubi
 
Tp bus i2_c_partie_2
Tp bus i2_c_partie_2Tp bus i2_c_partie_2
Tp bus i2_c_partie_2
 
Tp bus i2_c
Tp bus i2_cTp bus i2_c
Tp bus i2_c
 
Spectrophotomètre
SpectrophotomètreSpectrophotomètre
Spectrophotomètre
 
maintenance de scanner médicale
maintenance de scanner médicalemaintenance de scanner médicale
maintenance de scanner médicale
 
Générateur d'HD & Salle de traitement d'eau
Générateur d'HD & Salle de traitement d'eau Générateur d'HD & Salle de traitement d'eau
Générateur d'HD & Salle de traitement d'eau
 
Respirateur de réanimation
Respirateur de réanimationRespirateur de réanimation
Respirateur de réanimation
 
phonocardiogramme (Pcg)
phonocardiogramme (Pcg)phonocardiogramme (Pcg)
phonocardiogramme (Pcg)
 
Manet vs Rcsf
Manet vs RcsfManet vs Rcsf
Manet vs Rcsf
 
Le rythme cardiaque
Le rythme cardiaqueLe rythme cardiaque
Le rythme cardiaque
 

Tiny os

  • 1. TINYOS: SYSTÈME D’EXPLOITATION POUR RÉSEAUX DE CAPTEURS SANS FILS Présenté par : SAKIRDA Wijdane HASSANI IDRISSI Adil ZARBOUBI Mohamed Encadré par : M.JENKAL MASTER SPÉCIALISÉ FILIÈRE : SYSTÈMES EMBARQUÉS ET INGÉNIERIE BIOMÉDICALE MODULE :RÉSEAUX DE CAPTEURSSANS FILS Année Universitaire 2020 – 2021 Le Lundi 01 Février 2021
  • 2. Plan 1. Introduction 2. PropriétésTinyOS 3. Gestion des processus 4. Gestion de la mémoire 5. Gestion des interruptions 6. Langage NesC 7. Exemple application Blink.nc ?
  • 3. 1. Introduction  Réseaux de capteurs sans fil :  Capables de recevoir et de transmettre des données d'une manière autonome  Disposés d’une alimentation autonome  Durée de vie de batterie est limitée Un système d’exploitation spécialisé pour fonctionner sur ce type de réseau de capteurs tout en respectant ses contraintes.
  • 4.  Évènementiel Le fonctionnement d’un système basé surTinyOS s’appuie sur la gestion des évènements se produisant.  Non préemptif TinyOS ne gère pas ce mécanisme de préemption entre les tâches mais donne la priorité aux interruptions matérielles. 2. Propriété deTinyOS
  • 5.  Pas de temps réel Un système strict, aucune échéance ne tolère de dépassement.TinyOS se situe au- delà de ce type car il n’est pas prévu pour avoir un fonctionnement temps réel.  Consommation TinyOS a été conçu pour réduire au maximum la consommation en énergie du capteur. Ainsi, lorsqu’aucune tâche n’est active, il se met automatiquement en veille. 2. Propriété deTinyOS
  • 6. A. Ordonnancement : L’ordonnanceurTinyOS comporte : o Deux niveaux de priorité (bas pour les tâches, haut pour les évènements) o Une file d’attente FIFO (disposant d’une capacité de 7 places)  L’appel d’une tache : prend place dans la file d’attente pour y être exécutée.  La file d’attente des taches est vide : le dispositif est en veille  La file d’attente est pleine : la tâche dont la priorité est la plus faible est enlevée.  Priorité des évènement : peuvent interrompre la tache en cours d’exécution 3. Gestion des processus
  • 7. B. Communications et synchronisation:  Communications par Messages : la boîte aux lettres ou BAL : le message est placé en mémoire par l'émetteur et il est récupéré depuis cette case par le récepteur.  Communication par zone commune: dispose d'une zone de mémoire commune où les données sont disposées en libre accès. Le problème que pose ce type de communication est la synchronisation entre les processus. 3. Gestion des processus
  • 8. Concernant la synchronisation, le systèmeTinyOS fournit plusieurs outils, on cite :  Synchronisation par Rendez-vous: Un rendez-vous unilatéral est un point où un processus se synchronise avec quelque chose d'externe, sans que l'agent extérieur ait besoin de se synchroniser avec ce processus.  Synchronisation par événements : le mécanisme de drapeaux événements (event flags) signale aux processus qu'un événement asynchrone (event) s'est produit. 3. Gestion des processus
  • 9. Gestion de la mémoire surTinyOS  En général dans un système embarqué :  allocation mémoire statique:  Éviter « Memory Overflow »  Éviter utilisation d’algorithmes d'allocation mémoire compliqués nécessitant beaucoup de temps de calcul.  Contrainte : le système est embarqué et donc doté d’une mémoire réduite; ne pouvant pas contenir le OS ainsi que les programmes en même temps.
  • 10. Gestion de la mémoire surTinyOS  TinyOS occupe un espace mémoire très faible:  300 à 400 octets (distribution minimale)  4 Ko de mémoire libre :  La pile : mémoire temporaire pour le fonctionnement du système notamment pour l’empilement et le dépilement des 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.
  • 11. Gestion de la mémoire surTinyOS  Spécificités du modèle mémoire duTinyOS :  Allocation non dynamique de la mémoire (statique):  Absence du tas (heap)  Absence de pointeurs sur fonctions  Variables locales :  Stockées sur la pile  Variables globales :  Disponibilité par trame  Conservation de mémoire  « Flat Memory » : l’espace mémoire est une seule et même zone
  • 12. Gestion des interruptions  La gestion des interruptions est d'une grande importance.  TinyOS est non préemptif == ne gère pas les interruptions entre tâches  Priorité aux interruptions matérielles qui peuvent à tout moment stopper l’exécution d’une tâche.  L'interaction avec l'environnement se fait à travers des interruptions.  Le systèmeTinyOS est aussi appelé système piloté par interruptions (Interrupt Driven System) – grande partie du traitement se fait durant les ISRs – passe la plupart de son temps dans un mode basse-énergie.
  • 13. Gestion des interruptions  Changement de contexte :  Utilisation des masques d’interruption  Prise en compte que des interruptions urgentes  Autres interruptions pour plus tard, dans le cas où plusieurs interruptions ont lieu Tâche courante Routine de Service d’Interruption (ISR) Ancienne tâche Latence Latence
  • 14. Définition de nesc 14 NesC est un langage de programmation dérivé du langage C, fait pour minimiser l’utilisation de mémoire et de puissance de calcul par les capteurs, qui très souvent disposent de ressources très limitées (batterie de faible puissance et non changeable, mémoire réduite...)
  • 15. Définition de nesc 15 Il est ainsi essentiellement dédié pour la réalisation de systèmes embarqués distribués. Il cible en particulier l’implémentation d’applications pour les réseaux de capteurs. Il offre donc une réactivité importante vis-à-vis de l’environnement, Il propose de nombreuses optimisations pour diminuer l’occupation de l’espace mémoire.
  • 16. Définition de nesc 16 NesC permet la décomposition d’une application en « modules » réutilisables en fournissant d’abord trois abstractions de programmation : les interfaces  les modules  les configurations
  • 17. Définition de nesc 17 L'unité de code de base de nesC est le composant "component" Component A Component B Component D Component C Application configuration Component E Component F
  • 19. Définition de nesc 19 • module MyAppM { • provides interface StdControl; • uses interface ADC; • uses interface Timer; • uses interface Send; • } • implementation { • … • } interface StdControl { command void init(); command void start(); command void stop(); } interface ADC { command void getData(); event void dataReady(int data); } interface Timer { command void start(int interval); command void stop(); event void fired(); } interface Send { command void send(TOS_Msg *m); event void sendDone(); }
  • 20. Définition de nesc 20 TinyOS/nesC Basic Concepts 20 module ModuleName { provides interface StdControl; provides interface I1; } implementation { // ========== FRAME ========= uint8_t count=0; // ========== FUNCTIONS ===== command result_t StdControl.init() { return SUCCESS; } command result_t StdControl.start() { return SUCCESS; } command void I1.increment() { return count++; } command result_t StdControl.stop() { return SUCCESS; } } Component Frame Functions provides module implementation uses Interface_A Interface_B
  • 22. Exemple D’application 22 Exemple D’application Blink Le programme "Blink" se trouve à apps/Blink dans l'arbre deTinyOS. Cette application allume la LED rouge à une fréquence de 1HZ. L'application Blink est composée de deux composants: un module, appelé "BlinkM.nc", et une configuration, appelée "Blink.nc". Blink.nc est utilisée pour relier le module BlinkM.nc à d'autres composants requis par l'application Blink.
  • 23. Définition de nesc 23 Exemple D’application Blink
  • 24. Définition de nesc 24 Exemple D’application Blink  La commande init() initialise simplement le composant Leds en appelant Leds.init()  La commande start() invoqueTimer.start() pour créer leTimer répétitif (REPEAT TIMER) qui expire à chaque 1000 ms  stop() arrête leTimer  A chaque fois que l'événementTimer.fired() est signalé, la commande Leds.redToggle() permet d'allumer la diode rouge
  • 25. Définition de nesc 25 Exemple D’application Blink
  • 26. Compiler et exécuter une application nesC 26 La première étape de ce processus consiste à compiler les fichiers nécessaires à l'application et au système d'exploitation. Celle-ci est réalisée via le compilateur NesC fourni par TinyOS. Son rôle est premièrement de transformer les fichiers NesC en fichier C et deuxièmement d'y intégrer les fichiers du noyau de TinyOS. Ce qui permet d'obtenir un fichier source C unique. Une fois cette étape accomplie, il ne reste alors qu'à utiliser un compilateur C traditionnel qui va utiliser le fichier précédemment créé afin de générer une application exécutable. Celle-ci sera donc constituée par la «fusion» du système d'exploitation et du code applicatif.
  • 28. 28
  • 29. TINYOS: SYSTÈME D’EXPLOITATION POUR RÉSEAUX DE CAPTEURS SANS FILS Présenté par : SAKIRDA Wijdane HASSANI IDRISSI Adil ZARBOUBI Mohamed Encadré par : M.JENKAL MASTER SPÉCIALISÉ FILIÈRE : SYSTÈMES EMBARQUÉS ET INGÉNIERIE BIOMÉDICALE MODULE :RÉSEAUX DE CAPTEURSSANS FILS Année Universitaire 2020 – 2021 Le Lundi 01 Février 2021

Notes de l'éditeur

  1. Bonjour tout le monde , j’espere que vous allez bien , aujourd’hui
  2. Parmi les domaines d’utilisation des systèmes embarqués on retrouve les réseaux de capteurs qui sont des réseaux sans fil Tiny est un sys open source conçu pour les apps embarqué qui fonctionnent en réseaux et specialement les rcsf
  3. Basé sur 4 grandes proprieté qui font que ce syst s’adapte bien au sys à faible resources 1 : fonction est basé sur la gestion des evenements 2 : presice si interompre une tache
  4. L’appel d’une tache, celle-ci va prendre place dans la file d’attente de type pour y être exécutée. Comme nous l’avons vu, il n’y a pas de mécanisme de préemption entre les tâches et une tache activée s’exécute en entier. Lorsque la file d’attente des taches est vide, le système d’exploitation met en veille le dispositif jusqu’au lancement de la prochaine interruption. Les évènements sont prioritaires par rapport aux tâches et peuvent interrompre la tache en cours d’exécution (Par ailleurs, entre les tâches, un niveau de priorité est défini permettant de classer les tâches, tout en respectant la priorité des interruptions )
  5. Bonjour tout le monde , j’espere que vous allez bien , aujourd’hui