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



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

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

Cours Programmation Système

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

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

gestion des processus La gestion des processus

Introduction aux Systèmes et aux Réseaux

Support de cours système d exploitation

Chapitre 4 : Outils de communication centralisés entre processus

Cours A7 : Temps Réel

Problèmes liés à la concurrence

Concept de machine virtuelle

SEO 200. Banc d étude du positionnement angulaire d une éolienne face au vent DESCRIPTIF APPLICATIONS PEDAGOGIQUES

Programmation système

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Les processus. Système L3, /39

Pourquoi installer un domaine Windows Active directory? E. Basier - CNIC S. Maillet - CRPP F. Palencia - ICMCB

Adopter une approche unifiée en matière d`accès aux applications

Systèmes d exploitation Gestion de processus

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

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

CAHIER DES CHARGES D IMPLANTATION

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

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

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

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

Optimisez vos environnements Virtualisez assurément

Urbanisation des Systèmes d Information Architecture d Entreprise. 04 Architecture du SI : identifier et décrire les services, structurer le SI

TIVOLI STORAGE MANAGER. Denis Vandaele

NetCrunch 6. Superviser

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

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

Vérifier la qualité de vos applications logicielle de manière continue

Logiciel REFERENCE pré-requis informatiques et techniques :

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

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

Utilisation de matériels industriels avec des outils de virtualisation open source. Open Source dans le monde industriel

Les processus 2/54. Qu est-ce qu un processus? 3(6)/54. Se souvenir 1(1)/54. Le système de fichiers (exemple du disque dur)

//////////////////////////////////////////////////////////////////// Administration bases de données

Vous êtes bien à la bonne présentation, c est juste que je trouvais que le titre de cette présentation étais un peu long,

Archives, backup, DRP. Archivage, sauvegarde, PRA. (plan de reprise d'activité) 04 Octobre

Gestion des processus

GESTION BOOTLOADER HID

A5.2.3, Repérage des compléments de formation ou d'autoformation

Oracle 11g Optimisez vos bases de données en production (ressources matérielles, stockage, mémoire, requêtes)

Windows 2000 Server Active Directory

Guide d'installation et de configuration de Pervasive.SQL 7 dans un environnement réseau Microsoft Windows NT

Chapitre 4 : Les mémoires

Installation et utilisation de Cobian Backup 8

Programmation système en C/C++

NIMEGUE V3. Fiche technique 3.07 : Sauvegarde / Restauration manuelle

Partie 7 : Gestion de la mémoire

Business Process Execution Language

Triphasé 400 V kw. Variateur multifonction haute performance

Haute performance pour serveurs Web embarqués

Solutions de conversion P2V et V2V (v2.1)

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

Gestion des transactions et accès concurrents dans les bases de données relationnelles

Etude de l ENT de l Université de Paris 5. Mise en place d outils de suivi de la charge de l ENT (monitoring)

La Comptabilité UNIX System V Acctcom

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

Quel ENT pour Paris 5?

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

Sommaire. AIDAUCLIC BACKUP : Solution de sauvegarde en ligne 3. Quelles problématiques résout la solution? 3. Fonctionnement de la solution 4

Plan global. Programmation système II. Socket du domaine UNIX. Plan. Socket UNIX, Terminaux, Async IO, Mémoire, ELF.

Le Programme SYGADE SYGADE 5.2. Besoins en équipement, logiciels et formation. UNCTAD/GID/DMFAS/Misc.6/Rev.7

Sauvegarde de postes clients avec BackupPC

System Center Data Protection Manager 2010 (DPM2010) Mettre en œuvre un réseau de backup

JAB, une backdoor pour réseau Win32 inconnu

Utilisez Toucan portable pour vos sauvegardes

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

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

Les processus légers : threads. Système L3, /31

PO Box Monheim/Germany Phone: Fax:

Des solutions sur mesure à partir de modules fonctionnels & CRM associés à un studio de customisation.

VMWare. Vmware: machine virtuelle Un véritable pc avec : VmWare

Cours de Systèmes d Exploitation

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

Chapitre 3 : Système de gestion de fichiers

Millenium3 Atelier de programmation

Réparer un disque dur passé en RAW

Ladibug TM 2.0 Logiciel de présentation visuel d'image Manuel de l utilisateur - Français

Agenda. Introduction au projet SIMM. Réduction des volumes de sauvegarde avec RMAN

Procédure : Sauvegarder un Windows 7 sur un disque réseau

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

MIEUX CONNAÎTRE LES FICHIERS DE DÉMARRAGE DE WINDOWS 95

GROOBAX. cliquer sur le «G» Cliquer sur «options» Sélectionner le dossier qui contiendra les paramètres => Cliquer A chercher le dossier créé en 2/

CATALOGUE DE LA GAMME EASYFOLDER OFFRE GESTION DE CONTENUS NUMERIQUES

Projet Active Object

Filière métier : Administrateur Virtualisation

Module pour la solution e-commerce Magento

Analyse de performance, monitoring

Coopérer au quotidien

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

Conseils et astuces pour un déploiement réussi de la solution VMware Mirage

Travail d équipe et gestion des données L informatique en nuage

Virtualisation et le hosting. Christophe Lucas Sébastien Bonnegent rouen.fr>

Transcription:

Systèmes d Exploitation - ENSIN6U3 Gestion de processus Leonardo Brenner 1 Jean-Luc Massat 2 1 Leonardo.Brenner@univ-amu.fr 2 Jean-Luc.Massat@univ-amu.fr Aix-Marseille Université Faculté des Sciences

Table de matière 1 Définition d un processus Représentation d un processus État d un processus 2 Création de processus lourd Cas de Unix Cas de Windows 3 Création de processus léger Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 2 / 25

Définition d un processus Table de matière 1 Définition d un processus Représentation d un processus État d un processus 2 Création de processus lourd Cas de Unix Cas de Windows 3 Création de processus léger Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 3 / 25

Définition d un processus Processus : définition, identification, filiation Définition : processus Un processus est un programme en cours d exécution. Composition d un processus Un processus comporte : un espace d adressage ; le bloc du contrôle du processus, décomposé en : entrée dans la table des processus ; une zone u, allouée dynamiquement à la création du processus. Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 4 / 25

Définition d un processus Représentation d un processus Représentation d un processus Données sur un processus Pour chaque processus le systèmes maintient les données suivantes : un identifiant (PID), des informations diverses (priorités, filiations, propriétaires,...), un état opérationnel, un contexte d exécution, des statistiques (temps de CPU, # d E/S, # de défauts de pages,...). Ces informations sont rangées dans un PCB (Process Control Block). Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 5 / 25

Définition d un processus Identifiants des processus Représentation d un processus Identification Filiation A chaque processus est associé un identifiant : Cet identifiant est appelé PID (pour Process Identifier) Le PID est attribué par le système au moment de l exécution Tous les processus ont un PID unique Le premier processus : init possède le PID 1 Tout processus est créé à partir d un autre processus : Sous Unix, le premier processus init Tous les processus sont créés à partir de init Un processus A créé par un processus B est appelé fils de B et B est le père de A Le PPID d un processus est le PID de son père Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 6 / 25

Définition d un processus Propriétés et accès aux fichiers Représentation d un processus La priorité Utilisée lors de l exécution du processus Un processus sera exécuté avant (ou plus souvent) que les autres processus moins prioritaire Généralement, la priorité évolue dans le temps Accès aux fichiers A chaque processus est attribué des identifiants pour les accès aux fichiers En fonction des identifiants, le processus pourra ou non accéder à certains fichiers Plusieurs identifiants : GID : l identifiant de groupe UID : l identifiant de l utilisateur Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 7 / 25

État d un processus Définition d un processus État d un processus États opérationnels Chaque processus est dans l un des états opérationnels suivants : 6 prêt 1 en attente 4 2 connu terminé 1. initialisation 2. exécution 3. achèvement 4. préemption 5. attente 6. signal 5 actif 3 Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 8 / 25

Définition d un processus La table des processus État d un processus Description L ensemble des processus sont gérés dans une table : Une entrée par processus Données sur les processus : identifiant du processus, priorité, compteur ordinal, pointeurs vers les segments mémoire,... Représentation mémoire Table des processus 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 Compteur ordinal Données Code Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 9 / 25

Rôle de PCB Définition d un processus État d un processus Commutation de contexte Le rôle du PCB dans la commutation de contexte entre deux processus : P0 P1 actif prêt actif sauvegarde PCB0 restauration restauration PCB1 sauvegarde prêt actif prêt Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 10 / 25

Définition d un processus Contexte d un processus État d un processus Quelques données nécessaires à la commutation de contexte mot d état, contexte de l unité centrale : accumulateur, registre d instruction et compteur d instruction, registres d état du processeur, registres d états du processus. état du processus, variables globales statiques dynamiques, entrée dans la table du processus, zone u, piles utilisateur et système, zones de codes et de données. Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 11 / 25

Définition d un processus Files et états des processus État d un processus Files des processus Le système maintient un ensemble de files dans lesquelles il range les PCB. On trouve par exemple un file des processus prêts, des processus en attente (d une ressource, de la fin d une E/S,...), etc. réquisition file des processus prêts allocation de la CPU processus actifs fin de l'e/s file des processus en attente de fin d'e/s demande d'e/s file des processus morts appel de exit() Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 12 / 25

Définition d un processus Gestion des processus État d un processus Création de processus chaque processus peut créer des processus (ses fils) il est possible de figer, tuer des processus Communication entre processus Le système gère la communication entre les processus existants (signal, messages,...) Synchronisation de processus La gestion de synchronisation entre les processus gère la dépendance entre les processus. Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 13 / 25

Définition d un processus Gestion des processus État d un processus Types de processus Le S.E. gère deux types de processus : Lourd : crées par fork, nouveau PID, nouvelle zone mémoire, Léger : crées par «threads», même PID, même zone mémoire (mémoire partagée) Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 14 / 25

Création de processus lourd Table de matière 1 Définition d un processus Représentation d un processus État d un processus 2 Création de processus lourd Cas de Unix Cas de Windows 3 Création de processus léger Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 15 / 25

Création de processus lourd Cas de Unix Création d un processus : cas de Unix (1/2) Sous Unix Appel système fork() Le processus appelant (le père) est dupliqué (même image mémoire) La copie est remplacé par le fils (via exec) Illustration 000 111 000 111 000 111 00 11 00 11 00 11 Processus 2 Processus 1 fork( ) exec( ) exit( ) Appels système Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 16 / 25

Création de processus lourd Cas de Unix Création d un processus : cas de Unix (2/2) Création d un processus avec fork() Table des processus 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 Données père Données fils Code pid = fork(); Compteur ordinal Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 17 / 25

Création de processus lourd Cas de Windows Création d un processus : cas de Windows Sous Windows Appel à CreateProcess() (Win32) Le processus fils est créé et remplacé directement par le processus Illustration 000 111 000 111 000 111 00 11 00 11 00 11 Processus 2 Processus 1 CreateProcess( ) ExitProcess( ) Appels système Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 18 / 25

Création de processus léger Table de matière 1 Définition d un processus Représentation d un processus État d un processus 2 Création de processus lourd Cas de Unix Cas de Windows 3 Création de processus léger Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 19 / 25

Création de processus léger Les threads : processus de poids léger Threads Un thread (fil) est un programme en cours d exécution qui partage son code et ses données. Processus CODE Thread 1 M E P PILE Exécution DATA Thread 2 M E P PILE Exécution Fichiers ouverts et Ressources Thread 3 M E P PILE Exécution Chaque thread a une pile d exécution autonome. Un processus est composé de threads Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 20 / 25

Création de processus léger Les threads : processus de poids léger Utilité des threads Étude des dépendances et découpage : C5 dépend de C2 et C4 C1 C2 C3 C4 C5 C2 dépend de C1 C4 dépend de C3 C1 C2 C5 Thread 1 C3 C4 Thread 2 Avantages : récupération des temps d E/S, exploitation des machines multi-processeurs, coopération entre threads. Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 21 / 25

Création de processus léger Les threads : processus de poids léger Utilité des threads : application serveurs Organisation logicielle d une application serveur : Application serveur Processus fils Processus principal Processus fils Processus fils Processus fils Processus serveur Thread principal Thread fils Thread fils Thread fils Thread fils Données globales La commutation et la communication entre threads est une opération plus simple. Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 22 / 25

Création de processus léger Les threads : processus de poids léger Les processus monolithiques Il existe un conflit entre : entrées / sorties synchrones (bloquantes), interface homme/machines (IHM). réseau disque GUI Gestionnaire de la file des événements Boucle des événements récupérer un événement Evénements asynchrones Traiter Processus monolithique Solution d attente active : E/S asynchrones (non-bloquantes), structure avec boucle d événements. Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 23 / 25

Création de processus léger Les threads : processus de poids léger Les processus multi-threads Il existe une autre solution basée sur : le découpage en plusieurs threads, une utilisation des E/S synchrones, un module de communication. réseau disque GUI Thread "Gestion réseau" Thread "Gestion disque" Thread "Gestion de l IHM" Communication et synchronisation Evénements asynchrones Thread "Gestion de la mémoire" Processus multi threads Avantages : plus grande simplicité du code, indépendance entre les modules. Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 24 / 25

Création de processus léger Les threads : processus de poids léger Implantation des «threads» Implantation au niveau du S.E. : + le S.E. connaît et ordonnance les threads, + la répartition de la CPU est bonne, - les structures du S.E. sont alourdies. Implantation au niveau utilisateur (java) : + une librairie se charge de la gestion des threads (création, destruction, etc.), + la commutation entre threads d un même processus est plus rapide, - la répartition de la CPU n est pas équitable, - la mise «en attente»d un processus entraîne le blocage de tous ses threads. Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 25 / 25