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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Gestion des processus

Gestion des processus 65 La Gestion des Processus 1 Définitions, exemples 2. Politiques d'allocation du processeur 3. Synchronisation des processus 66 Programme : Un programme est une suite figée d'instructions, un ensemble

Plus en détail

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

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

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

Qu'est-ce qu'un processus: Définitions

Qu'est-ce qu'un processus: Définitions Version septembre 2013 N 187 Qu'est-ce qu'un processus: Définitions Instruction = indécomposable et indivisible Processeur =... Processus = suite temporelle d'exécutions d'instructions Processus = exécution

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

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

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

Temps Réel. Jérôme Pouiller Septembre 2011

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011 Temps Réel Jérôme Pouiller Septembre 2011 Sommaire Problèmatique Le monotâche Le multitâches L ordonnanement Le partage de ressources Problèmatiques des OS temps réels J. Pouiller

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

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

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

Ordonnancement temps réel

Ordonnancement temps réel Ordonnancement temps réel Ordonnancement centralisé par Francis COTTET Professeur d université (ENSMA, Poitiers Futuroscope) Ingénieur de l Institut national polytechnique de Grenoble Docteur ès sciences

Plus en détail

Tutorat C/Unix : Un Rapido Client/Serveur

Tutorat C/Unix : Un Rapido Client/Serveur Tutorat C/Unix : Un Rapido Client/Serveur Nouredine Melab 1 Description générale du projet 1.1 Objectif L'objectif du projet est de concevoir et de réaliser un jeu de hasard dénommé Rapido. Un serveur

Plus en détail

CH.3 SYSTÈMES D'EXPLOITATION

CH.3 SYSTÈMES D'EXPLOITATION CH.3 SYSTÈMES D'EXPLOITATION 3.1 Un historique 3.2 Une vue générale 3.3 Les principaux aspects Info S4 ch3 1 3.1 Un historique Quatre générations. Préhistoire 1944 1950 ENIAC (1944) militaire : 20000 tubes,

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

Les avantages de la virtualisation sont multiples. On peut citer:

Les avantages de la virtualisation sont multiples. On peut citer: 1 Les mécanismes de virtualisation ont été introduits il y a fort longtemps dans les années 60 par IBM avec leur système CP/CMS. La motivation première de la virtualisation est la possibilité d'isoler

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

ARCHITECTURES MATÉRIELLES SYSTÈMES INFORMATIQUES

ARCHITECTURES MATÉRIELLES SYSTÈMES INFORMATIQUES CENTRALISÉE RÉPARTIE mémoire locale mémoire locale mémoire locale mémoire locale mémoire locale mémoire locale processeur processeur processeur processeur processeur processeur instructions messages MÉMOIRE

Plus en détail

Systèmes concurrents

Systèmes concurrents Systèmes concurrents Philippe Quéinnec 14 septembre 2012 Systèmes concurrents 1 / 25 Deuxième partie L'exclusion mutuelle Systèmes concurrents 2 / 25 Isolation L'exclusion mutuelle Plan 1 Interférences

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

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

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

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation : Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de

Plus en détail

Gestion de la mémoire

Gestion de la mémoire Gestion de la mémoire Mémoire physique Généralités Autrefois, la mémoire principale était une ressource coûteuse. Elle devait donc être utilisée de manière optimale et diverses stratégies étaient employées.

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

Concept de machine virtuelle

Concept de machine virtuelle Concept de machine virtuelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 1 Introduction: Java Virtual Machine Machine Virtuelle Java: qu est-ce que c est? c est la spécification d une machine

Plus en détail

Introduction à l'informatique L1. Système

Introduction à l'informatique L1. Système Introduction à l'informatique L1 Système 1 Plan 1) Notion de programmes, processus, systèmes d'exploitation 2) Interfaces utilisateurs 3) Processus 4) Fichiers 2 Programme Un programme est une séquence

Plus en détail

Processus, Threads et Services. Olivier Daudel - Université Paris-X 2008

Processus, Threads et Services. Olivier Daudel - Université Paris-X 2008 Processus, Threads et Services 35 Constituants d'un Processus NT 36 Un programme exécutable contenant le code et les données initiales Un espace d'adresse privé ou espace d'adresse virtuel utilisé par

Plus en détail

Chapitre 4 Pierre, papier, ciseaux

Chapitre 4 Pierre, papier, ciseaux Python 3 : objectif jeux Chapitre 4 Chapitre 4 Pierre, papier, ciseaux (version graphique) 4.1. Thèmes abordés dans ce chapitre Le module tkinter : Label, Button Fenêtre Événements Réceptionnaire d'événements

Plus en détail

GESTION DE LA MEMOIRE

GESTION DE LA MEMOIRE GESTION DE LA MEMOIRE MEMOIRE CENTRALE (MC) MEMOIRE SECONDAIRE (MS) 1. HIÉRARCHIE ET DIFFÉRENTS TYPES DE MÉMOIRE... 2 2. MÉMOIRE CACHE... 3 3. MODÈLE D'ALLOCATION CONTIGUË (MC OU MS)... 5 3.1. STRATÉGIE

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

Sage Start Saisie des collaborateurs Instructions. A partir de la version 2015 09.10.2014

Sage Start Saisie des collaborateurs Instructions. A partir de la version 2015 09.10.2014 Sage Start Saisie des collaborateurs Instructions A partir de la version 2015 09.10.2014 Table des matières Table des matières 2 1.0 Base du personnel 3 2.0 Informations relatives aux personnes («données

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?

Plus en détail

Les diagrammes de modélisation

Les diagrammes de modélisation L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse

Plus en détail

Chapitre 2. Classes et objets

Chapitre 2. Classes et objets Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons

Plus en détail

Matériel & Logiciels (Hardware & Software)

Matériel & Logiciels (Hardware & Software) CHAPITRE 2 HARDWARE & SOFTWARE P. 1 Chapitre 2 Matériel & Logiciels (Hardware & Software) 2.1 Matériel (Hardware) 2.1.1 Présentation de l'ordinateur Un ordinateur est un ensemble de circuits électronique

Plus en détail

Projet de Veille Technologique

Projet de Veille Technologique Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines (i.mzoughi@gmail.com) Dr. MAHMOUDI Ramzi (mahmoudr@esiee.fr) TEST Sommaire Programmation JavaCard Les prérequis...

Plus en détail

III - PROGRAMMATION EN ASSEMBLEUR

III - PROGRAMMATION EN ASSEMBLEUR III - PROGRAMMATION EN ASSEMBLEUR 3.1 Introduction à la programmation en assembleur Pour programmer un ordinateur on utilise généralement des langages dits évolués ou de haut niveau : C, C++, Java, Basic,

Plus en détail

Introduction aux Systèmes Distribués. Introduction générale

Introduction aux Systèmes Distribués. Introduction générale Introduction aux Systèmes Distribués Licence Informatique 3 ème année Introduction générale Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB) Base de l'informatique Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB) Généralité Comment fonctionne un ordinateur? Nous définirons 3 couches Le matériel

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes

Plus en détail

Le gestionnaire des tâches

Le gestionnaire des tâches 43-45 rue CHARLOT 75003 PARIS. Benoît HAMET FRANCE : benoit.hamet@hametbenoit.fr.st Le gestionnaire des tâches......... Le gestionnaire des tâches Sommaire Sommaire...2 Introduction...3 Les onglets et

Plus en détail

ANALYSE DE LA LECTURE DES FICHIERS XML

ANALYSE DE LA LECTURE DES FICHIERS XML ANALYSE DE LA LECTURE DES FICHIERS XML Jean Marie Epitalon, Mars 2010 CERFACS, Working Notes WN CMGC 10 20 Table des matières 1) Introduction...1 2) Architecture logicielle...1 2.a) La couche sasa_c...2

Plus en détail

Guide d'utilisation du Serveur USB

Guide d'utilisation du Serveur USB Guide d'utilisation du Serveur USB Copyright 20-1 - Informations de copyright Copyright 2010. Tous droits réservés. Avis de non responsabilité Incorporated ne peut être tenu responsable des erreurs techniques

Plus en détail

La mémoire. Un ordinateur. L'octet. Le bit

La mémoire. Un ordinateur. L'octet. Le bit Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve

Plus en détail

Programmation système en C/C++

Programmation système en C/C++ Programmation système en C/C++ Jean-Baptiste Vioix (jb.vioix@free.fr) LE2I - ENESAD http://jb.vioix.free.fr 1-41 Programmation en C/C++ sous Unix Il existe des très nombreux outils de développement sous

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

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

Programmation temps-réel Cours 5 Environnements d exécution

Programmation temps-réel Cours 5 Environnements d exécution Master 2 pro Programmation temps-réel Cours 5 Environnements d exécution Isabelle PUAUT / Rémi COZOT Université de Rennes I 1 Environnements d exécution Objectif d un système multitâche Faire coexister

Plus en détail

I. Introduction aux fonctions : les fonctions standards

I. Introduction aux fonctions : les fonctions standards Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons

Plus en détail

Unix Administration du système (AIX, HP-UX, Solaris, Linux) (2ième édition)

Unix Administration du système (AIX, HP-UX, Solaris, Linux) (2ième édition) Avant-propos 1. Objectif de ce livre 9 2. Présentation de l'ouvrage 10 Introduction 1. Principales utilisations professionnelles d'unix 11 1.1 Particularité des serveurs dédiés 12 1.2 Caractéristiques

Plus en détail

Généralités sur le Langage Java et éléments syntaxiques.

Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...

Plus en détail

GESTION CENTRALISÉE DELL POWERVAULT DL 2000 OPTIMISÉ PAR SYMANTEC

GESTION CENTRALISÉE DELL POWERVAULT DL 2000 OPTIMISÉ PAR SYMANTEC GESTION CENTRALISÉE DELL POWERVAULT DL 2000 OPTIMISÉ PAR SYMANTEC NOTE DE SYNTHESE La solution Dell PowerVault DL2000 optimisée par Symantec Backup Exec est la seule à proposer un système intégré de sauvegarde

Plus en détail

SUPPORT DE COURS WINDOWS VISTA

SUPPORT DE COURS WINDOWS VISTA SOMMAIRE I.... LA GESTION DE L'ORDINATEUR... 2 A.... LES UNÎTES LOGIQUES... 2 1 DISQUES DURS... 2 2 SUPPORTS AMOVIBLES... 3 3 PROPRIÉTÉS DU SUPPORT... 3 B... LE CONTENU DE L'ORDINATEUR... 4 1 DOSSIERS...

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

1.1- Compiler et exécuter un premier programme en C++

1.1- Compiler et exécuter un premier programme en C++ 1.1- Compiler et exécuter un premier programme en C++ 1- Un premier programme en C++ 2- Compilation et exécution 1- Un premier programme en C++ Le premier programme que propose le cours consiste à afficher

Plus en détail

Guide de configuration de SQL Server pour BusinessObjects Planning

Guide de configuration de SQL Server pour BusinessObjects Planning Guide de configuration de SQL Server pour BusinessObjects Planning BusinessObjects Planning XI Release 2 Copyright 2007 Business Objects. Tous droits réservés. Business Objects est propriétaire des brevets

Plus en détail

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Chapitre 3: UML pour la description et la documentation d une architecture logicielle Année universitaire 2013/2014 Semestre 1 Rappel L architecture d un programme ou d un système

Plus en détail

Le programme d examens préparé par le Bureau canadien des conditions d admission en génie d Ingénieurs Canada englobe dix-sept disciplines du génie.

Le programme d examens préparé par le Bureau canadien des conditions d admission en génie d Ingénieurs Canada englobe dix-sept disciplines du génie. INTRODUCTION Le programme d examens préparé par le Bureau canadien des conditions d admission en génie d Ingénieurs Canada englobe dix-sept disciplines du génie. Le programme d examens de chaque spécialité

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

CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES. Jean GASSINO, Jean-Yves HENRY. Rapport IPSN/Département d'évaluation de sûreté N 280

CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES. Jean GASSINO, Jean-Yves HENRY. Rapport IPSN/Département d'évaluation de sûreté N 280 FR9704668 PC CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES Jean GASSINO, Jean-Yves HENRY eci Rapport IPSN/Département d'évaluation de sûreté N 280 Octobre 1996 INSTITUT DE PROTECTION

Plus en détail

Cours 6 : Tubes anonymes et nommés

Cours 6 : Tubes anonymes et nommés Cours 6 : Tubes anonymes et nommés Mécanisme de communications du système de fichiers I-node associé. Type de fichier: S_IFIFO. Accès au travers des primitives read et write. Les tubes sont unidirectionnels

Plus en détail

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL i LE TEMPS RÉEL 1. PRÉSENTATION DU TEMPS RÉEL 1.1. APPLICATIONS TEMPS RÉEL 1.2. CONTRAINTES DE TEMPS RÉEL 2. STRUCTURES D'ACCUEIL POUR LE TEMPS RÉEL 2.1. EXÉCUTIFS TEMPS RÉEL 2.2. RÉSEAUX LOCAUX TEMPS

Plus en détail

Exécution des instructions machine

Exécution des instructions machine Exécution des instructions machine Eduardo Sanchez EPFL Exemple: le processeur MIPS add a, b, c a = b + c type d'opération (mnémonique) destination du résultat lw a, addr opérandes sources a = mem[addr]

Plus en détail

Retrospect 7.7 Addendum au Guide d'utilisation

Retrospect 7.7 Addendum au Guide d'utilisation Retrospect 7.7 Addendum au Guide d'utilisation 2011 Retrospect, Inc. Certaines parties 1989-2010 EMC Corporation. Tous droits réservés. Guide d utilisation d Retrospect 7.7, première édition. L utilisation

Plus en détail

Afficher le contenu du script au fur et à mesure de son exécution.

Afficher le contenu du script au fur et à mesure de son exécution. 5 Commandes, variables et utilitaires système Ns avons étudié en détail les structures offertes par le langage de programmation des scripts shell, ainsi que les mécanismes d évaluation des expressions.

Plus en détail

Chapitre II : Interfaces Interpréteurs de commandes et interfaces graphiques

Chapitre II : Interfaces Interpréteurs de commandes et interfaces graphiques Chapitre II : Interfaces Interpréteurs de commandes et interfaces graphiques Interfaces Un SE a deux fonctions principales : Gestion des ressources matérielles Présentation d'une machine virtuelle à chaque

Plus en détail

Cours Informatique 1. Monsieur SADOUNI Salheddine

Cours Informatique 1. Monsieur SADOUNI Salheddine Cours Informatique 1 Chapitre 2 les Systèmes Informatique Monsieur SADOUNI Salheddine Un Système Informatique lesystème Informatique est composé de deux parties : -le Matériel : constitué de l unité centrale

Plus en détail

Systèmes d'exploitation

Systèmes d'exploitation Systèmes d'exploitation Rôle d'un système : virtualisation Virtualisation du processeur Virtualisation de la mémoire Virtualisation du disque Virtualisation interface utilisateur Virtualisation du réseau

Plus en détail

Systèmes d exploitation

Systèmes d exploitation Systèmes d exploitation Un système d exploitation (SE, en anglais Operating System ou OS) est un ensemble de programmes responsables de la liaison entre les ressources matérielles d un ordinateur et les

Plus en détail

Introduction à la Programmation Parallèle: MPI

Introduction à la Programmation Parallèle: MPI Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4

Plus en détail

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,

Plus en détail

Système et réseaux (SR1) Gestion des utilisateurs

Système et réseaux (SR1) Gestion des utilisateurs Système et réseaux (SR1) Gestion des utilisateurs Il existe un utilisateur privilégié (de nom root et de groupe root) qui dispose de droits étendus sur le système de fichier et sur le contrôle de l'activité

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Livre blanc Mesure des performances sous Windows Embedded Standard 7

Livre blanc Mesure des performances sous Windows Embedded Standard 7 Livre blanc Mesure des performances sous Windows Embedded Standard 7 Table des matières Résumé... 1 Introduction... 1 Utilisation de la boîte à outils Windows Performance Analysis... 2 Fonctionnement...

Plus en détail

3IS - Système d'exploitation linux - Programmation système

3IS - Système d'exploitation linux - Programmation système 3IS - Système d'exploitation linux - Programmation système 2010 David Picard Contributions de : Arnaud Revel, Mickaël Maillard picard@ensea.fr Environnement Les programmes peuvent être exécutés dans des

Plus en détail

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11) 1/ Généralités : Un ordinateur est un ensemble non exhaustif d éléments qui sert à traiter des informations (documents de bureautique, méls, sons, vidéos, programmes ) sous forme numérique. Il est en général

Plus en détail

Virtualisation logicielle De la machine réelle à la machine virtuelle abstraite

Virtualisation logicielle De la machine réelle à la machine virtuelle abstraite Virtualisation logicielle De la machine réelle à la machine virtuelle abstraite Bertil FOLLIOT et Gaël THOMAS Cette version est une préversion de l article accepté par «Technique de l ingénieur» (Hermes).

Plus en détail

HISTORIQUE DES SYSTEMES D'EXPLOITATION (S.E.)

HISTORIQUE DES SYSTEMES D'EXPLOITATION (S.E.) SYSTEME Chapitre 1 HISTORIQUE DES SYSTEMES D'EXPLOITATION (S.E.) Ce qu'est un S.E. = partie intelligente d'un système donné. Les S.E. ont évolué au fil des années. Ils dépendent de l'architecture des ordinateurs

Plus en détail

VMWare Infrastructure 3

VMWare Infrastructure 3 Ingénieurs 2000 Filière Informatique et réseaux Université de Marne-la-Vallée VMWare Infrastructure 3 Exposé système et nouvelles technologies réseau. Christophe KELLER Sommaire Sommaire... 2 Introduction...

Plus en détail