La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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.

Présentations similaires


Présentation au sujet: "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."— Transcription de la présentation:

1

2 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Conception et Réalisation d un Exécutif Temps Réel

3 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Le temps réel. Le temps réel. Exécutif temps réel. Exécutif temps réel.

4 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Le temps réel Un système temps réel doit garantir des résultats justes, dans des laps de temps limités appelés: échéances. Définition Définition

5 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Le temps réel 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.

6 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Le temps réel Où trouve-t-on les systèmes temps réel ? Industrie, centrales nucléaires... Militaire, avionique, aéronautique... Automobile, distributeurs automatiques,... Automobile, distributeurs automatiques,...

7 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Le temps réel Structure générale dun système temps réel Structure générale dun système temps réel CapteursActionneurs Procédé Tâches Exécutif temps réel Système de contrôle

8 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Exécutif temps réel Ordonnanceur (sélecteur de tâches) Tâchespériodiques Primitives Tâchesapériodiques Capteurs Gestiond interruptions Actionneurs Horloge temps réel

9 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Exécutif temps réel Ordonnanceur (sélecteur de tâches) Tâchespériodiques Primitives Tâchesapériodiques Gestiond interruptions Horloge temps réel Caractéristiques temporelles: Date de réveil : ri Date de réveil : ri Durée dexécution (capacité) : Ci Durée dexécution (capacité) : Ci Période : Pi Période : Pi Délai critique : Di Délai critique : Di

10 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Exécutif temps réel Ordonnanceur (sélecteur de tâches) Tâchespériodiques Primitives Tâchesapériodiques Gestiond interruptions Horloge temps réel Caractéristiques temporelles: Durée dexécution (capacité) : Ci Durée dexécution (capacité) : Ci Délai critique : Di Délai critique : Di Utilisées pour gérer les alarmes, exceptions...

11 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Exécutif temps réel Ordonnanceur (sélecteur de tâches) Tâchespériodiques Primitives Tâchesapériodiques Gestiond interruptions Horloge temps réel Préemptif / non préemptif Préemptif / non préemptif Hors ligne / en ligne Hors ligne / en ligne Conduit par la priorité (fixe ou dynamique) Conduit par la priorité (fixe ou dynamique) Intègre des protocoles dallocation de ressources Intègre des protocoles dallocation de ressources

12 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Exécutif temps réel Ordonnanceur (sélecteur de tâches) Tâchespériodiques Primitives Tâchesapériodiques Gestiond interruptions Horloge temps réel Communications, synchronisation et dexclusion mutuelle Communications, synchronisation et dexclusion mutuelle

13 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Exécutif temps réel Ordonnanceur (sélecteur de tâches) Tâchespériodiques Primitives Tâchesapériodiques Gestiond interruptions Horloge temps réel Signaler larrivée des signaux périodiques et apériodiques Signaler larrivée des signaux périodiques et apériodiques

14 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Exécutif temps réel Ordonnanceur (sélecteur de tâches) Tâchespériodiques Primitives Tâchesapériodiques Gestiond interruptions Horloge temps réel Délivrer un signal périodique, pour gérer les tâches périodiques Délivrer un signal périodique, pour gérer les tâches périodiques

15 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Ordonnancement temps réel Ordonnancement à priorités fixes Algorithme du Rate Monotonic (RM) Algorithme du Rate Monotonic (RM) Une tâche de plus petite période attribuer la plus grande priorité

16 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Condition d ordonnançabilité (faisabilité) 1 Théorème du Rate Monotonic (RM) [LL73] Ordonnancement RM Toute configuration de n tâches périodiques à échéance sur requête 2 est fiablement ordonnancée par RM si : Ci / Pi n (2 1/n – 1) Ci / Pi n (2 1/n – 1) 1- La condition est suffisante mais pas nécessaire. 2- Tâche à échéance sur requête, signifie que Pi=Di

17 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v A Tâche A B Tâche B 6 Ordonnancement RM 6 Et pourtant Ci / Pi = 2/4 + 2/4=1 n (2 1/n – 1)=0,828

18 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Ordonnancement des apériodiques Ordonnancement temps réel On Utilise généralement une tâche périodique dite serveurpour ordonnancer les tâches apériodiquesOn Utilise généralement une tâche périodique dite serveur, pour ordonnancer les tâches apériodiques Suivant une politique propre au serveur (FIFO …) et indépendamment de celle des périodiques.Suivant une politique propre au serveur (FIFO …) et indépendamment de celle des périodiques. Sont exécutées durant la capacité dexécution du serveurSont exécutées durant la capacité dexécution du serveur

19 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v A Tâche A Serveur Tâche Serveur 6 Serveur ajournable 9 Signal apériodique 6

20 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Protocole à priorité plafond Protocole d allocation de ressources Evitement des situations dinterblocageet dinversion de prioritésEvitement des situations dinterblocage et dinversion de priorités Déterminer et borner le temps dattente aux ressourcesDéterminer et borner le temps dattente aux ressources Les bornes Bi sont déterminées par l algorithme K. Tindell & H. Hansson et rajoutées au test RM.Les bornes Bi sont déterminées par l algorithme K. Tindell & H. Hansson et rajoutées au test RM.

21 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v RTAI (Linux temps réel) Exemples d exécutifs temps réel Développé à lécole polytechnique daérospatiale de Milan (Pr.Paolo Mantegazza)Développé à lécole polytechnique daérospatiale de Milan (Pr.Paolo Mantegazza) Open source, et actuellement, utilisé dans le milieu industriel et systèmes embarqués, Exemple: Projet français CLEOPATRE.Open source, et actuellement, utilisé dans le milieu industriel et systèmes embarqués, Exemple: Projet français CLEOPATRE.

22 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v VxWorks (Unix 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 systèmes embarqués (Satellite CNES, navette spatiale américaine Pathfinder...).Le plus utilisé dans l industrie, et les systèmes embarqués (Satellite CNES, navette spatiale américaine Pathfinder...).

23 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Objectifs Conception de notre exécutif Créer un noyau temps réel, simple dans ses mécanismes de base.Créer un noyau temps réel, simple dans ses mécanismes de base. Aspect pédagogique.Aspect pédagogique.

24 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v A qui sadresse t-il ? Conception de notre exécutif Aux étudiants et enseignants.Aux étudiants et enseignants. Aux développeurs d applications temps réel.Aux développeurs d applications temps réel.

25 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Que va t-il prendre en charge ? Conception de notre exécutif Assurer la gestion des tâches périodiques et apériodiques. Ordonnancer les tâches périodiques avec la politique du Rate Monotonic (RM). Synchronisation par sémaphores binaires, combinés au protocole à priorité plafond.

26 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Tâche périodique Serveur ajournabl e Sémaphore File dattente des tâches périodiques prêtes. Toujours associé File des sémaphores associés aux tâches. Susceptible davoir appartient File de gestion de sémaphores. géré par Pile des tâches apériodiques. gère en FIFO Tâche apériodique arrive Conception de notre exécutif

27 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v PRET SEM 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 SC Entrée en SC Attente Obtention de la ressource Attente d une ressource En exécution

28 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v PRET Conception de notre exécutif Etats du serveurEtats du serveur Suspendu Arrivée d une apériodique Absence d apériodiques

29 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v 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é sur la technologie Pentium (586) dIntel. Environnement et langages de programmationEnvironnement et langages de programmation Utilisation du langage assemblage Masm et dun compilateur C++ de Borland Environnent Win32 (Windows de Microsoft)

30 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Réalisation de l exécutif Les parties à réaliser (noyau monolithique)Les parties à réaliser (noyau monolithique) La Partie Démarrage: Boot, Partie 16-bit, Partie 32-bit. La partie temps réel: gestion des tâches, ordonnancement, faisabilité... Les services utilisateur: API pour la gestion du temps, des tâches, sémaphores...

31 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v 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 noyau et de lui léguer la mainPermet de charger une partie de notre noyau et de lui léguer la main

32 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v 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 contrôle à la partie 32-bit chargée.Passage en mode 32-bit (protégé) et léguer le contrôle à la partie 32-bit chargée. Détection du matériel: - La CPU, quantité de mémoire RAM, les disquesDétection du matériel: - La CPU, quantité de mémoire RAM, les disques

33 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v 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, écrit par l utilisateur.Exécuter le module d application temps réel, écrit par l utilisateur. Mise en place du mécanisme d interruptions: - La table IDT, PIC8259A,...Mise en place du mécanisme d interruptions: - La table IDT, PIC8259A,...

34 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v 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) en vue d implémenter le PCPRéécrire les primitives de Dijkstra : P(s) et V(s) en vue d implémenter le PCP Implanter des fonctions pour :Implanter des fonctions pour : gestion des tâches ( creer_tache(…), etc) gestion des sémaphores ( creer_semaphore( ), etc) ordonnancement ( schedule_tr( ), etc) Test de faisabilité RM ( faisabilite( ), etc)

35 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v 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 Pouvoir afficher sur écran des messages, en temps réel Manipuler les tâches et les sémaphores Manipuler le temps (horloge temps réel)

36 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Réalisation de l exécutif Représentation de notre noyau sur disqueReprésentation de notre noyau sur disque Boot : secteur 0 Partie 16-bit: secteur 1-17 Partie 32-bit: secteur 18-..

37 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Réalisation de l exécutif Représentation de notre noyau en mémoire RAMReprésentation de notre noyau en mémoire RAM Boot : 0x7C000 Partie 16-bit: 0x20100 Partie 32-bit: 0x100000

38 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Performances obtenues Sur AMD 800Mhz,Sur AMD 800Mhz, Temps dordonnancement ……………….18µs Pour signaler une apériodique ……………6µs Les primitives P(s) et V(s) ………………...4µs En présence de 20 tâches périodiquesEn présence de 20 tâches périodiques

39 Conception & Réalisation de l'Exécutif Temps Réel BastKernel v Statistiques sur le source Nombre total de lignes source : 4007Nombre total de lignes source : 4007 La partie boot :…………………….3.39%La partie boot :…………………….3.39% La partie 16-bit :………………….16.37%La partie 16-bit :………………….16.37% La partie 32-bit :………………….21.03%La partie 32-bit :………………….21.03% La partie Include :……………… %La partie Include :……………… % La partie temps réel :…………… %La partie temps réel :…………… % La partie utils :…………………….9.48%La partie utils :…………………….9.48%


Télécharger ppt "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."

Présentations similaires


Annonces Google