Chapitre 4 : Outils de communication centralisés entre processus

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

Download "Chapitre 4 : Outils de communication centralisés entre processus"

Transcription

1 Chapitre 1 : Introduction Chapitre 2 : Processus Chapitre 3 : Ordonnancement Chapitre 4 : Outils de communication centralisés entre processus Chapitre 5 : Allocation mémoire Chapitre 6 : Mémoire virtuelle Chapitre 7 : Interblocage Chapitre 8 : Synchronisation entre processus Chapitre 9 : Inversion de Priorité Chapitre 10 : Communication inter processus sur le réseau Chapitre 11 : Programmation socket Table des figures

2 Chapitre 1 : Introduction Ce chapitre constitue une introduction aux systèmes d'exploitation multiprogrammés. Cours : Introduction aux systèmes d'exploitation Evolution de la prise en compte des entrées sorties par la machine matérielle : vers la machine multiprogrammée Le mode programmé Les interruptions Le DMA ou Direct Memory Access Rôles du système d'exploitation dans un environnement multiprogrammé. Définition. Fonctions d'un système d'exploitation Les différentes classes de système Un peu plus sur les systèmes temps réel Notions de base Interfaces du système d'exploitation Modes d'exécutions et Commutations de contexte Un premier test Table des figures

3 Introduction>Introduction aux systèmes d'exploitation 1 Cours : Introduction aux systèmes d'exploitation Ce chapitre constitue une introduction aux systèmes d'exploitation multiprogrammés. Après un rappel sur l'évolution de la prise en compte des entrées/sorties par la machine physique, nous donnons la définition d'un système d'exploitation., puis nous listons les différentes fonctions qui le composent. Les différents types de systèmes d'exploitation sont ensuite présentés et une attention toute particulière est alors portée sur les systèmes temps réel. Nous finissons par un rappel sur les notions de base. 1.1 Evolution de la prise en compte des entrées sorties par la machine matérielle : vers la machine multiprogrammée Nous nous intéressons à l'évolution de la prise en charge des entrées/sorties au niveau matériel. Trois modes sont possibles : le mode programmé, les interruptions et le Dma. Nous allons voir que le dernier mode libère complètement le processeur de la réalisation d'une entrée sortie et permet alors de faire exécuter à celui-ci d'autres opérations durant celle-ci : le système pourra alors être multiprogrammé, c'est-àdire pourra permettre le traitement de plusieurs programmes : l'une en entrées/sorties, l'autre en calcul Le mode programmé Le premier mode de gestion des entrées/sorties est le mode programmé. Dans ce mode, l'unité d'échange qui interface le périphérique au bus et au processeur, ne sait pas délivrer d'informations sur son état. Pour savoir si l'unité d'échange est prête à recevoir ou délivrer une nouvelle donnée, le processeur doit régulièrement lire le contenu du registre d'état RE de l'unité d'échange. Le processeur est donc complètement occupé durant l'entrée sortie par la réalisation de cette boucle de scrutation dont la logique est donnée sur la figure 1 en mémoire centrale. On ne peut donc concevoir qu un système monoprogrammé.

4 Fig 1 : Le mode programmé Les interruptions Une première amélioration provient du mécanisme d'interruption : l'unité d'échange délivre alors une interruption à destination du processeur lorsqu'elle est prête à délivrer ou recevoir une nouvelle donnée. Le processeur, à la prise en compte de cette interruption, va exécuter la routine associée qui lit la donnée présente dans RD (lecture) ou met dans RD la donnée suivante à écrire. Le processeur ne doit donc plus scruter le registre d'état RE de l'unité d'échange pour savoir si celle-ci est prête. Cependant, il reste le seul à pouvoir accéder à la mémoire centrale et doit donc encore gérer l'entrée sortie dans le sens où il doit se charger des transferts mémoire centrale registre de donnée.

5 Fig 2 : Entrée/sortie et interruption Complément : Nous rappelons brièvement le mécanisme des interruptions. Le processeur exécute un programme lambda. L'interruption n 3 survient, déclenchée par une unité périphérique. Le processeur arrête alors l'exécution du programme lambda. Il sauvegarde le contexte du processeur en mémorisant notamment l'adresse de la prochaine instruction à exécuter dans le programme lambda (ici 1002). Puis il détermine grâce à une table appelée la table des vecteurs d'interruptions, l'adresse de la routine associée à l'interruption n 3. : ici Il charge alors le CO avec cette adresse, exécute la routine d'interruption qui se termine par l'instruction machine RTI (return Interrupt) : cette instruction restaure le contexte sauvegardé lors de la prise en compte de l'interruption : le CO est chargé avec l'adresse 1002 et le programme lambda reprend son exécution là où il avait été interrompu.

6 Traitement d'une interruption Le DMA ou Direct Memory Access L'ajout d'un dispositif de DMA (Direct Memory Access) permet à l'unité d'échange d'accéder par elle-même à la mémoire centrale. Le DMA com port e quatre registres qui servent à décrire l'opération d'entrées/sorties à réaliser (nombre d'octets à transférer nb, adresse du premier sens de l'opération,.adresse du périphérique Combiner au mécanisme d'interruption, le DMA permet de décharger le processeur de toute la réalisation des entrées/sorties. Celui-ci n'a plus qu'à initialiser l'opération en initialisant le contenu des registres du DMA tel que cela est décrit sur la figure 3. Le DMA se charge ensuite d'effectuer l'opération d'entrées/sorties, en lisant ou écrivant lui-même en mémoire centrale les données transférées par l'unité périphérique. Lorsque l'opération d'entrées sorties est terminée, le DMA émet une interruption pour le signaler au processeur. Fig 3 : DMA et entrée sortie Le chronogramme de la figure 4 illustre l'activité du processeur et du DMA lorsque le système est monoprogrammé. Le programme Prog s'exécute et fait du calcul : le processeur est actif et le DMA inactif. A un instant t, le programme Prog demande une opération d'entrées/sorties (Lire/Ecrire). Le Dma, une fois initialisé par le processeur, devient actif et le processeur inactif, puisqu'il n'y a qu'un seul programme en mémoire centrale et que le DMA gère seul l'opération d'entrées sorties. Le processeur demeure donc inactif jusqu à ce que le DMA ait fini l'entrée sortie; à ce moment là le processeur reçoit l'interruption émise par le DMA, redevient actif, traite l'interruption puis reprend l'exécution du programme Prog..

7 Fig 4 : Activité du CPU et du DMA sur un système monoprogrammé Laisser le processeur inactif conduit à une mauvaise utilisation de cette ressource matérielle. On choisit donc de "monter" plusieurs programmes en mémoire centrale : ainsi comme le montre la figure 5, lorsque le DMA réalise une opération d'entrées sorties pour le programme ProgA, le processeur peut exécuter un autre programme qui demande du calcul : ProgB. Le système est devenu multiprogrammé.

8 Fig 5 : Activité du CPU et du DMA sur un système multiprogrammé

9 Introduction>Introduction aux systèmes d'exploitation>role du systeme 1.2 Rôles du système d'exploitation dans un environnement multiprogrammé. Définition. Le système est multiprogrammé : plusieurs programmes coexistent en mémoire centrale et utilisent le processeur pour effectuer des calculs et le DMA pour réaliser les opérations d'entrées sorties. On distingue en mémoire centrale un programme particulier : le système d'exploitation, chargé en mémoire haute avec le vecteur d'interruptions. Le premier rôle du système d'exploitation dans un système multiprogrammé est de gérer le partage de la machine physique et des ressources matérielles entre les différents programmes. Cette gestion doit assurer l'équité d'accès aux ressources matérielles et assurer également que les accès des programmes à ces ressources s'effectuent correctement (protection des ressource s). Plus précisément, la gestion du partage de la machine physique et des ressources matérielles doit permettre de répondre aux questions suivantes : partage du processeur unique : parmi tous les programmes chargés en mémoire centrale, lequel doit s'exécuter? partage de la mémoire centrale : comment allouer la mémoire centrale aux différents programmes. Comment assurer la protection entre ces différents programmes utilisateurs? Comment protéger le système d'exploitation des programmes utilisateurs? Par protection, on entend ici veiller à ce qu'un programme donné n'accède pas à une plage mémoire allouée à un autre programme. partage des périphériques Le second rôle du système d'exploitation est de faciliter l'accès à la machine physique pour l'utilisateur de celle-ci. En effet sur une machine physique brute, pour réaliser par exemple une opération d'entrées sorties, il est nécessaire de connaître la manière dont le périphérique est géré (DMA, interruption?). De même pour faire exécuter un programme, il faut charger celui-ci en mémoire centrale et connaître la manière dont l'allocation des mots mémoire est gérée. Ceci est fastidieux et compliqué pour l'utilisateur de la machine. Le système d'exploitation offre à l'utilisateur une interface destinée à masquer les caractéristiques matérielles. Cette interface est composée d'un ensemble de primitives qui gèrent elles-mêmes les caractéristiques matérielles sous-jacentes et offrent un service à l'utilisateur. Un utilisateur souhaitant réaliser une opération d'entrées sorties fait appel à une primitive unique ECRIRE sans se soucier du type de gestion associée au périphérique. C'est la primitive qui prendra en charge la spécificité du périphérique. L'ensemble des primitives offertes par le système d'exploitation crée une machine virtuelle au dessus de la machine physique plus simple d'emploi et plus conviviale. On distingue deux types de primitives : les appels systèmes et les commandes.

10 Définition : Système d'exploitation C'est un ensemble de programmes qui réalise l'interface entre le matériel de l'ordinateur et les utilisateurs. Il a deux objectifs principaux : construction au-dessus du matériel d'une machine virtuelle plus facile d'emploi et plus conviviale prise en charge de la gestion de plus en plus complexe des ressources et partage de celle-ci Comme son nom le suggère, le système d exploitation a en charge l'exploitation de la machine pour en faciliter l'accès, le partage et pour l'optimiser

11 Introduction>Introduction aux systèmes d'exploitation>fonction du système 1.3 Fonctions d'un système d'exploitation Le système d'exploitation (figure 6) présente donc comme une couche logicielle placée entre la machine matérielle et les applications. Il s'interface avec la couche matérielle, notamment par le biais du mécanisme des interruptions. Il s'interface avec les applications par le biais des primitives qu'il offre : appels système et commandes. Le système d'exploitation peut être découpé en plusieurs grandes fonctions présentées sur la figure ci-dessous Dans une première approche, ces fonctions qui seront étudiées plus en détails dans les chapitres suivants du cours sont : Gestion du processeur : le système doit gérer l'allocation du processeur aux différents programmes pouvant s'exécuter. Cette allocation se fait par le biais d'un algorithme d'ordonnancement qui planifie l'exécution des programmes. Selon le type de système d'exploitation, l'algorithme d' ordonnancement répond à des objectifs différents Gestion de la mémoire : le système doit gérer l'allocation de la mémoire centrale entre les différents programmes pouvant s'exécuter (pagination/segmentation). Comme la mémoire physique est souvent trop petite pour contenir la totalité des programmes, la gestion de la mémoire se fait selon le principe de la mémoire virtuelle : à un instant donné, seules sont chargées en mémoire centrale, les parties de code et données utiles à l'exécution Gestion des entrées/sorties : le système doit gérer l'accès aux périphériques, c'est-à-dire faire la liaison entre les appels de haut niveau des programmes utilisateurs (exemple getchar()) et les opérations de bas niveau de l'unité d échange responsable du périphérique (unité d échange clavier) : c'est le pilote d'entrées/sorties (driver) qui assure cette correspondance Gestion de la concurrence : Comme plusieurs programmes coexistent en mémoire centrale, ceux-ci peuvent vouloir communiquer pour échanger des données. Par ailleurs, il faut synchroniser l'accès aux données partagées afin de maintenir leur cohérence. Le système offre des outils de communication et de synchronisation entre programmes Gestion des objets externes : La mémoire centrale est une mémoire volatile. Aussi, toutes les données devant être conservées au-delà de l'arrêt de la machine, doivent être stockées sur une mémoire de masse ( disque dur, disquette, cédérom...). La gestion de l'allocation des mémoires de masse ainsi que l'accès aux données stockées s'appuient sur la notion de fichiers et de système de gestion de fichiers (SGF). Gestion de la protection : le système doit fournir des mécanismes garantissant que ses ressource s (CPU, mémoire, fichiers) ne peuvent être utilisées que par les programmes auxquels les droits nécessaires ont été accordés. Il faut notamment protéger le système et la machine des programmes utilisateurs (mode d'exécution utilisateur et superviseur)

12 Fig 6 : Les grandes fonctions du système d exploitation

13 Introduction>Introduction aux systèmes d'exploitation>classe des systèmes 1.4 Les différentes classes de système Les systèmes d'exploitation multiprogrammés peuvent être classés selon différents types qui dépendent des buts et des services offerts par les systèmes. On distingue principalement trois grandes classes de systèmes les systèmes multiutilisateurs interactifs : l'utilisateur est "derrière son clavier et son écran" ; il soumet des exécutions et attend les résultats : il faut donc réduire au maximum le temps d'attente et faire croire à l'utilisateur qu'il est seul à utiliser la machine. Ce sont des systèmes adaptés à la mise au point de programmes (exemple : UNIX, Linux) les systèmes à traitements par lots (batch) : les programmes sont exécutés en différé, les uns à la suite des autres. Ce sont des systèmes dédiés aux travaux de production (exemple : MVS...). On peut noter que beaucoup de systèmes offrent simultanément un service de temps partagé et un service de traitement par lots (VMS) les systèmes temps réels : les programmes en exécution sont soumis à des contraintes de temps, c'est-à-dire que leurs exécutions doivent être impérativement achevées à une date butoir appelée échéance. Comme ces systèmes sont souvent interfacés à un environnement dynamique (procédé) délivrant des événements synchrones ou asynchrones auxquels ils doivent réagir, on parle aussi de systèmes réactifs. Ce sont des systèmes adaptés à la commande de procédé (exemple : LynxOS...) Un peu plus sur les systèmes temps réel Définition : Application temps réel Une application temps réel est une application pour laquelle le facteur temps est la principale contrainte à respecter. L' application doit fournir un résultat juste mais si celui-ci est fourni hors délai, alors il ne pourra pas être validé. Il ne s agit pas par contre, de rendre le résultat le plus vite possible, mais simplement à temps. L échelle du temps relative à la contrainte temporelle varie d une application à l autre : elle peut être par exemple de l ordre de la micro-seconde dans des applications de contrôle radars, mais peut être de l ordre de l heure pour une application de contrôle chimique. Par ailleurs, le système temps réel peut être qualifié de système embarqué ou enfouis (embedded system). On distingue deux types de contraintes temporelles: Les contraintes temporelles strictes : les fautes temporelles (non-respect d une échéance) sont intolérables pour la validité du système. Elles mettent en péril le système temps réel lui-même voire son environnement. Les contraintes temporelles relatives : quelques fautes temporelles peuvent être sup port ées sans remettre en cause la validité du système. Il s'ensuit généralement une baisse de performance du système.

14 Un système temps réel se divise en deux parties qui interagissent entre elles (figure 7): D un côté, un procédé, en général industriel, muni de capteurs, envoie des mesures ou déclenche des événements avec une occurrence périodique ou aléatoire. De l autre côté, un système informatique, connecté au procédé. Ce système informatique commande et contrôle de manière dynamique le comportement du procédé, en respectant les contraintes de temps qui lui sont associées. Il réagit dans un temps contraint aux événements et mesures prélevées sur le procédé : on dit alors que le système est réactif. Le système informatique se décompose lui-même en deux parties : l'application temps réel proprement dite construite par un ensemble de tâches, qui sont activées de manière périodique pour réaliser les prises de mesures ou de manière apériodique pour prendre en compte les événements du procédé. Ces tâches utilisent les services d'un noyau temps réel appelé généralement exécutif temps réel pour s'exécuter et utiliser les ressource s matérielles ou périphériques. Fig 7 : Système temps réel Exemple d une application temps réel On considère un procédé chimique d extraction de matière grasse à l aide d un solvant tel que l hexane piloté par ordinateur. La colonne d extraction comporte un robinet pour amener le solvant, un capteur de température et un ph-mètre. La colonne de distillation est munie également d un capteur de température. Les deux dispositifs sont chauffés à l aide de deux becs bunsen. L application lit régulièrement les températures de la colonne de distillation et de la colonne d extraction. Si une température devient anormale, par exemple, trop élevée, l application doit réagir dans un délai maximum, qui garantit que la réaction chimique peut se poursuivre, pour agir sur le bec bunsen associé (le baisser).

15 Introduction>Introduction aux systèmes d'exploitation>notions de base 1.5 Notions de base Nous révisons ci-dessous quelques notions de base Interfaces du système d'exploitation Définition : Commandes et appels systèmes Les appels systèmes constituent l'interface du système d'exploitation et sont les points d'entrées permettant l'exécution d'une fonction du système. Les appels système sont directement appelables depuis un programme. Les commandes permettent elles d'appeler les fonctions du système depuis le prompt de l'interpréteur de commande (shell, invite du dos) Modes d'exécutions et Commutations de contexte Lorsqu'un programme utilisateur fait un appel système (ici open), il va exécuter une fonction du système d'exploitation. Il quitte alors son mode courant d'exécution (mode utilisateur) pour passer dans un mode d'exécution privilégié qui est le mode d'exécution du système d'exploitation (mode superviseur) : ce mode est privilégié dans le sens où il donne accès à un plus grand nombre d'instructions machine que le mode utilisateur (notamment il permet l'exécution des instructions de masquage et démasquage d interruptions interdites en mode utilisateur). Ce passage du mode utilisateur au mode superviseur constitue une commutation de contexte : elles s'accompagne d'une opération de sauvegarde du contexte utilisateur.

16 Fig 8 : Commutation de contexte Lorsque l'exécution de la fonction système est achevée, le programme repasse du mode superviseur au mode utilisateur. Il y a de nouveau une opération de commutation de contexte avec restauration du contexte utilisateur sauvegardé lors de l'appel système. Fig 9 : Commutation de contexte Il y a trois grandes causes de passage du mode utilisateur au mode superviseur : le fait que le programme utilisateur appelle une fonction du système. C'est une demande explicite de passe en mode superviseur. l'exécution par le programme utilisateur d'une opération illicite (division par 0, instruction machine interdite, violation mémoire ) : c'est la trappe. L'exécution du programme utilisateur est alors arrêtée. la prise en compte d'une interruption par le matériel et le système d'exploitation. le programme utilisateur est alors stoppé et l'exécution de la routine d'interruption associée à l'interruption survenue exécutée en mode superviseur. Définition : Mode superviseur Le mode superviseur est le mode d'exécution du système. C'est un mode d'exécution privilégié qui autorise notamment l'appel à des instructions interdites en mode utilisateur (manipulation des interruptions). Ce mode assure la protection du système d'exploitation. Le passage du mode utilisateur vers le mode superviseur est soit provoqué par un appel système, soit par une trappe, soit par l'arrivée d'une interruption Définition : Commutations de contexte

17 Le passage entre les modes utilisateur / superviseur s'accompagne de commutations de contexte (sauvegarde du contexte utilisateur - changement de mode d'exécution - restitution du contexte utilisateur)

18 Introduction>qcm : Un premier test 2 Un premier test Exercice Pour en finir avec le chapitre introductif Question : Quel est le rôle du système d exploitation? Réponse : Compiler un programme et construire un exécutable Gérer les accès disque Partager la machine physique entre les différents programmes et bâtir une machine virtuelle plus accessible à l utilisateur Partager la machine physique entre les différents programmes et bâtir une machine virtuelle plus accessible à l utilisateur Question : Un système est dit réactif Car il doit offrir le plus petit temps de réponse possible à l utilisateur Car il doit réagir à des événements délivrés par des périphériques externes Car il est rapide Réponse : Car il doit réagir à des événements délivrés par des périphériques externes Question : Une interruption Permet de séquencer l exécution des programmes Est un signal externe au processeur obligeant celui-ci à interrompre son traitement en cours pour traiter la cause de l événement Réponse : Est un signal externe au processeur obligeant celui-ci à interrompre son traitement en cours pour traiter la cause de l événement Question : Une commutation de contexte intervient à chaque changement de mode d exécution Sur l occurrence d une interruption Lorsque le programme commet une erreur grave Réponse : à chaque changement de mode d exécution

19 Chapitre 2 : Processus Ce chapitre est consacré à l'étude des processus Cours : Processus Notion de processus Rappel sur la chaine de production d'un programme exécutable. L'exécution d'un programme Le processus Les états du processus Le bloc de contrôle du processus (PCB) Processus Unix : création, vie et mort Création d'un processus Unix Terminaison d'un processus Unix Les primitives de recouvrement Architecture du système Unix La notion de processus léger Définition Primitives associées aux processus léger Table des figures

20 Processus >Processus 1 Cours : Processus Nous commençons à présent l'étude du fonctionnement d'un système multiprogrammé. Dans ce cours, nous nous intéressons à la fonction d'exécution : elle recouvre principalement deux notions : celle de processus,qui correspond à l'image d'un programme qui s'exécute et celle d' ordonnancement qui correspond au problème de l'allocation du processeur et donc du partage du processeur entre différents processus. 1.1 Notion de processus Rappel sur la chaine de production d'un programme exécutable. La chaine de production de programme (figure 1) transforme un programme écrit dans un langage de haut niveau en un programme dit exécutable, écrit en langage machine. Cette transformation s'effectue à l'aide de plusieurs étapes : L'utilisateur saisit son programme à l'aide de l'éditeur de texte qui crée un fichier sur le disque que l'on appelle le fichier source. Ce fichier source est ensuite compilé à l'aide d'un compilateur dépendant du langage de programmation utilisé et dont le rôle est de vérifier que la syntaxe du langage est respectée et de générer alors l'équivalent du programme source en langage machine : on obtient alors sur disque le fichier objet. Ce fichier objet est ensuite soumis à l'éditeur de liens dont le rôle est de résoudre les références externes, c'est-à-dire par exemple, d'associer les appels système inclus dans le programme à leur adresse dans le système. L'éditeur de liens produit sur disque le fichier exécutable. Lorsque l'utilisateur demande l'exécution de son programme, le fichier exécutable est alors monté en mémoire centrale : c'est l'étape de chargement. Le système alloue de la place mémoire pour placer le code et les données du programme.

21 Fig 1 : Chaine de production de programme Exemple sur Unix : Pour le système d'exploitation Unix, les étapes suivantes permettent de passer d'un fichier source à un processus saisie du fichier source avec un éditeur tel que vi : programme.c compilation et production du fichier programme.o : cc -c programme.c <return> édition des liens et production du fichier exécutable programme : ld -o programme programme.o <return> chargement et création du processus : programme <return> L'exécution d'un programme La figure 2 représente l'exécution du programme à un niveau qui est celui de l'architecture matérielle de la machine. Le programme à exécuter est placé en mémoire centrale à partir de l'emplacement d'adresse 102. Le processeur a commencé l'exécution du programme : la première instruction de celui-ci a été chargée dans le registre instruction (RI) et le Compteur Ordinal (CO) contient l'adresse de la prochaine instruction à exécuter soit 103. Lorsque l'instruction courante aura été exécutée, le processeur chargera dans la registre RI l'instruction pointée par le CO, soit add Imm R1 5 et le compteur ordinal prendra la valeur 104. L'exécution de l'instruction add Imm R1 5 va modifier le contenu du registre PSW puisque c'est une instruction arithmétique : les flags de signe, de nullité etc... sont mis à jour. On voit donc qu'à chaque étape d'exécution du programme, le contenu des registres du compteur ordinal évolue. De même le contenu de la mémoire centrale peut être modifié : écriture, lecture dans la pile (Push, Pop), modification des données par une instruction Store. On appelle processus l'image de l'état du processeur et de la mémoire au cours de l'exécution d'un programme. Le programme est statique et le processus représente la dynamique de son exécution. Lors de l'étape de chargement, le système alloue de la place mémoire pour placer le code et les données du programme et crée la pile d'exécution de ce qui est en train de devenir un

22 processus. Il alloue alors une structure de donnée descriptive du processus destinée à regrouper toutes les informations du contexte du processus : le bloc de contrôle du processus. Le processus est alors créé. Il est prêt à s'exécuter. Fig 2 : Exécution d'un programme Le processus Définition : Processus Un processus est un programme en cours d'exécution auquel est associé un environnement processeur (CO, PSW, RSP, registres généraux) et un environnement mémoire appelés contexte du processus. Un processus est l'instance dynamique d'un programme et incarne le fil d'exécution de celui-ci dans un espace d'adressage protégé (objets propres : ensemble des instructions et données accessibles) Un programme réentrant est un programme pour lequel il peut exister plusieurs processus en même temps Les états du processus Lors de son exécution, un processus est caractérisé par un état : lorsque le processus obtient le processeur et s'exécute, il est dans l'état élu. L'état élu est l'état d'exécution du processus. lors de cette exécution, le processus peut demander à accéder à une ressource (réalisation d'une entrée/sortie, accès à une variable protégée) qui n'est pas immédiatement disponible : le processus ne peut pas poursuivre son exécution tant qu'il n'a pas obtenu la ressource (par exemple, le processus doit attendre la fin de l'entrée/sortie qui lui délivre les données sur lesquelles il réalise les calculs suivants dans son code) : le processus quitte alors le processeur et passe dans l'état bloqué. L'état bloqué est l'état d'attente d'une ressource autre que le processeur.

23 lorsque le processus a enfin obtenu la ressource qu'il attendait, celui-ci peut potentiellement reprendre son exécution. Cependant, nous nous sommes placés dans le cadre de systèmes multiprogrammés, c'est-à-dire qu'il y a plusieurs programmes en mémoire centrale et donc plusieurs processus.. Lorsque le processus est passé dans l'état bloqué, le processeur a été alloué à un autre processus. Le processeur n'est donc pas forcément libre. Le processus passe alors dans l'état prêt. L'état Prêt est l'état d'attente du processeur. Le passage de l'état prêt vers l'état élu constitue l'opération d'élection. Le passage de l'état élu vers l'état bloqué est l'opération de blocage. Le passage de l'état bloqué vers l'état prêt est l'opération de déblocage. Un processus est toujours crée dans l'état prêt. Un processus se termine toujours à partir de l'état élu (sauf anomalie). Fig 3 : Etats d'un processus Exemple sous Unix La figure ci-dessous présente le graphe d'états simplifié pour un processus Unix. Un processus évolue entre trois modes au cours de son exécution : le mode utilisateur qui est le mode normal d'exécution, le mode noyau en mémoire qui est le mode dans lequel se trouve un processus prêt ou bloqué (endormi) et le mode swappé qui est le mode dans lequel se trouve un processus bloqué (endormi) déchargé de la mémoire centrale. En effet, le système Unix décharge de la mémoire centrale les processus endormis depuis trop longtemps (ils sont alors dans l'état Endormi swappé). Ces processus réintègrent la mémoire centrale lorsqu'ils redeviennent prêts (transition de l'état prêt swappé vers l'état prêt). Un processus qui se termine passe dans un état dit zombi. Il y reste tant que son PCB n'est pas entièrement démantelé par le système.

24 Etats d'un processus Unix -graphe simplifié Le bloc de contrôle du processus (PCB) Le bloc de contrôle d'un processus (PCB) contient les informations suivantes : un identificateur unique du processus (un entier) : le PID l'état courant du processus (élu, prêt, bloqué) le contexte processeur du processus : la valeur du CO, la valeur des autres registres du processeur le contexte mémoire : ce sont des informations mémoire qui permettent de trouver le code et les données du processus en mémoire centrale des informations diverses de comptabilisation pour les statistiques sur les performances système des informations liées à l' ordonnancement du processus. Le PCB permet la sauvegarde et la restauration du contexte mémoire et du contexte processeur lors des opérations de commutations de contexte.

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

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

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

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

Cours Programmation Système

Cours Programmation Système Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Février

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

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

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

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

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

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

La gestion des processus

La gestion des processus La gestion des processus Processus Un processus est un programme en cours d exécution. - Un programme est une suite d instructions ; c est du texte, un code statique. - Le processus est un concept dynamique,

Plus en détail

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

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

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

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

Département de génie informatique et génie logiciel

Département de génie informatique et génie logiciel INF2610 Chapitre 2 : Processus Département de génie informatique et génie logiciel Hiver 2014 Chapitre 2 - Processus Qu est ce qu un processus? États d un processus Hiérarchie des processus Processus UNIX-Linux

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

Introduction à la notion de système d'exploitation

Introduction à la notion de système d'exploitation Page 1 sur 9 1. Sommaire 1. Sommaire... 2 2. Description du système... 3 2.1. Rôles du système... 3 2.2. Composantes du système... 4 2.3. Systèmes multitâches... 4 2.4. Systèmes multi-processeurs... 4

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION d'un. ORDONNANCEUR à ECHEANCES REALISATION d'un ORDONNANCEUR à ECHEANCES 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

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

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

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

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

Système d exploitation

Système d exploitation Chapitre 2 Système d exploitation 2.1 Définition et rôle Un ordinateur serait bien difficile à utiliser sans interface entre le matériel et l utilisateur. Une machine peut exécuter des programmes, mais

Plus en détail

gestion des processus La gestion des processus

gestion des processus La gestion des processus 1 La Pseudo parallélisme 2 Plusieurs programmes en mémoire Le processeur exécute les instructions tantôt pour l'un tantôt pour l'autre P1 P2 programme de supervision Vu de l'utilisateur => programmes en

Plus en détail

Théorie des Systèmes d'exploitation : Introduction

Théorie des Systèmes d'exploitation : Introduction Théorie des Systèmes d'exploitation : Introduction Quelques systèmes d'exploitation... 3 Architecture des ordinateurs... 4 Schéma simplifié :... 4 Les concepts des systèmes d'exploitation... 5 Les 2 principales

Plus en détail

Système informatique. Introduction aux systèmes d'exploitation des ordinateurs. Système informatique

Système informatique. Introduction aux systèmes d'exploitation des ordinateurs. Système informatique Système informatique Introduction aux systèmes d'exploitation des ordinateurs ndéfinition : C est l ensemble des matériels et logiciels destinés à réaliser des tâches qui mettent en jeu le traitement automatique

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

Les threads. Chapitre 4. 4.1 Introduction. 4.1.1 Avantages

Les threads. Chapitre 4. 4.1 Introduction. 4.1.1 Avantages Chapitre 4 Les threads 4.1 Introduction Le modèle de processus décrit au chapitre précédent est un programme qui s exécute selon un chemin unique avec un seul compteur ordinal. On dit qu il a un flot de

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

2. Structure d un système d exploitation

2. Structure d un système d exploitation Systèmes d exploitation : 2. Structure d un système d exploitation 0 Structure d un système d exploitation () Structure () APPLICATIONS SYSTEME D EXPLOITATION MATERIEL applications (jeux, outils bureautiques,

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

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

Environnement informatique

Environnement informatique Environnement informatique 1.L'ordinateur personnel Un ordinateur est une machine faite de matériel et de logiciel. D'un côté, le matériel (hardware) est constitué par la partie de la machine que l'on

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

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

LE concept de processus est le plus important dans un système d exploitation.

LE concept de processus est le plus important dans un système d exploitation. Chapitre 3 Processus LE concept de processus est le plus important dans un système d exploitation. Tout le logiciel d un ordinateur est organisé en un certain nombre de processus séquentiels. En simplifiant,

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

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

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

Synchronisation et communication entre processus

Synchronisation et communication entre processus Synchronisation et communication entre processus Interblocage et coalition Joëlle Delacroix AMSI1999/2000 1 INTRODUCTION Système multiprocessus L'ordonnancement "entrelace" les exécutions P1 P2 P3 Processus

Plus en détail

3IS - Système d'exploitation

3IS - Système d'exploitation 3IS - Système d'exploitation 2010 David Picard Contributions de : Arnaud Revel, Mickaël Maillard picard@ensea.fr 1. Introduction Fonctionnement simplifié d'un ordinateur Rôle d'un système d'exploitation

Plus en détail

GENERALITES SUR LES SYSTEMES D EXPLOITATION

GENERALITES SUR LES SYSTEMES D EXPLOITATION CHAPITRE 1 : GENERALITES SUR LES SYSTEMES D EXPLOITATION Objectifs spécifiques Connaître la définition d un système d exploitation Connaître le rôle d un système d exploitation Connaître les classes des

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

M3 - Kernel Programming

M3 - Kernel Programming M3 - Kernel Programming Nicolas CORMIER Epitech 2008 Dans le cadre de la réalisation d'un début de micro kernel en mode protégé sur processeur x86, ce document décrit l'architecture du noyau ainsi que

Plus en détail

Système d Exploitation et Outils de programmation

Système d Exploitation et Outils de programmation Système d Exploitation et Outils de programmation Introduction Le système d exploitation (SE) est un ensemble de programmes qui Réalise l interface entre le matériel de l ordinateur et les utilisateurs

Plus en détail

Cours Systèmes d'exploitation, Dalila Souilem, ISITC, département informatique.

Cours Systèmes d'exploitation, Dalila Souilem, ISITC, département informatique. Plan du cours I Présentation générale des systèmes d'exploitation II Généralités sur UNIX / historique III Les bases du système 1. Système de fichiers (SGF) et commandes associées 2. Processus et commandes

Plus en détail

Comment régler les problèmes de synchronisation? P-A. Champin

Comment régler les problèmes de synchronisation? P-A. Champin S y s t è m e d ' e x p l o i t a t i o n S é a n c e 5 Comment régler les problèmes de synchronisation? P-A. Champin Département Informatique IUT A Université Claude Bernard Lyon 1 2009 S5 - Comment régler

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

Les fichiers de commande

Les fichiers de commande Les fichiers de commande Fichiers ".bat" ou ".cmd" Un fichier de commande est un fichier texte contenant des commandes en mode invite de commande qui seront lues par l'interpréteur de commande COMMAND.COM

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

CONSERVATOIRE NATIONAL DES ARTS ET METIERS

CONSERVATOIRE NATIONAL DES ARTS ET METIERS CONSERVATOIRE NATIONAL DES ARTS ET METIERS Durée : 2 heures METHODES DE PROGRAMMATION SYSTEMES UE NSY103 - NANCY/METZ INTERVENANT : E. DESVIGNE CORRECTION DE LA SESSION DE RATTRAPAGE 13/09/2011 Année 2010

Plus en détail

Modèle d exécution Exemple : le Motorola 68000

Modèle d exécution Exemple : le Motorola 68000 Mémoire et Processeur Mécanismes d exécution Du séquentiel au parallèle Modèle d exécution Exemple : le Motorola 68000 Registres de donnée Registres d adresse Registre d état Registre d état Compteur ordinal

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

Chapitre 1 : Introduction aux Systèmes d Exploitation (SE)

Chapitre 1 : Introduction aux Systèmes d Exploitation (SE) 1. Introduction Chapitre 1 : Introduction aux Systèmes d Exploitation (SE). 1 système informatique est un ensemble constitué de matériels et de logiciels et qui assure le traitement des données.. Les pgms

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

Sujet Projets 2 nd Semestre

Sujet Projets 2 nd Semestre Sujet Projets 2 nd Semestre Seuls les appels systèmes vus en cours sont autorisés. L usage d autres fonctions doit impérativement être validé par l enseignant. La date d ouverture pour l assignation de

Plus en détail

Les Entrées et Sorties: Programmées, interruptions, et DMA. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde

Les Entrées et Sorties: Programmées, interruptions, et DMA. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde Les Entrées et Sorties: Programmées, interruptions, et DMA GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde Aujourd hui Entrées-sorties Programmées Par interruptions Le

Plus en détail

Cours Système 2 Année I.U.T. Informatique

Cours Système 2 Année I.U.T. Informatique Chapitre 5. Les Processus Cours Système 2 Année I.U.T. Informatique 5.1 Notion de processus On appelle processus l exécution d un programme à un moment donné. Un processus va donc naître, vivre et mourir.

Plus en détail

Introduction aux Systèmes et aux Réseaux

Introduction aux Systèmes et aux Réseaux Introduction aux Systèmes et aux Réseaux Cours 5 Processus D après un cours de Julien Forget (univ Lille1) Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@univ-lyon1.fr Master CCI -

Plus en détail

Introduction à l'algorithmique Distribuée. Exclusion mutuelle

Introduction à l'algorithmique Distribuée. Exclusion mutuelle Introduction à l'algorithmique Distribuée Exclusion mutuelle Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Exclusion mutuelle distribuée Exclusion

Plus en détail

Gestion des Processus

Gestion des Processus Gestion des Processus 1. LA NOTION DE PROCESSUS EN INFORMATIQUE... 2 ETAT DU PROCESSEUR :...2 PROCESSUS...3 CARACTÉRISATION D'UN PROCESSUS : CONTENU DU BLOC DE CONTEXTE...3 FILE D'ATTENTE DE BLOCS DE CONTEXTE

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

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

Support de cours système d exploitation

Support de cours système d exploitation Support de cours système d exploitation J. Gispert, J. Guizol, J.L. Massat Département d informatique Faculté de Luminy 163, Avenue de Luminy, Case 901, 13288 Marseille, cedex 9 23 février 2012 Chapitre

Plus en détail

Systèmes d exploitation II Chapitre 2 : Gestion des processus. www.achrafothman.net

Systèmes d exploitation II Chapitre 2 : Gestion des processus. www.achrafothman.net Systèmes d exploitation II Chapitre 2 : Gestion des processus www.achrafothman.net 1 Processus Concept de Processus Ordonnancement de Processus Opérations sur les Processus Processus Coopératifs Communication

Plus en détail

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE C.Crochepeyre MPS_SGF 2000-20001 Diapason 1 Les couches logiciels réponse SGF requête matériel matériel Requêtes E/S Système E/S Pilote E/S Interruptions Contrôleur

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

UN SYSTÈME D'EXPLOITATION = DES SERVICES COMMUNS GESTION DES DIVERS PROCESSUS GESTION DES RESSOURCES PHYSIQUES :

UN SYSTÈME D'EXPLOITATION = DES SERVICES COMMUNS GESTION DES DIVERS PROCESSUS GESTION DES RESSOURCES PHYSIQUES : UN SYSTÈME D'EXPLOITATION = DES SERVICES COMMUNS GESTION DES DIVERS PROCESSUS processus locaux ou distants représentés localement (proxys). GESTION DES RESSOURCES PHYSIQUES : mémoire principale pour y

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

CPU ou UCT. Le processeur est une unité d exécution, plus précisément appelée unité centrale de traitement (désignée en franç.

CPU ou UCT. Le processeur est une unité d exécution, plus précisément appelée unité centrale de traitement (désignée en franç. CPU ou UCT Processor (data processing) Le processeur est une unité d exécution, plus précisément appelée unité centrale de traitement (désignée en franç.par UCT, en ang. CPU (Central Processing Unit) CPU+mémoire

Plus en détail

Gestion de la mémoire

Gestion de la mémoire Plan de la présentation Gestion de la Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/~krakowia! Principes de réalisation de la " Définitions et motivations

Plus en détail

Formation Unix/Linux (3) Le Shell: gestion des processus, redirection d entrée/sortie

Formation Unix/Linux (3) Le Shell: gestion des processus, redirection d entrée/sortie Formation Unix/Linux (3) Le Shell: gestion des processus, redirection d entrée/sortie Olivier BOEBION Mars 2004 1 Définition Un programme se compose d un ou plusieurs fichiers composés d instructions.

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ÈME DE GESTION DE FICHIERS

SYSTÈME DE GESTION DE FICHIERS SYSTÈME DE GESTION DE FICHIERS - DISQUE 1 Les couches logiciels réponse requête Requêtes E/S Système E/S Pilote E/S Interruptions utilisateur traitement S.E. commandes S.E. S.E. matériel Contrôleur E/S

Plus en détail

Figure 1. Structure répartie

Figure 1. Structure répartie Chapitre I: Applications Réparties et Middleware 1. Définition d une application répartie Une application répartie est constituée d un ensemble de processus (d objets, d agents, d acteurs) s exécutant

Plus en détail

Introduction : Caractéristiques du RAID : La redondance et la parité : Les différents types de systèmes RAID :

Introduction : Caractéristiques du RAID : La redondance et la parité : Les différents types de systèmes RAID : Introduction : La technologie RAID (regroupement redondant de disques indépendants) permet de constituer une unité de stockage à partir de plusieurs disques durs. Cette unitée,appelée grappe, a une tolérance

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

Introduction. 1.1. Évolution des performances

Introduction. 1.1. Évolution des performances Avant-propos Ce polycopié contient un ensemble d exercices de systèmes informatiques, avec leur solution, pour la valeur d Architecture des machines et systèmes informatiques, partie systèmes. Ces exercices

Plus en détail

Au moment de rendre votre travail, créer une archive au format *.zip (nom binôme 1 nom binôme 2.zip) contenant :

Au moment de rendre votre travail, créer une archive au format *.zip (nom binôme 1 nom binôme 2.zip) contenant : Travaux pratiques informatique Module Système d exploitation Année 2006-2007 TP N 3 : Mémoire Partagée Mathieu.Barcikowski@univ-savoie.fr Pierre.Hyvernat@univ-savoie.fr Cyril.Vachet@univ-savoie.fr 1. Objectifs

Plus en détail

Travaux Dirigés n o 4 : Threads

Travaux Dirigés n o 4 : Threads DUT Informatique 2015 / 2016 Travaux Dirigés n o 4 : Threads Objectifs : apprendre à créer, travailler avec et arrêter des threads (ou processus légers). Savoir reconnaître les données partagées entre

Plus en détail

Architecture Client/Serveur. andreu@lirmm.fr 1

Architecture Client/Serveur. andreu@lirmm.fr 1 Architecture Client/Serveur andreu@lirmm.fr 1 Qu'est-ce qu'un serveur? un «logiciel serveur» offre un service sur le réseau, le «serveur» est la machine sur laquelle s'exécute le logiciel serveur, le serveur

Plus en détail

synchronisation et communication entre processus Synchronisation et communication entre processus

synchronisation et communication entre processus Synchronisation et communication entre processus 1 Synchronisation et communication entre processus Accès à des ressources communes 2 Exemple: compte bancaire dont montant en A sur disque programme pour ajouter 100: lire(n,a) N := N+100 écrire(n,a) 2

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

TD 5 LES POINTEURS. Définition: Pointeur

TD 5 LES POINTEURS. Définition: Pointeur TD 5 LES POINTEURS d'après le site de F. Faber http://www.ltam.lu/tutoriel_ansi_c Définition: Pointeur Un pointeur est une variable spéciale qui peut contenir l'adresse d'une autre variable. En C, chaque

Plus en détail

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing 3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps

Plus en détail

Intégration d'un joystick dans le logiciel Perfly SGI

Intégration d'un joystick dans le logiciel Perfly SGI Intégration d'un joystick dans le logiciel Perfly SGI 1) Le joystick 1.1) Description C'est le modèle Flybox, de base, de la société BG SYSTEMS INC. Ce joystick possède 3 axes, 2 manettes, 2 boutons «classiques»

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Instructions assembleur

Instructions assembleur Instructions assembleur 0001011011110110 0001011101101101 10001001 Instruction vue par le programmeur assembleur ou instruction élémentaire cible d'un compilateur Réalise une modification de l'état interne

Plus en détail

Programmation concurrente en java

Programmation concurrente en java Programmation concurrente en java M. Belguidoum Université Mentouri de Constantine Département Informatique M. Belguidoum (UMC) Programmation concurrente 1 / 29 Plan 1 Introduction 2 Création d'un thread

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

Plan du cours. 12. Gestion des processus. 12.1 Notions théoriques 12.2 Lancement d'une commande 12.3 Identifier et controler un processus

Plan du cours. 12. Gestion des processus. 12.1 Notions théoriques 12.2 Lancement d'une commande 12.3 Identifier et controler un processus Plan du cours 12.1 Notions théoriques 12.2 Lancement d'une commande 12.3 Identifier et controler un processus PS, KILL 12.4 Exercices Olivier HUBERT LGEP/CNRS 1 Plan du cours 12.1 Notions théoriques 12.1.1

Plus en détail

Modélisation conceptuelle des Systèmes Distribués

Modélisation conceptuelle des Systèmes Distribués Modélisation conceptuelle des Systèmes Distribués Eric Cariou Master Technologies de l'internet 1 ère année Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Systèmes

Plus en détail

Systèmes d'exploitation (SYE) Gestion des processus (v2.2) Daniel Rossier daniel.rossier@heig-vd.ch

Systèmes d'exploitation (SYE) Gestion des processus (v2.2) Daniel Rossier daniel.rossier@heig-vd.ch Systèmes d'exploitation (SYE) Gestion des processus (v2.2) Daniel Rossier daniel.rossier@heig-vd.ch Plan Processus File System Network Manager Changement de contexte Scheduler Memory Manager Threads IPC

Plus en détail

Algorithmique distribuée. Exclusion mutuelle

Algorithmique distribuée. Exclusion mutuelle Algorithmique distribuée Exclusion mutuelle Eric Cariou Master Technologies de l'internet 1 ère année Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Exclusion

Plus en détail

Chapitre 1 : Introduction

Chapitre 1 : Introduction Cours systèmes d exploitation Chapitre 1 : Introduction Table des matières 1. Qu est-ce qu un système d exploitation... 2 2. Évolution des systèmes d'exploitation... 2 3. Les principales fonctions d un

Plus en détail

Patrick DEIBER. Probatoire CNAM Versailles. Patrick.Deiber@Wanadoo.fr

Patrick DEIBER. Probatoire CNAM Versailles. Patrick.Deiber@Wanadoo.fr Patrick DEIBER Probatoire CNAM Versailles Patrick.Deiber@Wanadoo.fr Février 1999 Les processus légers (Threads) 2 Table des matières 1. INTRODUCTION...5 1.1. PRÉSENTATION...5 1.2. RÈGLES TYPOGRAPHIQUES...5

Plus en détail