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



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

Partie 7 : Gestion de la mémoire

Chapitre 4 : Outils de communication centralisés entre processus

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

Introduction aux Systèmes et aux Réseaux

Cours Programmation Système

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

CH.3 SYSTÈMES D'EXPLOITATION

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

Gestion des processus

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Cours A7 : Temps Réel

Analyse de performance, monitoring

Guide d'installation. Release Management pour Visual Studio 2013

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Livre blanc Mesure des performances sous Windows Embedded Standard 7

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

Cours 6 : Tubes anonymes et nommés

Concept de machine virtuelle

Le système GNU/Linux IUP NTIC /11/05

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

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

GESTION DE L'ORDINATEUR

Projet gestion d'objets dupliqués

Systèmes d exploitation Gestion de processus

2011 Hakim Benameurlaine 1

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

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

SYSTÈME DE GESTION DE FICHIERS

CPLN 20/08/2009 MBO Service ICT et Pédagogie

Optimisations des SGBDR. Étude de cas : MySQL

Introduction à la Programmation Parallèle: MPI

Systemes d'exploitation des ordinateurs

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

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

Systèmes d exploitation

Un ordonnanceur stupide

Manuel de System Monitor

Sage 50 Version 2014 Guide d installation. Sage Suisse SA

Ordonnancement temps réel

EN Télécom & Réseau S Utiliser VMWARE

Support Agile avec Kanban quelques trucs et astuces par Tomas Björkholm

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

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

Introduction aux environnements de virtualisation d'oracle Solaris 11.1

Windows Server Chapitre 1: Découvrir Windows Server 2008

Chapitre 2. Les processus. 2.1 Introduction. 2.2 les différents états d un processus

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Dollar Universe v5.1 Laissez-vous guider sur Motif

3. La SGA ou System global Area

portnox pour un contrôle amélioré des accès réseau Copyright 2008 Access Layers. Tous droits réservés.

CONTROLEUR D'IMPRESSION FIERY

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

Synchro et Threads Java TM

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

Qu'est-ce que c'est Windows NT?

Qlik Sense Desktop. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

Le Network File System de Sun (NFS)

Cours de Systèmes d Exploitation

Programmation système en C/C++

gestion des processus La gestion des processus

Gestion de parc Windows depuis Unix. Pascal Cabaud & Laurent Joly

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

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

Bienvenue sur Lab-Windows Il n'y a de vents favorables que pour ceux qui ont un cap

PPe jaune. Domingues Almeida Nicolas Collin Leo Ferdioui Lamia Sannier Vincent [PPE PROJET FTP]

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

Protocoles DHCP et DNS

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

Module 0 : Présentation de Windows 2000

Trier les ventes (sales order) avec Vtiger CRM

TRAVAUX PRATIQUES Programmation Système Langage C / Système UNIX. 2 e année Génie Informatique

L'univers simple des appareils intelligents

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

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

EN Télécom & Réseau S Utiliser VMWARE

Les Utilisateurs dans SharePoint

Tests de performance du matériel

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Formation Technicien Supérieur de Support en Informatique T2SI. Le module LINUX. Session J04 Version 01

Supervision - ESX/ESXi. Document FAQ. Supervision - ESX/ESXi. Page: 1 / 9 Dernière mise à jour: 16/04/14 17:45

Timy. Programme Doublage ("Backup") Français

Acronis Backup & Recovery 10 Advanced Server Virtual Edition. Guide de démarrage rapide

Initiation au HPC - Généralités

Segmentation d'images à l'aide d'agents sociaux : applications GPU

Programmation système I Les entrées/sorties

Didacticiel du service cartographique en cache

Chapitre IX : Virtualisation

Session 8: Android File System

Microsoft Windows NT Server

Guide pratique de CSPM, l'outil de suivi des performances du système Version française du Complete System Performance Monitor HOWTO

Fichiers, dossiers, enregistrer et arborescence

POUR MAC Guide de démarrage rapide. Cliquez ici pour télécharger la version la plus récente de ce document

GESTION DE LA MEMOIRE

Architecture de la plateforme SBC

Cours de Génie Logiciel

Transcription:

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 sous Unix La communication entre processus Les threads Les processus, à quoi ça sert? Ça sert à faire plusieurs activités en "même temps". Par exemple : Faire travailler plusieurs utilisateurs sur la même machine. Chaque utilisateur a l'impression d'avoir la machine à lui tout seul. Par exemple : Compiler tout en lisant son mail. Problème : Un processeur ne peut exécuter qu'une seule instruction à la fois. But : Partager un (ou plusieurs) processeur entre différents programmes (les processus). Attention! ne pas confondre Processus avec Processeur = Notes sur les champs d'application des processus. Une définition d'un processus Un processus est l'activité résultant de l'exécution d'un programme séquentiel, avec ses données, par un processeur. La vie intime des processus Allocation du processeur Il existe différentes stratégies :

2 sur 9 avec ou sans réquisition du processeur (stratégies prémptives ou non-préemptives), fixées à priori en utilisant des informations sur le processus et l'activité du système. méthode FIFO (First In, First Out) Aussi appelé traitement par "train", par "lot" ou "batch". Les processus accèdent au processeur, chacun à leur tour, dans l'ordre d'arrivée, et monopolisent le processeur jusqu'à leur terminaison. Travaux courts pénalisés Temps de Réponse fonction de la Charge du système des processus Stratégie indépendante du temps d'exécution Cette méthode est non-préemptive, c'est-à-dire qu'un processus monopolise le processeur jusqu'à sa terminaison. Une amélioration de la stratégie FIFO est d'ordonner la file en fonction du temps estimé d'exécution des processus. Dans ce cas, le temps de réponse des travaux courts est diminué, et celui des travaux long est augmenté. Notes sur le traitement par lot. Méthode du tourniquet (Round Robin) Aussi appelé "balayage cyclique". Les processus accèdent au processeur, chacun à leur tour, pour un temps déterminé à l'avance (le quantum). Un processus en attente d'une entrée-sortie sera placée dans une file des bloqués.

3 sur 9 Plus court d'abord (SJF : Shortest Job First) Priorité = Ordonnancement de la file Privation des travaux longs Cette méthode est préemptive, c'est-à-dire que le processeur est retiré à un processus au bout d'un certain quantum. Le quantum est calculé par tâtonements : si le quantum est très grand, on obtient une file d'attente simple; si le quantum est très petit, les processus n'auront pas le temps d'être exécuté en partie avant d'être réinsérés dans la file. Méthode du tourniquet multiniveaux Avant d'accéder au processeur, les processus sont rangés dans les files correspondant à leur niveau de priorité. Un processus ne peut accéder au processeur que s'il n'existe plus de processus dans les files de plus haute priorité. Amélioration du tourniquet simple Priorité = 1 priorité différente par niveau Les priorités peuvent être : externes, fixées avant la prise en compte du processus, internes, ajustées par le système, mixtes. Une amélioration du système par le swap

4 sur 9 Un processus peut être rangé (swapped) sur disque s'il reste trop longtemps dans la file des bloqués. Quelques caractéristiques des processus Voici un résultat possible de la commande ps sous Unix. Chaque ligne concerne un processus et chaque colonne donne une caractéristique des processus. Par exemple PID est l'identificateur du Processus. Pour plus d'information, reportez-vous aux man pages en tapant la commande man ps. USER PID %CPU %MEM SZ RSS TT STAT START TIME COMMAND billard 9343 5.4 1.3 316 756 p1 S 15:58 0:00 -local/bin/tcsh solana 29087 2.7 7.0 3196 4212 co S Jan 4 81:53 lemacs solana 10113 0.0 0.0 104 0 co IW Dec 22 0:01 -csh (csh) bin 60 0.0 0.0 36 0? IW Nov 15 0:01 ypbind root 0 0.0 0.0 0 0? D Nov 15 19:23 swapper root 78 0.0 0.1 60 60? I Nov 15 5:25 syslogd ncsa 18010 0.0 0.0 1976 0? IW Jan 9 0:01 /net/bin/sp STAT S I W D Signification Sleeping <= 20s Idle > 20s Swapped Non-interruptible Le contexte d'un processus Le contexte d'un processus est l'ensemble des informations dynamiques qui représente l'état d'exécution d'un processus (e.g. où est-ce que le processus en est de son exécution).

5 sur 9 Le contexte état courant d'un processus. On définit aussi le vecteur d'état d'un processus (PSW : Program Status Word) comme l'ensemble des bits de condition, priorité, etc. au moment de la commutation de contexte. La commutation de contexte (context switching) La commutation de contexte est le mécanisme qui permet au système d'exploitation de remplacer le processus élu par un autre processus éligible. Le temps nécessaire à la commutation de contexte doit être inférieur au quantum. Les processus sous Unix Aussi appelés processus lourds. La création d'un processus : Sous l'interpréteur de commande (shell). Dans un programme : instruction fork().

6 sur 9 Action de fork() duplication du processus père ; retour de la valeur pid (numéro du fils) dans le processus père ; retour de la valeur 0 dans le processus fils. Lors du démarrage de Unix, deux processus sont créés : le Swapper (pid = 0) qui gère la mémoire; le Init (pid = 1) qui crée tous les autres processus. La communication entre processus La communication entre père et fils par tubes (pipe) Un processus hérite de son père les descripteurs de tubes. Un tube est composé de deux entrées (lecture / écriture). Chaque entrée est FIFO. Création d'un tube : int pipe(p) avec int p[2]. p[0] = accès en lecture ; p[1] = accès en écriture.

7 sur 9 La communication par tubes nommés Un tube nommé est un fichier spécial créé avec la commande mknod ou mkfifo. -rw-r----- 1 billard telecom 15001 fév 4 13:59 fichier_normal prw-r----- 1 billard telecom 0 fév 4 13:58 mon_tube -rw-r----- 1 billard telecom 45876 fév 4 13:59 un_autre_fichier La taille de mon_tube = 0, sauf lors de l'utilisation du tube. Le tube s'utilise comme un fichier normal avec les primitives open, read, write, close. La communication par IPC (Inter Process Communication) Les IPC font partie de l'interface Unix System V. Les IPC comprennent : 1. 2. 3. les files de messages ; la mémoire partagée ; les sémaphores. Les files de messages et la mémoire partagée sont des outils de communication. Les sémaphores sont des outils de synchronisation. Les files de messages 1 file de message 1 boîte aux lettres. Un processus peut déposer et retirer des messages. Les messages sont typés. Un processus peut retirer : le premier message de la file ( type) ; le premier message de type t ; le premier message de type t (t étant une valeur entière > 0). La mémoire partagée 1 mémoire partagée 1 espace d'adressage commun à plusieurs processus. Un processus peut lire et écrire en mémoire partagée, comme s'il s'agissait de ses propres variables.

8 sur 9 Les IPC - Inconvénients Table des IPC (donnée par la commande ipcs). Message Queues: T ID KEY MODE OWNER GROUP q 28050 19466732 --rw-rw-rw- cbronner sys2 Shared Memory: T ID KEY MODE OWNER GROUP m 10601 4353 --rw-rw-rw- marchal sys2 Semaphores: T ID KEY MODE OWNER GROUP s 811 8765 --ra-ra-ra- marchal sys2 Les IPC font partie du système d'exploitation. Chaque opération sur un IPC implique donc un appel système, très couteux, i.e. lent. Les threads - processus légers Idée : plusieurs threads à l'intérieur du même processus. Chaque thread accède au même segment de données (donc aux mêmes variables). 1 thread = Une thread qui interagit avec une autre au sein du même processus n'utilise pas le système d'exploitation. une thread est plus légère à gérer et sa gestion peut être personalisée. La commutation de contexte est plus simple entre threads.

9 sur 9 États uniques pour chaque thread : identificateur de thread ; état des registres ; pile ; masques de signaux (décrivent à quels signaux la thread répond) ; priorité ; données privées à la thread. Attention : par défaut, la méthode d'allocation du processeur est NON-préemptive dans les anciens systèmes, et préemptive dans tous les sytèmes récents. Retour au sommaire.