Introduction aux systèmes d exploitation



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

Cours de Systèmes d Exploitation

Cours A7 : Temps Réel

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

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

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Un ordonnanceur stupide

Chapitre 4 : Outils de communication centralisés entre processus

gestion des processus La gestion des processus

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

Systèmes d exploitation Gestion de processus

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

Ordonnancement temps réel

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

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

Ordonnancement temps réel

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

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

Programmation temps-réel Cours 1 et 2 Introduction et ordonnancement

Chapitre 1 : Introduction aux bases de données

Annexe 6. Notions d ordonnancement.

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Concept de machine virtuelle

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

Interface PC Vivago Ultra. Pro. Guide d'utilisation

Guide de Migration du Serveur IceWarp

Gestion des processus

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

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

VMWare Infrastructure 3

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

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

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

Concept totale. parfaitement compatibles permettant de jeter un «nouveau regard sur le marketing & les ventes».

LA mémoire principale est le lieu où se trouvent les programmes et les

On appelle variable condition une var qui peut être testée et

Virtualisation de Windows dans Ubuntu Linux

Système de Gestion de Fichiers

Cours 2: Exclusion Mutuelle entre processus (lourds, ou légers -- threads)

Un système d'exploitation

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

Minimisation de la consommation énergétique à l'aide du système d'exploitation

Extension d'un outil de trace pour système embarqué temps réel. Encadrants : Laurent Pautet, Jérôme Hugues

Virtualisation sous Linux L'age de raison. Daniel Veillard

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

Support de cours système d exploitation

Comprendre ITIL 2011

Xen. Quelques notes autour de Xen

Plan de Reprise d Activité

Guide d'utilisation du Serveur USB

Description des UE s du M2

ALGORITHME GENETIQUE ET MODELE DE SIMULATION POUR L'ORDONNANCEMENT D'UN ATELIER DISCONTINU DE CHIMIE

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

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

Programmation parallèle et distribuée

Implémentation Matérielle des Services d un RTOS sur Circuit Reconfigurable

Démarrer et quitter... 13

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

Linux embarqué Retour d expérience et temps réel. Denis Coupvent-Desgraviers

Chapitre 2. Cluster de calcul (Torque / Maui) Grid and Cloud Computing

CONDITIONS PARTICULIERES D'HÉBERGEMENT WEB

Sondage sur le travail de conseiller d arrondissement et de conseiller municipal

Synchro et Threads Java TM

RÈGLEMENT JEU-CONCOURS «La Crosse Technology TREK» -

Manuel programmation QUESTOR

Infrastructure - Capacity planning. Document FAQ. Infrastructure - Capacity planning. Page: 1 / 7 Dernière mise à jour: 16/04/14 16:09

étude de cas Intégration de la solution VMware VIEW CSSS de Charlevoix

PORTAIL DE GESTION DES SERVICES INFORMATIQUES

INTRODUCTION À LA PROGRAMMATION CONCURRENTE

Résumé de la réforme des pensions février 2012

Le module Supply Chain pour un fonctionnement en réseau

Virtualisation de serveurs Solutions Open Source

Rapport de fin de stage

Initiation au HPC - Généralités

Plan. 1. La planification d un d 2. Méthodes et techniques de planification 3. Conclusion. D. Leclet

Extrait de Plan de Continuation d'activité Octopuce

CONDITIONS PARTICULIERES D'ENREGISTREMENT, DE RENOUVELLEMENT ET DE TRANSFERT DE NOMS DE DOMAINE

Mis à jour le 1er mars 2015

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

Installation et Réinstallation de Windows XP

UC4 effectue tout l ordonnancement batch pour Allianz en Allemagne

_ PARAMETRE DU COMPTE _ ACCEUIL. 1 ere Etape «Créer un compte principal» Créer un compte secondaire. Ouvrir un compte principal

En synthèse. HVR pour garantir les échanges sensibles de l'entreprise

CLOUD CP3S SOLUTION D INFRASTRUCTURE SOUMIS À LA LÉGISLATION FRANÇAISE. La virtualisation au service de l entreprise. Évolutivité. Puissance.

Analyse du temps de réponse des systèmes temps réel

Module : Informatique Générale 1. Les commandes MS-DOS

Contractualiser la sécurité du cloud computing

ERP Service Negoce. Pré-requis CEGID Business version sur Plate-forme Windows. Mise à jour Novembre 2009

Gestion de projet- Indicateurs de performance

Menaces et sécurité préventive

La surveillance réseau des Clouds privés

Manuel d utilisation du module GiftList Pro par Alize Web

Contrat de maintenance à distance

Fonctionnalités d Acronis :

Une fiabilité globale pour les sites qui ne PEUVENT pas tomber

Transcription:

Introduction aux systèmes d exploitation Partie 5 : Les processus Ordonnancement des processus Jalil BOUKHOBZA UBO / Lab-STICC Email : boukhobza@univ-brest.fr Partie 5 : Ordonnancement des processus 1 Partie 5 : Ordonnancement des processus 1. Les changements d état d un processus 2. Les objectifs de l ordonnancement 3. Quelques algorithmes d ordonnancement Partie 5 : Ordonnancement des processus 2 1. Les changement d état d un processus 1.1. Commutation des processus 1.2. Diagramme simplifié des états et transitions 1.3. Diagramme des états et transitions sous UNIX Partie 5 : Ordonnancement des processus 3 1

1.1 Commutation des processus C est le rôle de l ordonnanceur contenu dans le noyau de piloter la commutation des processus: Sauvegarde du contexte de l unité centrale (ou mot d état) du processus courant dans le contexte du processus en cours. Sauvegarde du contexte du processus courant. Mise en place d un nouveau contexte de l unité centrale permettant le traitement de l interruption au travers du chargement du mot d état correspondant. Traitement de l interruption. Appel de l ordonnanceur pour élire le processus à activer. Restauration du mot d état et du contexte du processus élu. Partie 5 : Ordonnancement des processus 4 1.2 Diagramme simplifié des états et des transitions Trois états possibles : Actif en mémoire centrale (ELU) Suspendu en attente d exécution (PRÊT). Bloqué en attente de ressource (BLOQUE). 1 Élu 3 2 Prêt Bloqué 4 Quatre transitions 1. Le processus se bloque en attente de données. 2. L ordonnanceur interrompt le processus courant. 3. L ordonnanceur choisit un nouveau processus. 4. Les données deviennent disponibles. Partie 5 : Ordonnancement des processus 5 1.3. Diagramme des états et transitions sous UNIX 1.3.1. Présentation du diagramme d état sous UNIX 1.3.2. Diagramme des états et transitions sous UNIX 1.3.3. Description des états et transitions sous UNIX 1.3.4. Un exemple de transition d état Partie 5 : Ordonnancement des processus 6 2

1.3.1 Présentation du diagramme d état UNIX Un diagramme plus complexe pour 3 raisons : Sous Unix, l exécution d un processus se fait sous deux modes : Le mode noyau qui correspond aux appels système. Un processus en mode noyau ne pouvant être suspendu par l ordonnanceur, il passe dans un état appelé préempté à la fin de son exécution. Le mode utilisateur qui correspond à l exécution des autres instructions. Le code et les données du noyau résident en permanence dans le système et tous les processus se les partagent par opposition à l espace d adressage du processus. Lorsque la mémoire centrale ne peut contenir tous les processus prêts, certains sont déplacés sur le disque (zone de swap). Les processus terminés ne sont pas immédiatement éliminés de la table des processus (état zombie). Partie 5 : Ordonnancement des processus 7 1.3.2 Diagramme des états et transitions UNIX 9 Défunt (ou zombie) Exit Interruption Retour interr. 1 Exécution en mode utilisateur Appel système Interruption sleep 4 Bloqué wakeup mémoire Exécution en mode noyau 2 Préemption 3 Prêt en mémoire swapout swapout swapin 7 préempté Ordonnancement des processus Mémoire suffisante 8 Création Endormi en mémoire centrale fork 6 Bloqué disque wakeup 5 Prêt disque Mémoire insuffisante Endormi en zone de swap Partie 5 : Ordonnancement des processus 8 1.3.3 Description des états et transitions UNIX (1) Etat 1 : Exécution en mode utilisateur Le processus accède à ses données et exécute ses instructions contenues dans la structure interne propre au processus. Etat 2 : Exécution en mode noyau pour tous les appels système. Le processus accède à des données du système et exécute le code système qui résident en permanence dans le système. Etat 3 : Prêt en mémoire Le processus ne s exécute pas mais il est éligible. Il est prêt à s exécuter. Partie 5 : Ordonnancement des processus 9 3

1.3.3 Description des états et transitions UNIX (2) Etat 4 : Bloqué en mémoire Quand un processus exécute un appel système, il passe du mode utilisateur au mode noyau. Si le processus doit attendre une ressource (Ex. : un sémaphore) ou le résultat de son appel système (Ex. : une entrée/sortie) il est mis en sommeil. Etat 5 : Prêt sur disque Le processus est prêt à s exécuter mais le swapeur doit le transférer en mémoire centrale pour le rendre éligible. Etat 6 : Bloqué sur disque Le processus est endormi en zone de swap (sur disque) en attente de ressources. Partie 5 : Ordonnancement des processus 10 1.3.3 Description des états et transitions UNIX (3) Etat 7 : Préempté Un processus en mode noyau ne peut pas être suspendu par l ordonnanceur. Au retour de son appel système, le processus peut néanmoins être préempté c est-à-dire qu il reste prêt à s exécuter mais c est un autre processus qui est élu. Etat 8 : Création C est Cest l état létat qui correspond à la naissance d un dun processus après l appel système fork. Etat 8 : Zombie L état défunt ou zombie correspond à l état du processus qui vient de se terminer. Il est conservé dans la table des processus, le temps pour son processus père de récupérer certaines informations. Partie 5 : Ordonnancement des processus 11 1.3.4 Exemple de transition d état Soit la situation suivante : L ensemble de la mémoire est occupé par des processus, mais le processus le plus prioritaire est dans l état 5 Prêt sur disque. Pour pouvoir exécuter ce processus, il faut le placer dans l état 3 Prêt en mémoire. Pour cela le système doit au préalable libérer de la mémoire en faisant passer un ou plusieurs processus des états 3 Prêt en mémoire ou 4 Bloqué en mémoire dans la zone de swap, donc les faire passer dans les états 5 Prêt sur disque ou 6 Bloqué sur disque. C est le swapeur qui réalise ces opérations : Sélection de processus pour un transfert sur disque (swapout). Réalisation du transfert de la mémoire centrale vers l espace de swap. Chargement en mémoire (swapin) du processus prioritaire. Partie 5 : Ordonnancement des processus 12 4

2. Objectifs de l ordonnancement 2.1. Rôle de l ordonnanceur 2.2. Ordonnancement avec réquisition 2.3. Le partage de l unité centrale 2.4. Stratégie de l ordonnancement à court ou à long terme Partie 5 : Ordonnancement des processus 13 2.1 Rôle de l ordonnanceur (1) L ordonnanceur ne fournit pas seulement un mécanisme, mais prend des décisions. Un bon ordonnanceur se doit : de maximiser l utilisation du processeur, d être équitable entre les différents processus, de présenter un temps de réponse acceptable, d avoir un bon rendement, d assurer certaines priorités. Partie 5 : Ordonnancement des processus 14 2.1 Rôle de l ordonnanceur (2) Un bon algorithme d ordonnancement doit donc être capable de : s'assurer que chaque processus reçoit sa part de temps processeur, utiliser le temps processeur à 100 %, minimiser les temps de réponse pour les utilisateurs en mode interactif, minimiser l attente des utilisateurs qui travaillent en batch, maximiser le nombre de travaux effectués en une heure. Ces objectifs sont bien évidemment contradictoires. Partie 5 : Ordonnancement des processus 15 5

2.2 Ordonnancement avec réquisition (préemption) (1) Lorsque l ordonnanceur lance un processus, il ne sait pas à l'avance combien de temps ce processus s'exécutera avant de se bloquer sur une E/S, un sémaphore ou pour une autre raison. Pour s'assurer qu aucun processus ne s'exécutera pendant trop de temps, le système d'exploitation ti reprend la main (à chaque interruption d horloge) et décide : Si le processus courant doit poursuivre son exécution. S il a consommé le temps processeur qui lui était imparti. Dans ce dernier cas, le processus est suspendu et le processeur est alloué à un autre processus. Partie 5 : Ordonnancement des processus 16 2.2 Ordonnancement avec réquisition (2) Cette stratégie qui permet de suspendre des processus prêts est appelée ordonnancement avec réquisition/préemption (preemptive scheduling). Le fait qu un processus peut être suspendu à n'importe quel instant (sauf s il sil s exécute sexécute en mode noyau) peut conduire à des conflits d'accès qu'il faut éliminer par l'usage des primitives de communication et d exclusion inter-processus : Sémaphores Mémoire partagée Files de messages etc. Partie 5 : Ordonnancement des processus 17 2.3 Le partage de l unité centrale (1) Ce partage doit être fait non seulement entre les processus utilisateurs mais aussi entre les différentes tâches du système : ordonnanceur, entrées-sorties,... Pour l'unité centrale le but de l ordonnancement est de maximiser le débit et taux d utilisation de l'unité centrale: Le débit est le nombre moyen de processus exécutés en un temps donné. Le taux utile est la proportion de temps réellement utilisée pour exécuter des processus utilisateurs. L algorithme d'ordonnancement doit également assurer l'exclusion mutuelle et l'absence de famine. Partie 5 : Ordonnancement des processus 18 6

2.3 Le partage de l unité centrale (2) L'invention d'un algorithme d'ordonnancement se base en générale sur des remarques statistique concernant le comportement des processus: Le couple UC/ES (cpu/io) est important car les processus ont tendance à basculer constamment entre des phases d'entrées-sorties et des phases de calcul sur l'unité centrale. Les processus consommant de longues périodes d'uc sont proportionnellement rares. Partie 5 : Ordonnancement des processus 19 2.4 Stratégie de l ordonnancement à court ou à long terme Les ordonnancements à court terme doivent être très rapides Le processus élu ne va utiliser l'unité centrale que pendant un très court laps de temps ( 10 milli-secondes par exemple). Si on utilise trop de temps (1 milli-seconde) pour sélectionner cet élu, le taux utile décroît très rapidement (ici on perd 9% du temps d'unité centrale). L'ordonnancement à long terme peut être plus long car il a lieu moins souvent Toutes les secondes par exemple. Partie 5 : Ordonnancement des processus 20 3. Quelques algorithmes d ordonnancement 3.1. Le tourniquet 3.2. Les priorités 3.3. Le tourniquet avec priorité Partie 5 : Ordonnancement des processus 21 7

3.1 Tourniquet Cet algorithme est l un des plus utilisés et l un des plus fiables : Chaque processus PRÊT dispose d un quantum de temps pendant lequel il s exécute. Lorsqu il a épuisé ce temps ou qu il se bloque, par exemple sur une entrée-sortie, le processus suivant de la file d attente est élu et le remplace. Le processus suspendu est mis en queue du tourniquet. Le seul paramètre important à régler, pour le tourniquet, est la durée du quantum La part de gestion du système correspond au rapport de la durée de commutation sur la durée du quantum. Plus le quantum est long plus cette part est faible, mais plus les utilisateurs attendent longtemps leur tour. Partie 5 : Ordonnancement des processus 22 3.2 Les priorités Dans l algorithme du tourniquet, un même quantum pour tout le monde rend les différents processus égaux. Il est parfois nécessaire de privilégier certains processus par rapport à d autres. L algorithme de priorité choisit le processus prêt de plus haute priorité. Ces priorités ité peuvent être statiques ti ou dynamiques : Les processus du système auront des priorités statiques (non-modifiables) fortes. Les processus des utilisateurs verront leurs priorités modifiées, au cours de leur exécution, par l ordonnanceur. Ainsi un processus qui vient de s exécuter verra sa priorité baisser. Partie 5 : Ordonnancement des processus 23 3.3 Le tourniquet avec priorités Très souvent sur les systèmes, une combinaison des deux techniques précédentes est utilisée. À chaque niveau de priorité correspond un tourniquet. L ordonnanceur choisit le tourniquet non vide de priorité la plus forte et l exécute exécute. Pour que tous les processus puissent s exécuter, il est nécessaire d ajuster périodiquement les différentes priorités. Partie 5 : Ordonnancement des processus 24 8