REALISATION d'un. ORDONNANCEUR à ECHEANCES

Dimension: px
Commencer à balayer dès la page:

Download "REALISATION d'un. ORDONNANCEUR à ECHEANCES"

Transcription

1 REALISATION d'un ORDONNANCEUR à ECHEANCES

2 I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6 III.1- CHOIX RETENUS... 6 III.2- NOUVEAU DESCRIPTEUR DE TÂCHES... 7 III.3- PRIMITIVES CRÉÉES OU MODIFIÉES... 8 III.3.1- PRIMITIVE CRÉER_TÂCHE... 8 III.3.2- PRIMITIVE «FIN DE L OCCURRENCE D UNE TÂCHE PÉRIODIQUE»... 8 III.3.3- PROGRAMME HORLOGE... 9 III.3.4- PRIMITIVE "DÉTRUIRE_TÂCHE"... 9 III.3.5- AUTRES PRIMITIVES... 9 III.4.ALGORITHMES IV- PROGRAMME DE DÉMONSTRATION V- CONCLUSION... 15

3 I- Présentation Nous nous proposons d implémenter un ordonnanceur à échéances afin d étudier la faisabilité, la complexité et les performances d un tel système. Notre tâche est simplifiée du fait que nous avons précédemment développé un noyau préemptif avec un algorithme d ordonnancement classique à priorités. Ce noyau s exécute sur micro-ordinateur compatible PC et offre tous les services classiques de base d un exécutif temps réel, de nombreux modules sont réutilisables sans modifications notamment tout ce qui concerne les I/O, les boîtes aux lettres, les sémaphores et les mécanismes à mettre en oeuvre lors des commutations de contexte. On notera que ce noyau présente déjà une originalité par rapport aux OS du marché : la majorité des requêtes est possible pour des tâches immédiates, c est à dire des tâches déclenchées par interruptions matérielles et dont le fonctionnement est totalement différent de celui des tâches applicatives. Des limitations peuvent toutefois survenir du fait que ce noyau a été développé en assembleur 16 bits, ce qui ne facilite pas la programmation d algorithmes compliqués ni l utilisation de variables adaptées (par exemple, la taille des timers). Les principales révisions à faire concernent le gestionnaire d interruption de l horloge système car c est là que s effectue principalement le travail de l ordonnanceur ainsi que la mise à jour de toutes les variables temporelles. De même, le bloc de contrôle d une tâche initialisé lors de la création d une tâche comprend de nouveaux paramètres, notamment temporels, comme délai critique, période et date de déclenchement. Le traitement des tâches périodiques est également à reconsidérer. Avec l ordonnanceur original, les tâches sont construites comme des boucles infinies mais ici, on doit considérer qu une tâche périodique ayant terminé son travail avant le début de sa période suivante doit être mise en attente périodique. Nous nous proposons donc d'intégrer dans un premier temps les fonctions de base d'un ordonnanceur à échéances, c'est à dire sans fonction de garantie mais avec un mécanisme permettant d'effectuer un traitement d'exception si une tâche vient à commettre une faute temporelle.

4 II. Description du noyau originel II.1- Architecture Le noyau originel est un exécutif multitâche fonctionnant sur compatible PC dans l'environnement MS-DOS. L'ordonnancement s'effectue selon la politique des priorités empiriques fixées par le programmeur aux tâches applicatives en cours de conception. Sont disponibles 256 niveaux de priorité et on peut modifier la priorité d'une tâche en cours d'exécution. Une application utilisant ce noyau comprend des tâches applicatives qui font appel aux services du noyau par des primitives ou appels-système au moyen d' un mécanisme d'interruption logicielle, le noyau lui-même et des tâches matérielles, toujours prioritaires et déclenchées par interruptions matérielles. Chacun de ces éléments ayant été compilé, les fichiers.obj résultants sont liés en un seul programme exécutable. Les tâches systèmes matérielles implémentées concernent les gestionnaire d'interruption horloge et clavier. Ces tâches sont souvent qualifiées d'isr pour Interrupt Service Request. Un mécanisme d'imbrication permet de chaîner ces tâches matérielles en cas d'appels d'interruption multiples, le réordonnancement du système n'étant effectué qu'après la terminaison des appels d' ISR. Ces tâches matérielles ont la possibilité d'accéder à tous les services du noyau, sauf ceux qui les bloqueraient elles-mêmes. Elles accèdent à ces services par le même mécanisme que les tâches applicatives. Deux appels spéciaux signalent au noyau l'entrée et la sortie d'un programme d' ISR. Un contrôle strict de la validité des paramètres et de la cohérence (au niveau des états) est intégré au noyau. Si une erreur ou une incohérence est détectée par le noyau, le service n'est pas effectué et le noyau renvoie à la tâche appelante un code signalant le type de l'erreur. Dans le cas de paramètres corrects, on renvoie la valeur Code_OK. II.2 - Services Outre les services de base comme Créer_Une_Tâche, Mettre_Une_Tâche_En_Attente,etc.., le noyau offre des mécanismes de communication entre tâches ainsi qu'entre tâches et extérieur.

5 Les structures implémentées pour aider à la communication et au partage de ressources entre les tâches sont des Boîtes aux Lettres, des Sémaphores et des Evénements. Les Boîtes aux Lettres permettent aux tâches de déposer et de recevoir des messages. La réception d'un message peut être bloquante ou non bloquante si la Boîte aux Lettres est vide. Dans le cas d'un appel bloquant, les descripteurs des tâches mises en attente sont rangées dans une file FIFO. Les Sémaphores sont des sémaphores classiques à compte. Les tâches bloquées sont rangées dans une file ordonnée selon les niveaux de priorité et on peut spécifier un délai maximum d'attente au-delà duquel le tâche est obligatoirement réactivée. Les événements sont des mécanismes de communication sous forme d'un groupe de 16 bits. La mise à 1 ou à 0 d'un bit est significative d'un événement et une tâche peut se mettre en attente d'un groupe d'événements de façon partielle (réveil à la réception d'un seul parmi le groupe d'événement) ou totale (réveil à la réception de tous les événements). En ce qui concerne les communications avec l'extérieur, les tâches peuvent se mettre en attente d'un caractère quelconque entré au clavier, une seule tâche peut se mettre en attente d'un caractère spécial. En ce qui concerne l'affichage, les tâches peuvent demander au noyau d'afficher un caractère à l'écran. L'affichage s'effectue directement en mémoire vidéo en mode alphanumérique. On trouvera en annexe les spécifications complètes des différents services. Le fichier Init.inc liste les états d'une tâche et le code des différentes primitives.

6 III. Implémentation de l'ordonnanceur à échéances III.1- Choix retenus Dans un premier temps, nous nous proposons de construire un système minimal avec les appels modifiés "Créer_Tâche", "Détruire_Tâche", le nouveau programme d'horloge et la nouvelle primitive "Fin_Occurrence_Périodique". En ce qui concerne Earliest Deadline lui-même, nous avons choisi d'ordonner les files à priorité selon les délais critiques dynamiques croissants. Ce choix est motivé par plusieurs raisons : 1) La taille des compteurs et registres car, transmettre une date d échéance en paramètre nécessiterait des registres dont nous ne disposons pas. 2) Il est plus facile au programmeur de fixer des délais relatifs à une date de déclenchement plutô0t que de calculer des dates d échéance par rapport à un zéro universel. 3) On élimine le besoin de recalculer les dates d échéance pour les tâches périodiques. 4) On intègre ainsi plus facilement un mécanisme de régularisation, moins couteux qu une fonction de garantie mais tout aussi efficace (bien qu à postériori) et plus facilement modifiable par le programmeur à l aide de procédures d exception comme nous l expliquons ci-dessous. 5) La longueur du programme horloge est nettement plus conséquente, (en lignes de code) mais la plupart des instructions sont des décrémentations, incrémentations très rapides (deux cycles processeur soit pour un processeur à 100 MHZ ). Ce n est que dans le cas d un nombre très important de tâches à traiter ou fautives que l on pourrait avoir un débordement temporel du programme horloge. Comme nous l avons dit précédemment, aucune fonction de garantie n'est implémentée, mais un mécanisme d'exception est mis en place au cas où une tâche commettrait une faute temporelle. Le programmeur peut associer un code d'exception à chaque tâche. Dans le cas où le programmeur n'a demandé aucune procédure d'exception, le noyau détectant une faute temporelle effectue les opérations suivantes : détruire l'occurrence en cours de la tâche si celle-ci est périodique, détruire la tâche si elle est occasionnelle. Le mécanisme d'exception fonctionne sur le même principe que celui lié aux interruptions matérielles.

7 Les tâches sont susceptibles de connaître deux nouvels états : "Non_Déclenchée" et "En_Attente_Périodique". Une file à double entrée peut contenir les descripteurs des tâches non déclenchées et des tâches mises en attente périodique. On peut envisager de transformer la primitive «Changer_Priorité» en «Changer_Délai_Critique», après avoir posé le moment où ce changement sera effectué pour une tâche périodique en cours d exécution, c est à dire soit au cours de la période courante (si cela est possible) soit au cours de la période suivante (ce qui implique une mémorisation de la demande). De même, en ce qui concerne une demande de changement de période. Par ailleurs, on doit envisager de développer des fonctions d aide à la connaissance du déroulement des tâches comme «Lire_Délai_Critique», «Lire_Temps_Ecoulé_Depuis_Début_Exécution»,etc... III.2- Nouveau descripteur de tâches On doit compléter notre descripteur de tâche en y intégrant les éléments suivants :. Délai critique initial : on doit enregistrer la valeur initiale d'un délai critique afin de réinitialiser chaque tâche au débût de chaque occurence périodique.. Délai critique dynamique : cette valeur est décrémentée à chaque appel d'horloge.. Date de déclenchement : si cette valeur est non nulle, la tâche est à déclenchement retardé.. Temps d'exécution initial : bien que n'utilisant pas encore cet élément, nous l'avons intégré à notre descripteur.c est une estimation du programmeur.. Temps d'exécution dynamique : même remarque que précédemment.. Importance : nous n'utilisons pas encore ce critère mais 256 niveaux d'importance sont prévus.. Temps_Ecoulé : ce compteur permet de mesurer le temps écoulé depuis le débût d'exécution d'une tâche.. Période : ce paramètre est nul pour une tâche apériodique.. Segment de code du programme d'exception ou la valeur nulle si aucun programme adapté à la tâche n'est prévu.

8 III.3- Primitives créées ou modifiées III.3.1- Primitive Créer_Tâche Lorsqu on crée une tâche, on doit fournir les paramètres suivants :. Le numéro identificateur de la tâche.. La période de la tâche ou la valeur nulle pour une tâche apériodique.. Le niveau d Importance de la tâche.. La date de déclenchement de la tâche ou la valeur nulle pour une tâche à déclenchement immédiat.. Le délai critique de la tâche.. Le temps d exécution estimé de la tâche (non utilisé).. Le segment de code de la tâche.. Le segment d exception de la tâche ou la valeur nulle pour une tâche sans traitement d exception. Le noyau, à la réception de cette requête doit effectuer les opérations suivantes:. Contrôler la validité des paramètres reçus et retourner à la tâche appelante avec un code d'erreur en cas de paramètre non valide car tout paramètre non valide peut «planter le programme».. Initialiser le Bloc de Contrôle de la tâche.. Si la tâche n est pas à déclenchement immédiat, l insérer dans la file d attente prévue à cet effet et retourner à la tâche appelante.. Si la tâche est à déclenchement immédiat, l insérer dans la file des tâches prêtes.. Tester si la priorité de la nouvelle tâche est supérieure à celle de la tâche en cours d exécution. Si oui, on commute vers la nouvelle tâche sinon on retourne à la tâche appelante avec le code de retour Code_OK. III.3.2- Primitive «Fin de l occurrence d une tâche périodique» Lorsqu une tâche signale qu elle a fini son occurrence, on doit la mettre en attente périodique. Pour ceci, on effectue les opérations suivantes :. On réinitialise le Bloc de Contrôle de la tâche.. On calcule le temps durant lequel la tâche doit rester en attente.. On insère la tâche dans la file d attente prévue à cet effet.

9 . On met la nouvelle tâche prioritaire en exécution ou on commute vers la tâche de fond. Une tâche faisant cet appel ne doit fournir aucun paramètres. Le seul contrôle effectué concerne le type de la tâche : elle doit être périodique. III.3.3- Programme Horloge La requête liée à l'interruption Timer accomplit les fonctions les plus fondamentales pour l'ordonnanceur, soit :. Incrémenter l'horloge temps réel.. Décrémenter les délais critiques dynamiques de toutes les tâches créées, ce qui implique de parcourir toutes les files d attente non vides.. Incrémenter les compteurs du temps écoulé depuis le début d'exécution pour toutes les tâches créées sauf celles non déclenchées ou en attente périodique.. Tester si une tâche risque une faute temporelle.si oui, appeler le programme d'exception s il existe ou effectuer le traitement par défaut.. Décrémenter les compteurs de toutes les tâches mises en attente d'un délai et réactiver celles-ci si nécessaire. Ceci concerne les tâches mises en attente d'un délai, les tâches en attente d'un sémaphore avec temporisateur, les tâches non déclenchées et les tâches en attente périodique. III.3.4- Primitive "Détruire_Tâche" Il suffit ici de réinitialiser les descripteurs et d'ajouter le traitement des tâches en attente périodique et non déclenchées à la routine initiale. III.3.5- Autres primitives On doit modifier dans toutes les autres primitives le test portant sur la commutation de tâches. On compare maintenant des délais critiques sur 16 bits et non des priorités d un octet, ce qui implique de reconsidérer l utilisation des registres. On notera que la commutation entre la tâche en cours d exécution et une tâche réactivée ne s effectue que si le délai critique de la tâche réactivée est strictement inférieure à celui de la tâche en cours.

10 III.4.ALGORITHMES. Algorithme de la primitive "Créer_Tâche" DEBUT.On doit contrôler les paramètres donnés en entrée Controler_ Paramètres SI Paramètres_Incorrects ALORS Code_Retour = Code_D'Erreur_De_La_Première_Erreur_Détectée Retourner_A_La_Tâche_Appelante SINON. On doit initialiser le Bloc de Contrôle de la tâche Initialiser_Bloc_Contrôle. On teste si la tâche est à déclenchement immédiat SI Tâche_A_Déclenchement_Non_Immédiat ALORS. La tâche est à déclenchement non immédiat Délai_Attente = Date_De_Déclenchement - Date_Courante Status = Tâche_Non_Déclenchée Insérer_Le_Bloc_de_Contrôl _De_La _Tâche dans la File_ Attente_Des_Tâches_Non_Déclenchées SINON. On insère le Bloc de Contrôle de la tâche dans la File_Des_Tâches_Prêtes SI Tâche_Exec.Priorité > Tâche.Priorité ALORS (Ceci équivaut à Tâche_Exec.Délai_Critique_Dynamique<Tâche.Délai_Critique_Dynamique) Tâche.Status = Prête Insérer le Bloc_Contrôle_Tâche dans la File_Des_Tâches_Prêtes Code_Retour = Code_OK Retourner_A_La_Tâche_Appelante SINON. On commute vers la nouvelle tâche Insérer le Bloc_Contrôle_Tâche en tête de la File_Des_Tâches_Prêtes Sauvegarder_ Le Contexte_ De_La Tâche_Appelante Tâche_Exec = Tâche.IDF Tâche.Status = En_Exécution Exécuter_La_ Nouvelle_ Tâche FIN

11 . Algorithme de la primitive "Fin_D'Occurrence_Périodique" DEBUT Si Tâche_Non_Périodique ALORS Code_Erreur = Erreur_Status Retourner_A_La_Tâche_Appelante Sinon. On réinitialise le Bloc de Contrôle de la tâche Délai_Critique_Dynamique = Délai_Critique_Initial Temps_Exécution_Dynamique = Temps_Exécution_Maximum_Initial Status = Attente_Périodique Délai_Attente = Période - Temps_Ecoulé_Depuis_Le_Début_Exécution Temps_Ecoulé_Depuis_Le_Début_Exécution = 0.On retire le Bloc de Contrôle de la tâche de la tête de la file des tâches prêtes Tache_Exec = Tache.ptr_next Tache.ptr_next = NULL Sauvegarder_Le_Contexte_De_La_Tâche_Mise_En_Attente.On Insére le Bloc de Contrôle de la tâche dans la file des tâches en Attente Périodique Tâche = Tâche_En_Tête_De_La_File_Des_Tâches_En_Attente_Périodique TANT QUE Tâche # NULL FAIRE Tâche = Tâche.ptr_next FIN TANT QUE Tâche.ptr_next = IDF_De_La_Tâche_A_Insérer Tâche_A_Insérer.ptr_prec = Tâche_IDF.On met la tâche en tête dans la file des tâches prêtes en exécution ou, si la file est vide, on exécute la Tâche de Fond SI Tâche_Exec = NULL ALORS Commuter_Vers_La_Tâche_De_Fond SINON Restituer_Le_Contexte_De_La_Tâche Commuter_Vers_La_Nouvelle_Tâche FIN

12 .Algorithme du programme horloge. Incrémenter l'horloge système HORLOGE = HORLOGE + 1. Mettre à jour les blocs de contrôle de tâches dans la file des tâches prêtes Tâche = Tâche_Exec TANT QUE Tâche # NULL FAIRE Tâche.Délai_Critique_Dynamique = Tâche.Délai_Critique_Dynamique - 1 Tâche.Temps_Exécution_Dynamique = Tâche.Temps_Exécution_Dynamique - 1 Tâche.Temps_Ecoulé = Tâche.Temps_Ecoulé + 1 SI Tâche.Délai_Critique_Dynamique <= 0 ALORS EXECUTER_PROCEDURE_EXCEPTION Tâche =Tâche.Ptr_Next FINTANTQUE. Mettre à jour les blocs de contrôle des tâches suspendues SI Attente # NULL ALORS Test = 01 Num_Tâche = 01 TANT QUE Num_Tâche <= MAX_Tâches FAIRE SI Test AND Attente #0 ALORS Tâche.Délai_Critique_Dynamique = Tâche.Délai_Critique_Dynamique - 1 Tâche.Temps_Exécution_Dynamique = Tâche.Temps_Exécution_Dynamique - 1 Tâche.Temps_Ecoulé = Tâche.Temps_Ecoulé + 1 SI Tâche.Délai_Critique_Dynamique <= 0 ALORS EXECUTER_PROCEDURE_EXCEPTION Test = Test * 2 Num_Tâche = Num_Tâche + 1 FINTANTQUE SINON.Mettre à jour les blocs de contrôle des tâches en attente aux boîtes à lettres File_Boite = 1 TANT QUE File_Boîte <= MAX_BOITES FAIRE Tâche = File_Boite.Tête TANT QUE Tâche # NULL FAIRE Tâche.Délai_Critique_Dynamique = Tâche.Délai_Critique_Dynamique - 1 Tâche.Temps_Exécution_Dynamique = Tâche.Temps_Exécution_Dynamique - 1 Tâche.Temps_Ecoulé = Tâche.Temps_Ecoulé + 1 SI Tâche.Délai_Critique_Dynamique <= 0 ALORS EXECUTER_PROCEDURE_EXCEPTION

13 Tâche = Tâche.Ptr_Next FINTANTQUE File_Boîte = File_Boîte + 1 FINTANTQUE. Contrôler et réveiller les tâches en attente d'un délai SI Attente_Délai # NULL ALORS Test = 01 Num_Tâche = 01 TANT QUE Num_Tâche <= MAX_Tâches FAIRE SI Test AND Attente # NULL ALORS Tâche.Délai_Critique_Dynamique = Tâche.Délai_Critique_Dynamique - 1 Tâche.Temps_Exécution_Dynamique = Tâche.Temps_Exécution_Dynamique -1 Tâche.Temps_Ecoulé = Tâche.Temps_Ecoulé + 1 SI Tâche.Délai_Critique_Dynamique <= 0 ALORS EXECUTER_PROCEDURE_EXCEPTION SINON Tâche.Tempo_Délai = Tâche.Tempo_Délai -1 SI Tâche.Tempo_Délai = 0 ALORS Réveiller_Tâche Test = Test * 2 Num_Tâche = Num_Tâche + 1 FINTANTQUE SINON. On va tester les tâches en attente d'un caractère, d'un caractère spécial ou d'un événement. En ce qui concerne les tâches en attente aux sémaphores, on doit également tester les tâches avec attente temporisée.. On va tester les tâches non déclenchées et en attente périodique afin de les réveiller si nécessaire. Tâche = Tâche_En_Tête_De_La_File_Des_Tâches_En_Attente_Périodique TANT QUE Tâche # NULL FAIRE Tâche.Tempo_Délai = Tâche_Tempo.Délai - 1 SI Tâche_Tempo.Délai = NULL ALORS Insérer_Tâche_Dans_File_Des_Tâches_Prêtes Tâche.Status = Prête Tâche = Tâche.ptr_next FIN TANT QUE. Si des programmes d'exception sont programmés, on lance le premier. FIN

14 IV- Programme de démonstration Le programme de démonstration n utilise pas toutes les primitives de l ordonnanceur mais permet de bien mettre en évidence toutes les caractéristiques du nouveau ordonnanceur, notamment le fait qu il est très difficile de prévoir l ordre exact de déroulement exact des tâches pour le programmeur à moins d utiliser des outils de synchronisation. A noter que la mise au point est assez pénible et laborieuse si on ne dispose pas d outils pour cela, car il est impossible d utiliser un debugger normal. Un outil de simulation est donc indispensable pour une mise au point correct. Dans notre programme de démonstration, on crée quatre tâches. C est la tâche 1, créée par le programme d initialisation qui crée les trois autres tâches. La tâche 1, non périodique, a été créée avec un grand délai critique et nous rappelle qu il faut également prévoir de traiter des tâches non critiques pour un fonctionnement logique et complet d un ordonnanceur. Les trois autres tâches ayant été créées, la tâche 1 se met en attente d un caractère spécial; la réception de ce caractère arrête le système qui retourne au DOS. Les trois autres tâches sont des tâches périodiques qui effectuent à peu près le même traitement, soit afficher leur numéro à l écran, se mettre en attente pour une certaine durée, réafficher leur numéro à l écran puis se mettre en attente périodique. Ces mêmes tâches servent à créer plusieurs exécutables, les paramètres temporels d initialisation seuls différant.

15 V- Conclusion La réalisation de cet ordonnanceur à échéances m a permis de mieux appréhender les difficultés de choix et d implémentation liés à la conception d un tel système. Il m est apparu qu un tel système n était pas utilisable seul et que la programmation effective d applications concrètes et opératives, offrant toutes les qualités de sécurité de fonctionnement indispensables nécessitait des outils complémentaires d aide à la mise au point et à la simulation. A noter qu il n a jamais été question d implanter un outil directement utilisable (surtout en assembleur) mais de vérifier qu une implémentation de certains choix était possible et d évaluer alors les possibilités et limitations inhérentes à ce choix.

Partie 6 : Ordonnancement de processus

Partie 6 : Ordonnancement de processus INF3600+INF2610 Automne 2006 Partie 6 : Ordonnancement de processus Exercice 1 : Considérez un système d exploitation qui ordonnance les processus selon l algorithme du tourniquet. La file des processus

Plus en détail

GESTION DES PROCESSUS

GESTION DES PROCESSUS CHAPITRE 2 : GESTION DES PROCESSUS Objectifs spécifiques Connaître la notion de processus, Connaître les caractéristiques d un processus ainsi que son contexte Connaître la notion d interruptions et de

Plus en détail

Gestion du processeur central

Gestion du processeur central Chapitre II Gestion du processeur central 1. Introduction Evolution des systèmes informatiques 1.1- Premier système : Le programmeur/opérateur doit écrire un programme ensuite le faire fonctionner directement

Plus en détail

Table des matières. Cours Système d Exploitation. Chapitre II : Gestion des processus

Table des matières. Cours Système d Exploitation. Chapitre II : Gestion des processus Chapitre II : Gestion des processus Table des matières I Processus et contexte d un processus 2 II État d un processus 3 III Système d exploitation multi-tâches et parallélisme 3 IV Problèmes dues au multi-tâches

Plus en détail

Ordonnancement. Semestre 6 2012-2013. Licence miage Université Lille 1 Pour toutes remarques : Alexandre.Sedoglavic@univ-lille1.fr.

Ordonnancement. Semestre 6 2012-2013. Licence miage Université Lille 1 Pour toutes remarques : Alexandre.Sedoglavic@univ-lille1.fr. V-2 (02-03-2009) Licence miage Université Lille 1 Pour toutes remarques : Alexandre.Sedoglavic@univ-lille1.fr Semestre 6 2012-2013 Quelques faits motivant la notion Sur une machine, il y a plus de processus

Plus en détail

Ordonnancement des processus. Didier Verna. didier@lrde.epita.fr http://www.lrde.epita.fr/ didier. Systèmes d Exploitation. Didier Verna EPITA

Ordonnancement des processus. Didier Verna. didier@lrde.epita.fr http://www.lrde.epita.fr/ didier. Systèmes d Exploitation. Didier Verna EPITA 1/16 Ordonnancement des processus didier@lrde.epita.fr http://www.lrde.epita.fr/ didier 2/16 Table des matières 1 Ordonnancement et réquisition d ordonnancement 2 d ordonnancement Premier arrivé premier

Plus en détail

Systèmes d'exploitation Gestion des processus

Systèmes d'exploitation Gestion des processus Systèmes d'exploitation Gestion des processus Cours SYE Prof. Daniel Rossier Version 2.3 (2009-2010) 1 Plan Processus Changement de contexte Threads IPC (Inter-Process Communication) Algorithmes d'ordonnancement

Plus en détail

ELE-542 Systèmes ordinés en temps réels. Cours # 8 Système d exploitation Temps Réel

ELE-542 Systèmes ordinés en temps réels. Cours # 8 Système d exploitation Temps Réel ELE- Systèmes ordinés en temps réels Cours # 8 Système d exploitation Temps Réel Jean-Marc Beaulieu et Bruno De Kelper Site internet: http://www.ele.etsmtl.ca/academique/ele/ Systèmes ordinés en temps

Plus en détail

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre Partie I : Introduction Plan de la première partie Quelques définitions Caractéristiques communes des applications temps-réel Exemples d

Plus en détail

Conduite du Projet Système

Conduite du Projet Système Conduite du Projet Système Département Télécom 2ème Année Enseignants : Yves Denneulin, Jacques Mossière, Grégory Mounié, Simon Nieuviarts, Franck Rousseau, Sébastien Viardot Résumé Ce document est complémentaire

Plus en détail

Cours A7 : Temps Réel

Cours A7 : Temps Réel Cours A7 : Temps Réel Pierre.Paradinas / @ / cnam.fr Cnam/Cedric Systèmes Enfouis et Embarqués (SEE) Motivations Du jour : les mécanismes multitâches, la gestion des priorités, l ordonnancement, la gestion

Plus en détail

FreeRTOS ELECINF344. Samuel TARDIEU Mars 2015

FreeRTOS ELECINF344. Samuel TARDIEU <sam@rfc1149.net> Mars 2015 FreeRTOS ELECINF344 Samuel TARDIEU Mars 2015 FreeRTOS : configuration La configuration de FreeRTOS se fait dans un fichier FreeRTOSConfig.h, et définit notamment : les fonctionalités

Plus en détail

Résumé du chapitre 3 Synchronisation entre processus : de producteur/consommateur aux sémaphores

Résumé du chapitre 3 Synchronisation entre processus : de producteur/consommateur aux sémaphores Résumé du chapitre 3 Synchronisation entre processus : de producteur/consommateur aux sémaphores Jacques Mossière 22 septembre 2008 1 Introduction Nous étudions dans ce chapitre la réalisation des processus

Plus en détail

Ordonnancement Temps Réel. Emmanuel GROLLEAU & Pascal RICHARD LISI/ENSMA {grolleau,richardp}@ensma.fr

Ordonnancement Temps Réel. Emmanuel GROLLEAU & Pascal RICHARD LISI/ENSMA {grolleau,richardp}@ensma.fr Ordonnancement Temps Réel Emmanuel GROLLEAU & Pascal RICHARD LISI/ENSMA {grolleau,richardp}@ensma.fr 2 Plan de la présentation 1. Introduction aux systèmes temps réel 1.1 Différents modèles de tâches 1.2

Plus en détail

Gestion des Processus

Gestion des Processus Plan Gestion des Processus Concept de processus Ordonnancement Ryan Cassel cassel@limsi.fr Synchronisation Université Paris XI 2 de Tanenbaum Pour préparer un gateau: Recette Programme Ingrédients

Plus en détail

ORDONNANCEMENT DE L'UNITE DE TRAITEMENT

ORDONNANCEMENT DE L'UNITE DE TRAITEMENT ORDONNANCEMENT DE L'UNITE DE TRAITEMENT 1. OBJECTIFS... 2 2. ASSIGNATIONS ET DIAGRAMMES DE GANTT... 2 3. ALGORITHMES SANS RÉQUISITION... 4 3.1. ORDONNANCEMENT DANS L'ORDRE D'ARRIVÉE (FIFO)... 4 3.2. PLUS

Plus en détail

Cours 6. Entrées et sorties

Cours 6. Entrées et sorties Cours 6 Entrées et sorties PolyTECH - Système Année 2014-2015 Thomas Lavergne Université Paris-Sud Plan Principe général Architecture Gestion du matériel Interfaces : données, types d'accès Services :

Plus en détail

ASSEMBLAGE ET ÉDITION DES LIENS

ASSEMBLAGE ET ÉDITION DES LIENS ASSEMBLAGE ET ÉDITION DES LIENS Mewtow 11 novembre 2015 Table des matières 1 Introduction 5 2 La chaine d assemblage 7 2.1 Résolution des symboles.............................. 7 2.2 Relocation.....................................

Plus en détail

Chap. III : Le système d exploitation

Chap. III : Le système d exploitation UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Le système d exploitation (ou O.S. de l anglais Operating System ) d un ordinateur est le programme qui permet d accéder

Plus en détail

Architecture des Systèmes Embarqués: Systèmes Temps-Réel

Architecture des Systèmes Embarqués: Systèmes Temps-Réel Architecture des Systèmes Embarqués: Systèmes Temps-Réel Pablo de Oliveira January 22, 2013 Section 1 Introduction Plan du cours 5. Systèmes temps-réel Présentation des systèmes

Plus en détail

DAns un système multi-utilisateurs à temps partagé, plusieurs processus

DAns un système multi-utilisateurs à temps partagé, plusieurs processus Chapitre 8 Ordonnancement des processus Dns un système multi-utilisateurs à temps partagé, plusieurs processus peuvent être présents en mémoire centrale en attente d exécution. Si plusieurs processus sont

Plus en détail

Les Systèmes d Exploitation: Concepts et Programmation

Les Systèmes d Exploitation: Concepts et Programmation Les Systèmes d Exploitation: d Concepts et Programmation Samia Bouzefrane MCF en Informatique, CNAM samia.bouzefrane@cnam.fr http://cedric.cnam.fr/~bouzefra Samia Bouzefrane, Cours SYSTEME 1 Introduction

Plus en détail

La gestion des sorties

La gestion des sorties La gestion du temps par programmation La gestion des sorties Pierre-Yves Rochat Les Microcontrôleurs disposent d'un outil matériel très puissant permettant la gestion du temps : les Timers, associés généralement

Plus en détail

QCM systèmes d exploitation (Quarante questions)

QCM systèmes d exploitation (Quarante questions) QCM systèmes d exploitation (Quarante questions) QUIZZ OS N 1 (10 questions avec réponses) Question 1: Aux origines de l informatique, l'interface utilisateur des systèmes d exploitations était composée

Plus en détail

Introduction aux systèmes Temps Réel. M1 UEF5 Systèmes embarqués 2005 2006

Introduction aux systèmes Temps Réel. M1 UEF5 Systèmes embarqués 2005 2006 Introduction aux systèmes Temps Réel M1 UEF5 Systèmes embarqués 2005 2006 Plan : I. Introduction II. Mécanismes Fondamentaux III. Maîtrise du temps IV. Temps réel et industrie I. Introduction 1. Qu'est

Plus en détail

Systèmes d Exploitation temps réel. Programmation des STR. Gabriel FREY 2013 freyg.it@gmail.com

Systèmes d Exploitation temps réel. Programmation des STR. Gabriel FREY 2013 freyg.it@gmail.com Systèmes d Exploitation temps réel 1 2 Plan de l intervention 1. Introduction aux Systèmes Temps Réel 2. Programmation concurrente Synchronisation et communication Besoin en facultés temporelles 3. Ordonnancement

Plus en détail

Processus et gestion de processus

Processus et gestion de processus Processus et gestion de processus et gestion de processus Processus Définition Modélisation Descripteur État Création Destruction Allocation de ressources UNIX Processus UNIX - Modèle Création Terminaison

Plus en détail

Chapitre 5. Communication interprocessus. 5.1 Introduction

Chapitre 5. Communication interprocessus. 5.1 Introduction Communication interprocessus 5.1 Introduction Dans une activité parallèle (ou pseudo parallèle), un ensemble de processus séquentiels s exécutent en parallèle. Cette exécution résulte deux types de relations

Plus en détail

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5 1. Introduction... 2 2. Création d'une macro autonome... 2 3. Exécuter la macro pas à pas... 5 4. Modifier une macro... 5 5. Création d'une macro associée à un formulaire... 6 6. Exécuter des actions en

Plus en détail

Communications entre tâches logicielles et matérielles dans un contexte d OS temps réel sur une architecture FPGA reconfigurable.

Communications entre tâches logicielles et matérielles dans un contexte d OS temps réel sur une architecture FPGA reconfigurable. Arthur Segard 3eme année ENSEA section Informatique et Systèmes DEA Traitement des Images et du Signal Communications entre tâches logicielles et matérielles dans un contexte d OS temps réel sur une architecture

Plus en détail

Architecture des ordinateurs TP 3

Architecture des ordinateurs TP 3 Architecture des ordinateurs ESIPE - IR1 TP 3 Objectif de cette séance L objectif de cette séance est d apprendre à utiliser la pile et à écrire des fonctions en assembleur En particulier, nous verrons

Plus en détail

TABLE DES MATIÈRES. Chapitre 1 : Introduction aux Systèmes Informatiques Temps Réel

TABLE DES MATIÈRES. Chapitre 1 : Introduction aux Systèmes Informatiques Temps Réel TABLE DES MATIÈRES Introduction générale Chapitre 1 : Introduction aux Systèmes Informatiques Temps Réel 1. Introduction 7 2. Les systèmes temps réel 7 2.1. Présentation générale 7 2.2. Structure d un

Plus en détail

Gestion des processus

Gestion des processus 1/27 Gestion des processus didier@lrde.epita.fr http://www.lrde.epita.fr/ didier 2/27 Table des matières 1 2 Ordonnancement des processus 3 sur les processus 4 entre processus 5 4/27 Programme vs. Processus

Plus en détail

EPU - Informatique ROB4 Programmation Système

EPU - Informatique ROB4 Programmation Système EPU - Informatique ROB4 Programmation Système Introduction aux signaux Vincent Padois, Jean-Baptiste Mouret vincent.padois@upmc.fr Université Pierre et Marie Curie Institut des Systèmes Intelligents et

Plus en détail

LE BIOS : QU EST-CE QUE C EST?

LE BIOS : QU EST-CE QUE C EST? LE BIOS : QU EST-CE QUE C EST? Mewtow 29 octobre 2015 Table des matières 1 Introduction 5 2 Rappels sur le mode réel des processeurs x86 7 2.1 Mémoire en mode réel............................... 7 2.1.1

Plus en détail

Cours de Systèmes d Exploitation

Cours de Systèmes d Exploitation Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation

Plus en détail

Chap. V : Les interruptions

Chap. V : Les interruptions UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Nous étudions dans ce chapitre les interruptions matérielles (ou externes), c est-à-dire déclenchées par le matériel (hardware)

Plus en détail

Travaux Pratiques de l option STR

Travaux Pratiques de l option STR Travaux Pratiques de l option STR Processeur Détecteur ultrasons Moteurs Détecteur de contacts Détecteur de lumière Détecteur de sons RTOS (OSEK/VDX) ECRobot C/C++API Gestion des moteurs Vitesse, angle

Plus en détail

Systèmes d exploitation Gestion des processus

Systèmes d exploitation Gestion des processus Systèmes d exploitation Gestion des processus Didier Verna didier@lrde.epita.fr 5 décembre 2000 Table des matières Table des matières Généralités... 3 États d un processus... 4 Bloc de contrôle d un processus

Plus en détail

Systèmes d Exploitation Gestion des processus

Systèmes d Exploitation Gestion des processus Systèmes d Exploitation Gestion des processus Didier Verna didier@lrde.epita.fr http://www.lrde.epita.fr/ didier Version 2@1.6 6 décembre 2004 Table des matières Table des matières Généralités... 3 États

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 2. Structures itératives

Info0101 Intro. à l'algorithmique et à la programmation. Cours 2. Structures itératives Info0101 Intro. à l'algorithmique et à la programmation Cours 2 Structures itératives Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques

Plus en détail

Systèmes d'exploitation Chapitre II. Gestion des processus

Systèmes d'exploitation Chapitre II. Gestion des processus Systèmes d'exploitation Chapitre II Gestion des processus 1 Processus Un programme qui s exécute Les ordinateurs autorisent maintenant plusieurs processus simultanément (pseudo parallélisme) A B A B C

Plus en détail

3. Systèmes Temps Réel. Moniteur Temps Réel MTR86W32. 3. SYSTEMES TEMPS REEL - Moniteur Temps Réel MTR86W32

3. Systèmes Temps Réel. Moniteur Temps Réel MTR86W32. 3. SYSTEMES TEMPS REEL - Moniteur Temps Réel MTR86W32 3. SYSTEMES TEMPS REEL - Moniteur Temps Réel MTR86W32 Introduction au Moniteur Temps Réel multitâche MTR86W32 MTR86W32 : librairie de fonctions. création, activation, suppression de processus,. gestion

Plus en détail

PLAN. Synchronisation des Processus: Exclusion Mutuelle. Problème de synchronisation: Exemple. Spécification du Problème

PLAN. Synchronisation des Processus: Exclusion Mutuelle. Problème de synchronisation: Exemple. Spécification du Problème PLAN Synchronisation des Processus: Exclusion Mutuelle N.Hameurlain http://www.univ-pau.fr/~hameur Spécification du problème Section Critique () Exclusion Mutuelle Principe Propriétés Réalisation d exclusion

Plus en détail

Système. Introduction aux systèmes informatiques

Système. Introduction aux systèmes informatiques Introduction aux systèmes informatiques Système Un système est une collection organisée d'objets qui interagissent pour former un tout Objets = composants du système Des interconnexions (liens) entre les

Plus en détail

Le système Windows. Yves Denneulin. Introduction. Introduction. Plan

Le système Windows. Yves Denneulin. Introduction. Introduction. Plan Introduction Le système Windows Yves Denneulin Windows a 25 ans Au début basé sur MS/DOS Multi-tâches coopératifs Pas de réelle protection entre applications Famille 1.0 -> 386 -> 95 -> 98 -> Me Version

Plus en détail

Ordonnancement centralisé de de tâches temps réel

Ordonnancement centralisé de de tâches temps réel Ordonnancement centralisé de de tâches temps réel Samia Bouzefrane Maître de Conférences CEDRIC CNAM samia.bouzefrane@cnam.fr http://cedric.cnam.fr/~bouzefra 1 Sommaire 1. Caractéristiques de l ordonnancement

Plus en détail

CARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1

CARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1 CARPE (Documentation Informatique) 1 CARPE Version 2.00 Août 2013 Documentation Informatique S E T R A Programme CARPE - Manuel informatique de l'utilisateur CARPE (Documentation Informatique) 2 Table

Plus en détail

Synchronisation des Processus et les sémaphores

Synchronisation des Processus et les sémaphores Synchronisation des Processus et les sémaphores Achraf Othman Support du cours : www.achrafothman.net 1 PLAN Spécification du problème Section Critique (SC) Exclusion Mutuelle Principe Propriétés Réalisation

Plus en détail

Mémoire virtuelle. Généralités

Mémoire virtuelle. Généralités Mémoire virtuelle Généralités La pagination pure - Conversion d adresses virtuelles en adresses physiques - Table des pages à plusieurs niveau et table inversée - Algorithmes de remplacement de page -

Plus en détail

Guide d'installation et de démarrage du Driver X-WAY sur TCP/IP

Guide d'installation et de démarrage du Driver X-WAY sur TCP/IP Guide d'installation et de démarrage du Driver X-WAY sur TCP/IP Sommaire Chapitre Page 1 Mise en oeuvre 1/1 1.1 Généralités 1/1 1.1-1 Architecture documentaire 1/1 1.1-2 Compatibilités 1/1 1.2 Installation

Plus en détail

École Polytechnique de Montréal. Département de Génie Informatique. Cours INF3600 : Systèmes d exploitation. Contrôle périodique Automne 2001

École Polytechnique de Montréal. Département de Génie Informatique. Cours INF3600 : Systèmes d exploitation. Contrôle périodique Automne 2001 École Polytechnique de Montréal Département de Génie Informatique Cours INF3600 : Systèmes d exploitation Contrôle périodique Automne 2001 Date : 1 er novembre 2001 de 18h à 20h Professeurs : Kerly Titus,

Plus en détail

Systemes d'exploitation des ordinateurs

Systemes d'exploitation des ordinateurs ! " #$ % $ &' ( $ plan_ch7_m1 Systemes d'exploitation des ordinateurs Le système des entrées-sorties Objectifs 1. Fonctionnement des périphériques 2. Entrées-Sorties synchrones et asynchrones 3. Les entrées-sorties

Plus en détail

Introduction aux systèmes d exploitation

Introduction aux systèmes d exploitation Introduction aux systèmes d exploitation Le système d exploitation est un ensemble de logiciels qui pilotent la partie matérielle d un ordinateur. Les principales ressources gérées par un système d exploitation

Plus en détail

Processus. Les processus, à quoi ça sert? Une définition d'un processus. La vie intime des processus. Allocation du processeur

Processus. Les processus, à quoi ça sert? Une définition d'un processus. La vie intime des processus. Allocation du processeur 1 sur 9 Processus Les processus, à quoi ça sert? Une définition d'un processus La vie intime des processus Quelques caractéristiques des processus Le contexte et la commutation de contexte Les processus

Plus en détail

4D v11 SQL Release 6 (11.6) ADDENDUM

4D v11 SQL Release 6 (11.6) ADDENDUM ADDENDUM Bienvenue dans la release 6 de 4D v11 SQL. Ce document présente les nouveautés et modifications apportées à cette nouvelle version du programme. Augmentation des capacités de chiffrement La release

Plus en détail

Notions de base Ordonnancement Communication et synchronisation. Les processus. Julien Forget 1

Notions de base Ordonnancement Communication et synchronisation. Les processus. Julien Forget 1 Julien Forget 1 Université Lille 1 École Polytechnique Universitaire de Lille Cité Scientifique 59655 Villeneuve d Ascq GIS3 2011-2012 1. Inspiré des slides de Thomas Vantroys 1 / 58 Plan 1 Notions de

Plus en détail

Cours Systèmes d exploitation 1

Cours Systèmes d exploitation 1 Cours Systèmes d exploitation 1 Achraf Othman Support du cours : www.achrafothman.net 1 Plan du cours Chapitre 1 : Gestion des processus Chapitre 2 : Ordonnancement des processus Chapitre 3 : La communication

Plus en détail

Ordinateurs, Structure et Applications

Ordinateurs, Structure et Applications Ordinateurs, Structure et Applications Cours 13, Le DOS Etienne Tremblay Université Laval, Hiver 2011 Cours 13, p.1 Le DOS DOS signifie Disk Operating System Le DOS est un système d exploitation. Il existe

Plus en détail

Systèmes temps réel Concepts de base. Richard Grisel Professeur des Universités Université de Rouen

Systèmes temps réel Concepts de base. Richard Grisel Professeur des Universités Université de Rouen Systèmes temps réel Concepts de base Richard Grisel Professeur des Universités Université de Rouen 1 Systèmes temps réel - Choix Gestion des ressources Ordonnancement ( Scheduling ), Tolérance aux fautes

Plus en détail

Ordonnancement temps réel

Ordonnancement temps réel Ordonnancement temps réel Laurent.Pautet@enst.fr Version 1.5 Problématique de l ordonnancement temps réel En fonctionnement normal, respecter les contraintes temporelles spécifiées par toutes les tâches

Plus en détail

Les systèmes d exploitation

Les systèmes d exploitation Définitions Les systèmes d exploitation Version LJV #090915 septembre 2009 Le système d'exploitation: (anglais operating system, en abrégé OS) ensemble des programmes nécessaires et indispensables au fonctionnement

Plus en détail

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN

Plus en détail

Exécutif temps réel Pierre-Yves Duval (cppm)

Exécutif temps réel Pierre-Yves Duval (cppm) Exécutif temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 Plan Exécutif Tâches Evénements et synchronisation Partage de ressources Communications

Plus en détail

Questions à choix multiples Page 1 de 11

Questions à choix multiples Page 1 de 11 INF3172 Principes des systèmes d'exploitation Examen intra hiver 2015 Question #1 Quel est l'objectif d'un système d'exploitation? a) Protéger les composants de l'ordinateur b) Fournir une abstraction

Plus en détail

processus fonction main() l'image binaire contexte d'exécution un contexte mémoire. en même temps

processus fonction main() l'image binaire contexte d'exécution un contexte mémoire. en même temps 1 2 Dans une première approche, on peut dire qu'un processus représente une "application" qui tourne en mémoire. Il sera donc chargé en mémoire par le noyau et commencera son exécution; du point de vue

Plus en détail

Correction TD3 : Ordonnancement de processus

Correction TD3 : Ordonnancement de processus Ministère de l enseignement Supérieur Institut Supérieur des Etudes Technologiques de Sfax Département informatique A. U. 2011-2012 2 eme semestre : Classes : INFO-L1 Date : Avril 2012 Matière : Systèmes

Plus en détail

Ordinateurs, Structure et Applications

Ordinateurs, Structure et Applications Ordinateurs, Structure et Applications Cours 10, Les interruptions Etienne Tremblay Université Laval, Hiver 2012 Cours 10, p.1 Les interruptions du 8086 Une interruption interrompt l exécution séquentielle

Plus en détail

Systèmes d'exploitation

Systèmes d'exploitation Systèmes d'exploitation Fonctionnement interne Jeudi 27 mai et mardi 1er Juin Thomas Petazzoni Lolut - http://lolut.utbm.info Linux Magazine Série complète sur la construction d'un OS simple : SOS. A partir

Plus en détail

Systemes d'exploitation des ordinateurs

Systemes d'exploitation des ordinateurs ! " #$ % $ &' ( $ plan_ch6_m1 Systemes d'exploitation des ordinateurs Conception de Systèmes de Gestion de la Mémoire Centrale Objectifs 1. Conception de systèmes paginés 2. Conception des systèmes segmentés

Plus en détail

Chapitre IV : La gestion du processeur Mécanismes d ordonnancement

Chapitre IV : La gestion du processeur Mécanismes d ordonnancement Chapitre IV : La gestion du processeur Mécanismes d ordonnancement Eric.Leclercq@u-bourgogne.fr Département IEM http://ufrsciencestech.u-bourgogne.fr http://ludique.u-bourgogne.fr/~leclercq 1 er mars 2007

Plus en détail

Partie 7 : Gestion de la mémoire

Partie 7 : Gestion de la mémoire INF3600+INF2610 Automne 2006 Partie 7 : Gestion de la mémoire Exercice 1 : Considérez un système disposant de 16 MO de mémoire physique réservée aux processus utilisateur. La mémoire est composée de cases

Plus en détail

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran)  Processus = suite d'actions = suite d'états obtenus = trace Processus 1) Contexte 2) Modèles de Notion de Points de vue Modèle fourni par le SX Opérations sur les 3) Gestion des Représentation des Opérations 4) Ordonnancement des Niveaux d ordonnancement Ordonnancement

Plus en détail

Systèmes d'exploitation. Pierre Antoine Champin IUT A de Lyon Séance 4

Systèmes d'exploitation. Pierre Antoine Champin IUT A de Lyon Séance 4 Systèmes d'exploitation Pierre Antoine Champin IUT A de Lyon Séance 4 Plan de la séance 1. Concurrence 2. Problématique liée à la concurrence section critique mécanisme d'exclusion mutuelle 3. Solutions

Plus en détail

Systèmes d Exploitation Chapitre 6 Sémaphores

Systèmes d Exploitation Chapitre 6 Sémaphores Systèmes d Exploitation Chapitre 6 Sémaphores F. Moal 2012/2013 Par DIJKSTRA 1971 Idée : encapsuler les solutions diverses au pb de la section critique pour fournir une interface unique et assurer la portabilité.

Plus en détail

HS/S4.2.1 Capteur crépusculaire, MRD

HS/S4.2.1 Capteur crépusculaire, MRD HS/S4.2.1 Capteur crépusculaire, MRD HS/S4.2.1 2CDG120044R0011 Version : avr.-13 (sous réserve de modifications) Page 1 de 46 Table des matières 1 Fonctionnalités... 3 1.1 Particularités... 3 2 Caractéristiques

Plus en détail

1 Mesure de la performance d un système temps réel : la gigue

1 Mesure de la performance d un système temps réel : la gigue TP TR ENSPS et MSTER 1 Travaux Pratiques Systèmes temps réel et embarqués ENSPS ISV et Master TP1 - Ordonnancement et communication inter-processus (IPC) Environnement de travail Un ordinateur dual-core

Plus en détail

Cours Architecture des ordinateurs (Archi II) Entrées / Sorties Resp. Mr Mohamed Feredj MCA Courriel : archiferedj@gmail.com

Cours Architecture des ordinateurs (Archi II) Entrées / Sorties Resp. Mr Mohamed Feredj MCA Courriel : archiferedj@gmail.com Cours Architecture des ordinateurs (Archi II) Entrées / Sorties Resp. Mr Mohamed Feredj MCA Courriel : archiferedj@gmail.com 1 1) Objectif Discuter comment les données sont transférées entre le et les

Plus en détail

Programmer avec Xcas : version 0.8.6 et 0.9

Programmer avec Xcas : version 0.8.6 et 0.9 Programmer avec Xcas : version 0.8.6 et 0.9 I. L environnement de travail de Xcas Xcas permet d écrire des programmes, comme n importe quel langage de programmation. C est un langage fonctionnel. L argument

Plus en détail

Présentation. Logistique. Résumé de la 1e Partie. Mise en place du système

Présentation. Logistique. Résumé de la 1e Partie. Mise en place du système Présentation Diapo01 Je m appelle Michel Canneddu. Je développe avec 4D depuis 1987 et j exerce en tant qu indépendant depuis 1990. Avant de commencer, je tiens à remercier mes parrains Jean-Pierre MILLIET,

Plus en détail

Structure du bus système Gestion du bus système Fonctionnement des périphériques

Structure du bus système Gestion du bus système Fonctionnement des périphériques Périphériques et bus système Structure du bus système Gestion du bus système Fonctionnement des s MÉMOIRE PRINCIPALE BUS SYSTÈME Cache d'instructions MMU TLB Unité de de contrôle Unité de de traitement

Plus en détail

Construisez des applications autonomes et fiables avec LabVIEW Real Time

Construisez des applications autonomes et fiables avec LabVIEW Real Time Construisez des applications autonomes et fiables avec LabVIEW Real Time Victor FOURNIER National Instruments, Ingénieur d applications Sommaire Qu est-ce que le temps réel? Domaines d utilisation du temps

Plus en détail

Chargement de processus Allocation contigüe Allocation fragmentée Gestion de pages. Gestion mémoire. Julien Forget

Chargement de processus Allocation contigüe Allocation fragmentée Gestion de pages. Gestion mémoire. Julien Forget Julien Forget Université Lille 1 École Polytechnique Universitaire de Lille Cité Scientifique 59655 Villeneuve d Ascq GIS 3 2011-2012 1 / 46 Rôle du gestionnaire de mémoire Le gestionnaire de mémoire a

Plus en détail

Cours d Analyse, Algorithmique Elements de programmation

Cours d Analyse, Algorithmique Elements de programmation 1 de 33 Cours d Analyse, Algorithmique Elements de programmation Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert 2 de 33 Données et instructions Un programme

Plus en détail

IUT - Département Informatique. ASR3 Système 2013-2014. Les processus M.Billaud - septembre 2013. 2 Histoire

IUT - Département Informatique. ASR3 Système 2013-2014. Les processus M.Billaud - septembre 2013. 2 Histoire IUT - Département Informatique ASR3 Système 2013-2014 Les processus M.Billaud - septembre 2013 SYS PROC Table des matières 1 Introduction 1 2 Histoire 1 2.1 Multitâche................... 1 2.2 Exemple

Plus en détail

Architecture matérielle et logicielle

Architecture matérielle et logicielle Architecture matérielle et logicielle Contents I Le Cours 2 1 Généralités 2 2 Micro-processeur 2 3 Mémoire 2 4 Performances 3 II TPs 3 1 Création d un exécutable : 3 2 Les bibliothèques 3 3 Codage de l

Plus en détail

Systèmes d exploitation. Introduction. (Operating Systems) http://www.sir.blois.univ-tours.fr/ mirian/

Systèmes d exploitation. Introduction. (Operating Systems) http://www.sir.blois.univ-tours.fr/ mirian/ Systèmes d exploitation (Operating Systems) Introduction SITE : http://www.sir.blois.univ-tours.fr/ mirian/ Systèmes d exploitation - Mírian Halfeld-Ferrari p. 1/2 Qu est-ce qu un SE? Ensemble de logiciels

Plus en détail

CEG4566/CSI4541 Conception de systèmes temps réel. Chapitre 8 - Communication et synchronisation dans les systèmes temps réel

CEG4566/CSI4541 Conception de systèmes temps réel. Chapitre 8 - Communication et synchronisation dans les systèmes temps réel CEG4566/CSI4541 Conception de systèmes temps réel Chapitre 8 - Communication et synchronisation dans les systèmes temps réel Sommaire 8.1 Objets partagés et exclusion mutuelle 8.2 Moniteurs et synchronisation

Plus en détail

LA GESTION DE LA MEMOIRE

LA GESTION DE LA MEMOIRE CHAPITRE 5 : LA GESTION DE LA MEMOIRE Objectifs spécifiques Connaître le principe de gestion de mémoire en monoprogrammation Connaître le principe de gestion de mémoire en multiprogrammation Connaître

Plus en détail

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants : GIF-3002 SMI et Architecture du microprocesseur Ce cours discute de l impact du design du microprocesseur sur le système entier. Il présente d abord l architecture du cœur ARM Cortex M3. Ensuite, le cours

Plus en détail

Multi-threading. Mécanismes de Synchronisation

Multi-threading. Mécanismes de Synchronisation Multi-threading Mécanismes de Synchronisation 1 Exclusion Mutuelle - Mutex Producteurs / Consommateur - Sémaphores 2 Accès en Exclusion Mutuelle Exemple d'une liste d'objects partagée: Gérée en LIFO (Last

Plus en détail

CONSERVATOIRE NATIONAL DES ARTS ET METIERS METHODES DE PROGRAMMATION SYSTEMES UE NSY103 NANCY/METZ

CONSERVATOIRE NATIONAL DES ARTS ET METIERS METHODES DE PROGRAMMATION SYSTEMES UE NSY103 NANCY/METZ CONSERVATOIRE NATIONAL DES ARTS ET METIERS Durée : 2 heures METHODES DE PROGRAMMATION SYSTEMES UE NSY103 NANCY/METZ CORRECTION DE L'EXAMEN DE RATTRAPAGE de SEPTEMBRE 2012 Année 2011 2012, deuxième semestre

Plus en détail

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager

Plus en détail

IV- Comment fonctionne un ordinateur?

IV- Comment fonctionne un ordinateur? 1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions

Plus en détail

Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R

Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R Architecture des ordinateurs Licence Informatique - Université de Provence Jean-Marc Talbot Optimisation : pipeline jtalbot@cmi.univ-mrs.fr L3 Informatique - Université de Provence () Architecture des

Plus en détail

Introduction. La gestion des qualités de services dans Internet. La garantie de QoS. Exemple

Introduction. La gestion des qualités de services dans Internet. La garantie de QoS. Exemple Introduction Aujourd hui les applications (en particulier multimédia) nécessitent des qualités de service de natures très différentes La gestion des qualités de services dans Internet Exemples: Transfert

Plus en détail

Introduction aux systèmes d'exploitation Examen de 2 heures Tous documents autorisés (sauf PC)

Introduction aux systèmes d'exploitation Examen de 2 heures Tous documents autorisés (sauf PC) Introduction aux systèmes d'exploitation Examen de 2 heures Tous documents autorisés (sauf PC) Nicolas Gibelin 30 novembre 2004 1 Synchronisation (6 Points - 50 Minutes) 1.1 Question (3 points) Soit deux

Plus en détail

Guide d intégration. Protection de classeurs Microsoft EXCEL avec CopyMinder. Contact commercial : Tél. : 02 47 35 70 35 Email : com@aplika.

Guide d intégration. Protection de classeurs Microsoft EXCEL avec CopyMinder. Contact commercial : Tél. : 02 47 35 70 35 Email : com@aplika. Guide d intégration Protection de classeurs Microsoft EXCEL avec CopyMinder Contact commercial : Tél. : 02 47 35 70 35 Email : com@aplika.fr Contact Technique : Tél. : 02 47 35 53 36 Email : support@aplika.fr

Plus en détail