Systèmes d exploitation Gestion des processus



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

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

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

Cours Programmation Système

Cours de Systèmes d Exploitation

École Polytechnique de Montréal. Département de Génie Informatique et Génie Logiciel. Cours INF2610. Contrôle périodique.

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

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

Introduction aux Systèmes et aux Réseaux

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

Programmation parallèle et distribuée

Domain Name System Extensions Sécurité

Introduction à la Programmation Parallèle: MPI

REALISATION d'un. ORDONNANCEUR à ECHEANCES

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

Métriques de performance pour les algorithmes et programmes parallèles

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

Un ordonnanceur stupide

L exclusion mutuelle distribuée

Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation

Support de cours système d exploitation

CH.3 SYSTÈMES D'EXPLOITATION

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

Messagerie asynchrone et Services Web

Cours A7 : Temps Réel

Chapitre 4 : Outils de communication centralisés entre processus

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

Eléments constitutifs et synthèse des convertisseurs statiques. Convertisseur statique CVS. K à séquences convenables. Source d'entrée S1

Système de stockage IBM XIV Storage System Description technique

EMC DATA DOMAIN HYPERMAX

Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée)

gestion des processus La gestion des processus

Prise en compte des ressources dans les composants logiciels parallèles

Master d'informatique 1ère année Réseaux et protocoles. Couche physique

Cours de Génie Logiciel

Cours n 12. Technologies WAN 2nd partie

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

Partie 7 : Gestion de la mémoire

EMC DATA DOMAIN OPERATING SYSTEM

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication

Smart Notification Management

GPA770 Microélectronique appliquée Exercices série A

WEA Un Gérant d'objets Persistants pour des environnements distribués

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Livre blanc Haute disponibilité sous Linux

Introduction : les processus. Introduction : les threads. Plan

Consolidation de stockage

Une passerelle SMS comme périphérique SynoZwave, et un monitoring de votre infrastructure

PocketNet SNMP/Modbus

TASCAM MX Utilisation du SCSI

Structure fonctionnelle d un SGBD

SYSTÈME DE GESTION DE FICHIERS

<Insert Picture Here> Solaris pour la base de donnés Oracle

Technologie de déduplication de Barracuda Backup. Livre blanc

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Initiation au HPC - Généralités

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Synchro et Threads Java TM

TD Architecture des ordinateurs. Jean-Luc Dekeyser

HSM, Modules de sécurité matériels de SafeNet. Gestion de clés matérielles pour la nouvelle génération d applications PKI

Leçon 1 : Les principaux composants d un ordinateur

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Parallélisme et Répartition

Systèmes d exploitation Gestion de processus

Network musical jammin

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

INTRODUCTION À LA PROGRAMMATION CONCURRENTE

La surveillance réseau des Clouds privés

White Paper - Livre Blanc

La continuité de service

Téléinformatique et télématique. Revenons aux définitions

Hébergement de base de données MySQL. Description du service (D après OGC - ITIL v3 - Service Design- Appendix F : Sample SLA and OLA)

Détection d'intrusions en environnement haute performance

Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley, July ENPC.

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

Conditions générales d affaires (CGA) Portail clients SanitasNet

Optimisations des SGBDR. Étude de cas : MySQL

Manuel programmation QUESTOR

Manipulation 4 : Application de «Change».

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Apprentissage des performances, surveillance en temps réel et contrôle d admission d un serveur Web utilisant les techniques neuronales

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

L unique SAN industriel proposant un stockage multiniveau automatisé (Automated Tiered Storage)

S y m M a i l i n g. S o l u t i o n d e - m a i l i n g. SymMailing est un outil professionnel de création et de gestion de campagnes d ing.

Quel niveau RAID est le mieux adapté à mes besoins?

Un concept multi-centre de données traditionnel basé sur le DNS

Concept de machine virtuelle

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

Un ordinateur, c est quoi?

Adresse directe fichier : Adresse url spécifique sur laquelle le lien hypertext du Client doit être

Module BDR Master d Informatique (SAR)

La couche réseau Le protocole X.25

Atelier : Virtualisation avec Xen

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

Ordonnancement temps réel

Architectures d implémentation de Click&DECiDE NSI

Transcription:

Systèmes d exploitation Gestion des processus Didier Verna didier@lrde.epita.fr 5 décembre 2000

Table des matières Table des matières Généralités... 3 États d un processus... 4 Bloc de contrôle d un processus (PCB)... 5 Ordonancement des processus... 6 Types d ordonanceurs... 7 Commutation de contexte... 8 Opérations sur un processus... 9 Communication inter-processus... 10 Communication directe... 11 Gestion des processus 1

Table des matières Communication indirecte... 12 Bufferisation... 13 Cas pathologiques... 14 Le multithreading... 15 Fonctionnement des threads... 16 Les threads de Solaris 2... 17 Systèmes d exploitation Gestion des processus 2

Généralités Généralités Un programme est une suite d instructions Un processus est un programme en exécution Plusieurs processus peuvent exécuter simultanément des copies d un même programme. Plusieurs processus peuvent exécuter simultanément la même copie d un même programme («réentrance»). Systèmes d exploitation Gestion des processus 3

Généralités États d un processus États d un processus Nouveau Terminé admission Prêt réception d événement ou d entrée/sortie dispatching interruption En Exécution exit requête d événement ou d entrée/sortie En Attente Un processeur ne peut exécuter qu un seul processus à la fois. Systèmes d exploitation Gestion des processus 4

Généralités Bloc de contrôle d un processus (PCB) Bloc de contrôle d un processus (PCB) Un processus est représenté par une structure de données comprenant certaines informations : État du processus : prêt, en exécution... Compteur d instructions : prochaine instruction à exécuter. Registres : pointeurs de pile... Scheduling : priorité du processus, pointeurs vers les files d attente... Mémoire : zones d accès autorisées... Entrées/Sorties : fichiers ouverts... Comptabilité : temps CPU déjà utilisé... Systèmes d exploitation Gestion des processus 5

Ordonancement des processus Ordonancement des processus Un seul processus en exécution par processur = stockage de tous les PCB dans des files d attente (listes chaînées des PCB). Il existe toujours au moins : une file d attente des processus prêts, une file d attente par périphérique. File d attente des processus prêts Proc E/S File d attente d une entrée/sortie Requête d E/S Quantum écoulé Systèmes d exploitation Gestion des processus 6

Ordonancement des processus Types d ordonanceurs Types d ordonanceurs Long terme : Présélection des tâches spoolées sur disque et mise en mémoire (traitement par lots). S exécute très peu souvent. Court terme : Sélection des processus à exécuter parmi les processus prêts (en temps partagé). S exécute très souvent. Moyen terme : Gestion de la mémoire auxiliaire (en temps partagé). Technique du swapping. Systèmes d exploitation Gestion des processus 7

Ordonancement des processus Commutation de contexte Commutation de contexte Échange des donnés concernant les processus (PCB) au moment du dispatching. Surcharge de travail pour le processeur. Vitesse liée à la complexité du système, la quantité de registres, l existence d instructions matérielles... Goulot d étranglement pour les systèmes modernes (Cf. les threads). Systèmes d exploitation Gestion des processus 8

Opérations sur un processus Opérations sur un processus Arbre des processus : tout processus («fils») est créé par un autre processus («père»). Création : le fils peut cloner le père ou exécuter un programme différent. Attente : le père peut s exécuter en concurrence ou attente de terminaison du fils. Terminaison : renvoi éventuel de données au père (valeur de retour), libération des ressources par le système (mémoire, fichiers). Un processus peut se terminer de lui-même, ou être «tué» par un autre processus. Terminaison en cascade : un processus ne peut en général pas survivre à son père. Systèmes d exploitation Gestion des processus 9

Communication inter-processus Communication inter-processus Deux processus sont dits «coopératifs» lorsqu ils partagent des ressources où lorsque qu ils ont une influence l un sur l autre. Les processus coopératifs sont essentiels : Partage de l information : accès concurentiel aux fichiers. Augmentation des performances : traitement d une tâche parallélisé. Modularité : répartition et organisation des tâches du système. Utilisabilité : un utilisateur peut lancer plusieurs processus simultanément. = Il est nécessaire d avoir des mécanismes de communication entre processus (IPC). Il est plus pratique que le système d exploitation fournisse ces mécanismes. Systèmes d exploitation Gestion des processus 10

Communication inter-processus Communication directe Communication directe Nommage explicite du destinataire ou de l émetteur Liaison automatique créée par le système. Une seule liaison par paire de processus. Une seule paire de processus par liaison. Liaison uni ou bidirectionnelle. Liaison symétrique : send (P, msg) ; recv (P, msg) ; Liaison asymétrique : send (P, msg) ; recv (id, msg) ; = Nécessité de connaître les noms des processus. Problème en cas de changement de nom. Systèmes d exploitation Gestion des processus 11

Communication inter-processus Communication indirecte Communication indirecte Envoi et réception sur des ports send (A, msg) ; recv (A, msg) ; Liaison établie à condition que les processus partagent un même port. Plus de deux liaisons par processus. Plus de deux processus par liaison. Liaison uni ou bidirectionnelle. = Problème à gérer : multiples réceptions simultanées sur un même port (se restreindre à deux processus, limiter les types d accès en lecture ou écriture...). Systèmes d exploitation Gestion des processus 12

Communication inter-processus Bufferisation Bufferisation Capacité 0 : aucun message en attente. Nécessité d un synchronisation pour échanger des messages («rendez-vous»). Capacité limitée : l émetteur peut être retardé si le buffer est plein. Capacité illimitée : l émetteur n est jamais retardé. Pour des capacités non nulles, la communication est asynchrone : Un émetteur ne sait pas si son message est reçu. Synchronisation possible par «acquittement». Synchronisation possible en rendant send bloquant jusqu à l arrivée d un accusé de réception. Systèmes d exploitation Gestion des processus 13

Communication inter-processus Cas pathologiques Cas pathologiques Terminaison : P attends (ou envoie) un message de (ou vers) un processus terminé. Le système doit le terminer ou lui notifier le problème. Messages perdus : plusieurs possibilités : vérification sous la responsabilité de l émetteur lui-même. renvoi (ou notification à l émetteur) sous la responsabilité du système. Détection par temporisation. Certains protocoles spécifient explicitement que des messages peuvent être perdus. Messages bruités : («bitflip») idem. Détection par contrôle de parité. Systèmes d exploitation Gestion des processus 14

Le multithreading Le multithreading Les threads («LWP») répondent aux besoins suivants : Fournir un parallélisme intra-processus. Partager les données d un processus entre plusieurs fils d exécution. Amoindrir le coût de la commutation de contexte. = Un thread est défini par un compteur d instructions, un ensemble de registres et une pile. Il partage les autres ressources avec d autres threads. = Un ensemble de threads est une «tâche». Un processus traditionnel («HWP») est une tâche à un seul thread. Systèmes d exploitation Gestion des processus 15

Le multithreading Fonctionnement des threads Fonctionnement des threads Comportement similaire à celui des processus : création en cascade, états «prêt», «bloqué», «en exécution»... Différences : la terminaison d un père n entraîne pas forcément celle des fils, les threads partagent leur données... Threads noyau : ordonnancés par le système (interruptions), évite le blocage de toute une tâche. Threads utilisateur : ordonnancés par une librairie (pas d appel système), commutation peu coûteuse. Systèmes d exploitation Gestion des processus 16

Le multithreading Les threads de Solaris 2 Les threads de Solaris 2 Tâche 1 Tâche 2 Tâche 3 Tâche 4 Threads utilisateur LWP Threads noyau noyau Proc Proc Proc Proc Systèmes d exploitation Gestion des processus 17