Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation...

39

Transcript of Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation...

Page 1: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.
Page 2: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

2

Conception et Réalisation d ’un Exécutif Temps Réel

Page 3: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

3

• Le temps réel.Le temps réel.

• Exécutif temps réel.Exécutif temps réel.

Page 4: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

4

Le temps réelLe temps réel

Un système temps réel doit garantir des résultats justes, dans Un système temps réel doit garantir des résultats justes, dans

des laps de des laps de temps limitéstemps limités appelés: appelés: échéanceéchéancess..

• DéfinitionDéfinition

Page 5: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

5

Le temps réelLe temps réel

Classement par contraintes temporelles :Classement par contraintes temporelles :

• A contraintes strictes :A contraintes strictes : On ne tolère pas le dépassement de l’échéance (ex: la commande du moteur d ’un avion).

• A contraintes relatives :A contraintes relatives : tolèrent le dépassement de l’échéance (ex: système de visualisation).

• A contraintes mixtes :A contraintes mixtes : comprennent des programmes à contraintes strictes et relatives.

Page 6: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

6

Le temps réelLe temps réel

Où trouve-t-on les systèmes temps réel ?Où trouve-t-on les systèmes temps réel ?

• Industrie, centrales nucléaires...Industrie, centrales nucléaires...

• Militaire, avionique, aéronautiqueMilitaire, avionique, aéronautique ......

• Automobile, distributeurs automatiques, ...Automobile, distributeurs automatiques, ...

Page 7: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

7

Le temps réelLe temps réel• Structure générale d’un système temps réelStructure générale d’un système temps réel

CapteursCapteursActionneursActionneurs

ProcédéProcédé

TâchesTâches Exécutif temps réelExécutif temps réel

Système de Système de contrôlecontrôle

Page 8: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

8

Exécutif temps réelExécutif temps réel

OrdonnanceurOrdonnanceur(sélecteur de tâches)(sélecteur de tâches)

Tâches Tâches périodiquespériodiques

PrimitivesPrimitives

Tâches Tâches apériodiquesapériodiques

CapteursCapteurs

Gestion Gestion d ’interruptionsd ’interruptions

ActionneursActionneurs

Horloge Horloge temps réeltemps réel

Page 9: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

9

Exécutif temps réelExécutif temps réel

OrdonnanceurOrdonnanceur(sélecteur de tâches)(sélecteur de tâches)

Tâches Tâches périodiquespériodiques

PrimitivesPrimitives

Tâches Tâches apériodiquesapériodiques

Gestion Gestion d ’interruptionsd ’interruptions

Horloge Horloge temps réeltemps réel

Caractéristiques temporelles:Caractéristiques temporelles:• Date de réveil : riDate de réveil : ri• Durée d’exécution (capacité) : CiDurée d’exécution (capacité) : Ci• Période : PiPériode : Pi• Délai critique : DiDélai critique : Di

Page 10: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

10

Exécutif temps réelExécutif temps réel

OrdonnanceurOrdonnanceur(sélecteur de tâches)(sélecteur de tâches)

Tâches Tâches périodiquespériodiques

PrimitivesPrimitives

Tâches Tâches apériodiquesapériodiques

Gestion Gestion d ’interruptionsd ’interruptions

Horloge Horloge temps réeltemps réel

Caractéristiques temporelles:Caractéristiques temporelles:• Durée d’exécution (capacité) : CiDurée d’exécution (capacité) : Ci• Délai critique : DiDélai critique : Di

Utilisées pour gérer les alarmes, exceptions...Utilisées pour gérer les alarmes, exceptions...

Page 11: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

11

Exécutif temps réelExécutif temps réel

OrdonnanceurOrdonnanceur(sélecteur de tâches)(sélecteur de tâches)

Tâches Tâches périodiquespériodiques

PrimitivesPrimitives

Tâches Tâches apériodiquesapériodiques

Gestion Gestion d ’interruptionsd ’interruptions

Horloge Horloge temps réeltemps réel

• Préemptif / non préemptifPréemptif / non préemptif• Hors ligne / en ligneHors ligne / en ligne• Conduit par la priorité (fixe ou dynamique)Conduit par la priorité (fixe ou dynamique)• Intègre des protocoles Intègre des protocoles d’allocation de ressourcesd’allocation de ressources

Page 12: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

12

Exécutif temps réelExécutif temps réel

OrdonnanceurOrdonnanceur(sélecteur de tâches)(sélecteur de tâches)

Tâches Tâches périodiquespériodiques

PrimitivesPrimitives

Tâches Tâches apériodiquesapériodiques

Gestion Gestion d ’interruptionsd ’interruptions

Horloge Horloge temps réeltemps réel

• Communications, synchronisation et d’exclusion mutuelleCommunications, synchronisation et d’exclusion mutuelle

Page 13: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

13

Exécutif temps réelExécutif temps réel

OrdonnanceurOrdonnanceur(sélecteur de tâches)(sélecteur de tâches)

Tâches Tâches périodiquespériodiques

PrimitivesPrimitives

Tâches Tâches apériodiquesapériodiques

Gestion Gestion d ’interruptionsd ’interruptions

Horloge Horloge temps réeltemps réel

• Signaler l’arrivée des signaux périodiques et apériodiquesSignaler l’arrivée des signaux périodiques et apériodiques

Page 14: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

14

Exécutif temps réelExécutif temps réel

OrdonnanceurOrdonnanceur(sélecteur de tâches)(sélecteur de tâches)

Tâches Tâches périodiquespériodiques

PrimitivesPrimitives

Tâches Tâches apériodiquesapériodiques

Gestion Gestion d ’interruptionsd ’interruptions

Horloge Horloge temps réeltemps réel

• Délivrer un signal périodique, pour gérer les tâches périodiquesDélivrer un signal périodique, pour gérer les tâches périodiques

Page 15: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

15

Ordonnancement temps réelOrdonnancement temps réel

• Ordonnancement à priorités fixesOrdonnancement à priorités fixes

Algorithme du Rate Monotonic (RM)Algorithme du Rate Monotonic (RM)

Une tâche de plus Une tâche de plus petite période petite période

attribuer la plus attribuer la plus grande prioritégrande priorité

Page 16: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

16

• Condition d ’ordonnançabilité (faisabilité)Condition d ’ordonnançabilité (faisabilité)11

• Théorème du Rate Monotonic (RM) [LL73]Théorème du Rate Monotonic (RM) [LL73]

Ordonnancement RMOrdonnancement RM

Toute configuration de n tâches périodiques à Toute configuration de n tâches périodiques à échéance sur requêteéchéance sur requête2 2 est fiablementest fiablement ordonnancée par ordonnancée par RM si :RM si :

CiCi / / PiPin (2n (21/n1/n – 1)– 1) 1- La condition est suffisante mais pas nécessaire. 2- Tâche à échéance sur requête, signifie que Pi=Di

Page 17: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

17

22

22

Tâche AA

Tâche BB

66

Ordonnancement RMOrdonnancement RM

66

Et pourtantEt pourtant CiCi / / PiPi==2/4 + 2/4=12/4 + 2/4=1 n (2n (21/n1/n – – 1)=0,8281)=0,828

Page 18: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

18

• Ordonnancement des apériodiques

Ordonnancement temps réelOrdonnancement temps réel

•On Utilise généralement une tâche périodique dite On Utilise généralement une tâche périodique dite

serveurserveur, pour ordonnancer les tâches apériodiquespour ordonnancer les tâches apériodiques

•Suivant une politique propre au serveur (FIFO …) et Suivant une politique propre au serveur (FIFO …) et indépendamment de celle des périodiques.indépendamment de celle des périodiques.

•Sont exécutées durant la capacité d’exécution du Sont exécutées durant la capacité d’exécution du serveurserveur

Page 19: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

19

22

Tâche AA

Tâche ServeurServeur

66

Serveur ajournableServeur ajournable

99

Signal apériodiqueSignal apériodique

66

Page 20: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

20

• Protocole à priorité plafond

Protocole d ’allocation de ressourcesProtocole d ’allocation de ressources

•Evitement des situations d’interblocageEvitement des situations d’interblocage et et d’inversion de prioritésd’inversion de priorités

•Déterminer et Déterminer et bornerborner le temps d’attente le temps d’attente aux ressourcesaux ressources

•Les bornes Les bornes BiBi sont déterminées par l ’algorithme sont déterminées par l ’algorithme K. Tindell & H. Hansson et rajoutées au test RM.K. Tindell & H. Hansson et rajoutées au test RM.

Page 21: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

21

• RTAI (Linux temps réel)

Exemples d ’exécutifs temps réel Exemples d ’exécutifs temps réel

•Développé à l’école polytechnique Développé à l’école polytechnique d’aérospatiale de Milan (Pr.Paolo Mantegazza) d’aérospatiale de Milan (Pr.Paolo Mantegazza)

•Open source, et actuellement, utilisé dans Open source, et actuellement, utilisé dans le milieu industriel et systèmes embarqués, le milieu industriel et systèmes embarqués, Exemple:Exemple: Projet français CLEOPATRE. Projet français CLEOPATRE.

Page 22: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

22

• VxWorks (Unix temps réel)

Exemples d ’exécutifs temps réel Exemples d ’exécutifs temps réel

•Produit commercialisé par la société : Wind RiverProduit commercialisé par la société : Wind River

•Le plus utilisé dans l ’industrie, et les Le plus utilisé dans l ’industrie, et les systèmes embarqués (Satellite CNES, systèmes embarqués (Satellite CNES, navette spatiale américaine Pathfinder ...).navette spatiale américaine Pathfinder ...).

Page 23: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

23

• Objectifs

Conception de notre exécutif Conception de notre exécutif

•Créer un noyau temps réel, simple dans ses Créer un noyau temps réel, simple dans ses mécanismes de base. mécanismes de base.

•Aspect pédagogique.Aspect pédagogique.

Page 24: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

24

• A qui s’adresse t-il ?

Conception de notre exécutif Conception de notre exécutif

•Aux étudiants et enseignants. Aux étudiants et enseignants.

•Aux développeurs d ’applications Aux développeurs d ’applications temps réel. temps réel.

Page 25: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

25

• Que va t-il prendre en charge ?

Conception de notre exécutif Conception de notre exécutif

Assurer la gestion des tâches périodiques Assurer la gestion des tâches périodiques et apériodiques. et apériodiques.

Ordonnancer les tâches périodiques avec la Ordonnancer les tâches périodiques avec la politique du Rate Monotonic (RM).politique du Rate Monotonic (RM).

Synchronisation par sémaphores binaires, Synchronisation par sémaphores binaires, combinés au protocole à priorité plafond.combinés au protocole à priorité plafond.

Page 26: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

26

Tâche Tâche périodiquepériodique

Serveur Serveur ajournablajournabl

ee

SémaphoreSémaphore

File d’attente des tâches périodiques prêtes.File d’attente des tâches périodiques prêtes.

Toujours Toujours associéassocié

File des sémaphores File des sémaphores associés aux tâches.associés aux tâches.

Susceptible d’avoirSusceptible d’avoir

appartientappartient

File de gestion File de gestion de sémaphores.de sémaphores.

géré pargéré par

Pile des tâches Pile des tâches apériodiques.apériodiques.

gère en gère en FIFOFIFO

Tâche Tâche apériodiqueapériodique

arrivearrive

Conception de notre exécutif Conception de notre exécutif

Page 27: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

27

PRETPRET

SEMSEM

Conception de notre exécutif Conception de notre exécutif

•Etats d ’une tâche périodiques (hormis serveur)Etats d ’une tâche périodiques (hormis serveur)

Sortie de la Sortie de la SCSC

Entrée en Entrée en SCSC

AttenteAttente

Obtention de la Obtention de la ressourceressource

Attente d ’une Attente d ’une ressourceressource

En exécutionEn exécution

Page 28: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

28

PRETPRET

Conception de notre exécutif Conception de notre exécutif

•Etats du serveurEtats du serveur

SuspenduSuspendu

Arrivée d ’une Arrivée d ’une apériodiqueapériodique

Absence Absence d ’apériodiquesd ’apériodiques

Page 29: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

29

Réalisation de l ’exécutif Réalisation de l ’exécutif

•Choix de l ’architecture matérielleChoix de l ’architecture matérielle

Utilisation du système informatique IBM PC basé Utilisation du système informatique IBM PC basé sur la technologie Pentium (586) d’Intel.sur la technologie Pentium (586) d’Intel.

•Environnement et langages de programmationEnvironnement et langages de programmation

Utilisation du langage assemblage Masm et d’un Utilisation du langage assemblage Masm et d’un compilateur C++ de Borlandcompilateur C++ de Borland

Environnent Win32 (Windows de Microsoft)Environnent Win32 (Windows de Microsoft)

Page 30: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

30

Réalisation de l ’exécutif Réalisation de l ’exécutif

•Les parties à réaliser (noyau monolithique)Les parties à réaliser (noyau monolithique)

La Partie Démarrage:La Partie Démarrage: Boot, Partie 16-bit, Boot, Partie 16-bit, Partie 32-bit.Partie 32-bit.

La partie temps réel:La partie temps réel: gestion des tâches, gestion des tâches, ordonnancement, faisabilité ...ordonnancement, faisabilité ...

Les services utilisateur:Les services utilisateur: API pour la API pour la gestion du temps, des tâches, sémaphores ...gestion du temps, des tâches, sémaphores ...

Page 31: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

31

Réalisation de l ’exécutif Réalisation de l ’exécutif

•Le BOOT (Zone d ’amorce)Le BOOT (Zone d ’amorce)

•Le programmer en assembleurLe programmer en assembleur

•Se tient sur le premier secteur disque (512 octets)Se tient sur le premier secteur disque (512 octets)

•Permet de charger une partie de notre Permet de charger une partie de notre noyau et de lui léguer la mainnoyau et de lui léguer la main

Page 32: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

32

Réalisation de l ’exécutif Réalisation de l ’exécutif

•La partie 16-bit (mode réel du Pentium) La partie 16-bit (mode réel du Pentium)

•Chargement de la partie 32-bitChargement de la partie 32-bit

•Passage en mode 32-bit (protégé) et léguer le Passage en mode 32-bit (protégé) et léguer le contrôle à la partie 32-bit chargée.contrôle à la partie 32-bit chargée.

•Détection du matériel:Détection du matériel: - La CPU, quantité de mémoire RAM, les disques- La CPU, quantité de mémoire RAM, les disques

Page 33: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

33

Réalisation de l ’exécutif Réalisation de l ’exécutif

•La partie 32-bit (mode protégé du Pentium) La partie 32-bit (mode protégé du Pentium)

•Exécuter le module d ’application temps réel, Exécuter le module d ’application temps réel, écrit par l ’utilisateur.écrit par l ’utilisateur.

•Mise en place du mécanisme d ’interruptions:Mise en place du mécanisme d ’interruptions: - La table IDT, PIC8259A,...- La table IDT, PIC8259A,...

Page 34: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

34

Réalisation de l ’exécutif Réalisation de l ’exécutif

•La partie temps réelLa partie temps réel

•Réécrire les primitives de Dijkstra : P(s) et V(s) Réécrire les primitives de Dijkstra : P(s) et V(s) en vue d ’implémenter le PCP en vue d ’implémenter le PCP

•Implanter des fonctions pour : Implanter des fonctions pour :

gestion des tâches (gestion des tâches (creer_tache(…) creer_tache(…) , etc), etc)

gestion des sémaphores (gestion des sémaphores (creer_semaphore( )creer_semaphore( ), etc), etc)

ordonnancement (ordonnancement (schedule_tr( )schedule_tr( ) , etc) , etc)

Test de faisabilité RM (Test de faisabilité RM (faisabilite( faisabilite( ) , etc)) , etc)

Page 35: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

35

Réalisation de l ’exécutif Réalisation de l ’exécutif

•Les services utilisateur (API)Les services utilisateur (API)

•Implanter des fonctions pour : Implanter des fonctions pour :

Mesurer le temps d ’exécution de chaque routine Mesurer le temps d ’exécution de chaque routine

Pouvoir afficher sur écran des messages, en temps réelPouvoir afficher sur écran des messages, en temps réel

Manipuler les tâches et les sémaphoresManipuler les tâches et les sémaphores

Manipuler le temps (horloge temps réel)Manipuler le temps (horloge temps réel)

Page 36: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

36

Réalisation de l ’exécutif Réalisation de l ’exécutif

•Représentation de notre noyau sur disqueReprésentation de notre noyau sur disque

BootBoot:: secteur 0secteur 0

Partie 16-bit: Partie 16-bit: secteur 1-17secteur 1-17

Partie 32-bit: Partie 32-bit: secteur 18-..secteur 18-..

Page 37: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

37

Réalisation de l ’exécutif Réalisation de l ’exécutif

•Représentation de notre noyau en mémoire RAMReprésentation de notre noyau en mémoire RAM

BootBoot:: 0x7C0000x7C000

Partie 16-bit: Partie 16-bit: 0x201000x20100

Partie 32-bit: Partie 32-bit: 0x1000000x100000

Page 38: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

38

Performances obtenuesPerformances obtenues

•Sur AMD 800Mhz, Sur AMD 800Mhz,

Temps d’ordonnancement ……………….18µs Temps d’ordonnancement ……………….18µs

Pour signaler une apériodique ……………6µsPour signaler une apériodique ……………6µs

Les primitives P(s) et V(s) ………………...4µsLes primitives P(s) et V(s) ………………...4µs

•En présence de 20 tâches périodiques En présence de 20 tâches périodiques

Page 39: Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1 2 Conception et Réalisation d un Exécutif Temps Réel.

Conception & Réalisation de l'Exécutif Temps Réel BastKernel v0.0.1

39

Statistiques sur le sourceStatistiques sur le source

•Nombre total de lignes source : Nombre total de lignes source : 4007 4007

•La partie La partie bootboot :…………………….3.39% :…………………….3.39%

•La partie La partie 16-bit16-bit :………………….16.37% :………………….16.37%•La partie La partie 32-bit32-bit :………………….21.03% :………………….21.03%

•La partie La partie IncludeInclude :………………..21.20% :………………..21.20% •La partie La partie temps réel temps réel :……………..28.50%:……………..28.50%

•La partie La partie utilsutils :…………………….9.48% :…………………….9.48%