Cours d’STR Informatique Industrielle Sommaire SOMMAIRE Sommaire 1 Chapitre 1 I
Cours d’STR Informatique Industrielle Sommaire SOMMAIRE Sommaire 1 Chapitre 1 INTRODUCTION AUX SYSTEMES TEMPS REEL 3 I- Rappel à la notion de multitâches 3 a- Définition de multitâche 3 b- La notion de processus 3 c- Les appels systèmes 4 d- La communication et la synchronisation 4 II Les spécification temps réel 8 a- Définition 8 b- Système informatique 9 c- Procédé a commander 9 d- Les contraintes temps réel 10 e- Le facteur temps 11 Chapitre 2 L'ENVIRONNEMENT TEMPS REEL 14 I- Introduction 14 II- Le génie logiciel et le temps réel 14 1- Le génie logiciel (Définition) 14 2- Cycle de vie d'un système 14 Chapitre 3 LA SPECIFICATION 18 I- Aspect fonctionnel 18 1- Introduction 18 2- Exemple 19 3- Diagramme de flots de données 22 4- Les règles de formation et d'interprétation d'un DFD 24 5- La spécification de processus 26 Chapitre 4 L'ASPECT INFORMATIONNEL 28 I- Introduction 28 II- La spécification des données composées 29 TAYARI Lassaad Page 1 ISET DE SFAX ~ A.U 97/98 Cours d’STR Informatique Industrielle Sommaire III- La spécification des données primitives 30 Chapitre 5 L'ASPECT EVENEMENTIEL 31 I- Introduction 31 II- Les composantes de l'aspect évènementiel 31 III- La représentation de l'aspect évènementiel 32 IV- La représentation graphique 33 1-Transformation de contrôle 33 2- Stockage d'évènements 33 3- Les règles de formation d'un schéma de transformation 34 V- Spécification de la logique de contrôle 35 1- Les composants 35 2- Les règles de formation 36 3- Les règles d'interprétation 36 VI- Les composnats d'un modèle essentiel 37 VII- Exemple complet (Commande d'ouverture de porte) 39 Chapitre 6 LE NOYAU TEMPS REEL (NTR) 44 I- Présentation graphique 44 II- Liste des primitives du noyau 44 III- Le mode d'ordonnancement 46 IV- Détails des primitives 47 Chapitre 7 TRAVEAUS PRATIQUES 60 TAYARI Lassaad Page 2 ISET DE SFAX ~ A.U 97/98 Cours d’STR Informatique Industrielle Introduction aux systèmes temps réel Chapitre 1 INTRODUCTION AUX CONCEPTS TEMPS REEL I- RAPPEL A LA NOTION DE MULTITACHE: I-1 Le principe de base a- Définition de multitâche: L'objectif principal de la notion de multitâche est d'exploiter le plus efficacement possible toutes les ressources d'un système informatique. Le système d'exploitation doit alors mettre en oeuvre les règles de possession et de partage de ressources. Aussi, il doit définir les compétiteurs (processus) et les contrôler tout au long de leurs exécutions. Donc, les programmes susceptibles de partager les différentes ressources doivent être indépendantes les uns des autres. Une telle approche caractérise le multitâche. b- La notion de processus: Un processus est une entité dynamique qui met en oeuvre un ou plusieurs programmes statiques en vue de la réalisation d'une activité donnée par un processeur. Un processus est fonction du temps, il peut être créé, exécuté ou encore détruit. Un processus comporte différentes zones, en général trois * Zone de programme: Contient les instructions du programme et certaines constantes. Accessible en lecture seulement. TAYARI Lassaad Page 3 ISET DE SFAX ~ A.U 97/98 Zone de pile Zone données Zone programme Pointeur de programme Pointeur de pile Pointeur de données Cours d’STR Informatique Industrielle Introduction aux systèmes temps réel * Zone de pile: Permet de ranger des informations temporaires (variables locales, adresse de retour de sous-programme, etc. ...). Accessible en lecture et écriture. * Zone de données: contient les données variables et les données constantes ou initialisées. Elle est accessible en écriture et en lecture. Le contexte d'un processus est caractérisé par les valeurs des registres du microprocesseur, de l'état des pointeurs des zones mémoire associées au processus (instruction, données, pile) et des caractéristiques du processus. Parmi ces derniers, on trouve essentiellement: • le nom du processus. • La priorité, permettant de quantifier le degré d'urgence du processus. Cette priorité permet de déterminer l'ordre de l'allocation du processeur lorsque plusieurs processus sont en attente d'exécution. • Un droit d'accès, spécifiant les ressources matérielles et logicielles accessibles par le processus. • Un identifiant de l'état instantané du processus (actif, en attente, bloqué)? • Tous ce contexte attaché à un processus est mémorisé par le système dans un ordre fixé et constitue le descripteur de processus. C- Les appels systèmes: Un appel système est un service élémentaire fournis par le système pour accomplir certaines actions interdites en mode utilisateur. En ce qui concerne la gestion des tâches, un minimum de cinq primitives sont généralement mises en oeuvre: ♦ Créer_processus(): Elle retourne un identificateur de processus, ce qui permet d'identifier le processus de manière exclusive. ♦ Détruire_processus(): permet de rendre un processus éligible (prêt) et peut-être même élu selon sa priorité et celle du processus en cours. ♦ Désactiver_processus(): Consiste généralement à faire passer un processus à l'état hors-service (bloqué) ♦ Terminer_processus(): Permet de s'assurer de la fin cohérente du processus. D- La communication et la synchronisation: En environnement multitâches, les processus coopèrent en vue de la réalisation d'une activité commune. On distingue deux sortent de coopérations: TAYARI Lassaad Page 4 ISET DE SFAX ~ A.U 97/98 Cours d’STR Informatique Industrielle Introduction aux systèmes temps réel • La coopération temporelle: fait intervenir les notions de blocage et de déblocage de processus. (Synchronisation) • La coopération spatiale: se rapporte à l'échange d'information entre processus. (Communication) 1. La synchronisation: Le multitâche pose le problème de la gestion des relations entre l'ensemble des processus qui communiquent avec le système informatique pour obtenir une cohérence maximale des informations par rapport au temps. On distingue 4 ( quatre ) catégories de relations entre les processus: ♦ Les processus indépendants. ♦ Les processus ayant accès à des ressources communes. ♦ Les processus liés. ♦ Les processus à contrainte de temps/ (urgence de traitement). Dans le cas des processus ayant accès à des ressources communes, on doit prévoir des mécanismes pour assurer le partage de ses derniers. Solution: - les sémaphores - les événements (signaux) - les rendez-vous 2. La communication: Il y a plusieurs méthodes de communication de données entre tâches. Les plus courantes sont : - les boîtes à lettres (messages) - les files d'attentes E- Ordonnancement des ressources: Le déroulement des processus temps réel est dépendant des événements externes à l'ordinateur. Plusieurs tâches peuvent se trouver en concurrence pour l'octroi de l'unité centrale. Ce conflit est levé en accordant à chaque tâche un niveau de priorité. Ainsi celle de plus grande priorité est exécuté en premier. 3. L'ordonnenceur (scheduler) L'ordonnenceur d'un environnement temps réel est le responsable de la gestion de l'allocation du processeur. Chaque fois qu'une modification intervienne sur l'ensemble des tâches actives, l'odonnenceur sera invoqué. L'ordonnenceur a donc deux rôles essentiels: TAYARI Lassaad Page 5 ISET DE SFAX ~ A.U 97/98 ? SELECTION (Dispatcher) DEBLOCAGE DES PROCESSUS Table des événements associés aux processus Bloqués Table des processus Bloqués Table des processus Eligibles Processus ELU ROLE DE L'ORDONNENCEUR Cours d’STR Informatique Industrielle Introduction aux systèmes temps réel * assurer la gestion des commutation de tâches de l'état bloqué à l'état éligible TAYARI Lassaad Page 6 ISET DE SFAX ~ A.U 97/98 INEXISTANT HORS Service 1 2 14 7 3 Cours d’STR Informatique Industrielle Introduction aux systèmes temps réel 01- Création d'un processus fils par son père 02- Destruction d'un processus 03- Activation d'un processus 04- Désactivation d'un processus 05- Sélection d'un processus par le dispatcher 06- Réquisition d'un processus par le dispatcher 07- Fin d'exécution du processus en cours 08- blocage sur accès à une ressource non disponible 09- Blocage sur attente de fin de délai 10- Blocage sur occurrence d'un événement (asynchrone) 11- Activation d'un processus forcé d'attendre l'écoulement d'un délai 12- Activation d'un processus forcé d'attendre un événement 13- Activation d'un processus forcé d'attendre la libération d'une ressource 14- Activation d'un processus suite à la libération de la ressource attendue 15- Activation d'un processus suite à l'écoulement d'un délai 16- Activation d'un processus à l'occurrence d'un processus I-2 Les spécifications temps réel: a- Définition: TAYARI Lassaad Page 7 ISET DE SFAX ~ A.U 97/98 Eligible Elu En Attente événement En Attente de Délai En Attente de Ressource 16 15 13 12 11 10 9 8 6 5 4 ETAT DES PROCESSUS ET TRANSITIONS Cours d’STR Informatique Industrielle Introduction aux systèmes temps réel On ne peut parler d'un système temps réel (STR), que si on a un système informatique et un procédé à commander. Un système temps réel est composé d'un système informatique et d'un procédé à commander. Ce système informatique doit répondre dans un temps garanti aux événements en provenance du procédé. Donc le système informatique est asservi à l'évolution dynamique du procédé à commander. Un système temps réel est alors un système ayant des états finis et stables. b- Système informatique : Généralement le système informatique est un système multitâches. Plusieurs solutions sont envisageables: * PC++[(NTR) ou Carte NTR] * UNIX + NTR (Noyau temps réel) Exemple: NTR ou A6RMTR ou PSOS ou Vxworks TAYARI Lassaad Page 8 ISET DE SFAX ~ A.U 97/98 PROCEDE A COMMANDER SYSTEME INFORMATIQUE Action Information sur état (événement) Environnement ETAT1 ETA2 événement 1 action 1 Cours d’STR Informatique Industrielle Introduction aux systèmes temps réel * Système d'exploitation uploads/Industriel/ courstr.pdf
Documents similaires
-
25
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 19, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 0.4848MB