Gestion du processeur central



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

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

Cours A7 : Temps Réel

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

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

REALISATION d'un. ORDONNANCEUR à ECHEANCES

CH.3 SYSTÈMES D'EXPLOITATION

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

Systèmes d exploitation Gestion de processus

Support de cours système d exploitation

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Cours Programmation Système

Chapitre 4 : Outils de communication centralisés entre processus

Ordonnancement temps réel

Gestion des processus

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

Cours de Systèmes d Exploitation

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

Introduction aux Systèmes et aux Réseaux

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

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

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

Un ordonnanceur stupide

Allocation de l adressage IP à l aide du protocole DHCP.doc

Systemes d'exploitation des ordinateurs

SYSTÈME DE GESTION DE FICHIERS

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

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

gestion des processus La gestion des processus

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

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

Annexe 6. Notions d ordonnancement.

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

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

Système de Gestion de Fichiers

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

Leçon 1 : Les principaux composants d un ordinateur

Informatique pour scientifiques hiver Plan général Systèmes d exploitation

Ordonnancement temps réel

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

Structure fonctionnelle d un SGBD

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

Démarrer et quitter... 13

Introduction à l informatique en BCPST

IV- Comment fonctionne un ordinateur?

«Commande» se rapporte à un bon de commande ou à une commande créée sur un site Internet Interoute.

Chapitre 4 : Exclusion mutuelle

Micro ordinateur & Périphériques Mémoire de masse Disque dur (SOLUTION)

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

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

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

VMWare Infrastructure 3

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

Rapport de stage en Master Recherche Informatique

EX4C Systèmes d exploitation. Séance 14 Structure des stockages de masse

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)

Bases de données avancées Concurrence d'accès et reprise

Déduplication des données : un élément essentiel de votre stratégie de protection des données

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

Windows XP niveau 2. D. Hourquin, Médiapôle St Ouen l'aumône

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

UC4 effectue tout l ordonnancement batch pour Allianz en Allemagne

Initiation au HPC - Généralités

Manuel d installation Version Evolution réseau Ciel Compta Ciel Gestion commerciale Ciel Associations

NOTIONS DE RESEAUX INFORMATIQUES

PROGRAMMATION EVENEMENTIELLE sur EXCEL

Présentation du module Base de données spatio-temporelles

Sommaire. Le quotidien du Service informatique. Qu est-ce que Panda Cloud Systems Management? Le cercle vertueux

Sans trop entrer dans les détails, la démarche IO Model consiste à : Pour cela, Microsoft découpe la maîtrise de l infrastructure en quatre niveaux :

Architecture des ordinateurs. Environnement Windows : sauvegarde

Ordinateurs, Structure et Applications

Livre blanc Mesure des performances sous Windows Embedded Standard 7

Audit activité base Oracle / SAP

Le langage C. Séance n 4

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

PORTAIL DE GESTION DES SERVICES INFORMATIQUES

Concept de machine virtuelle

Guide de prise en main Symantec Protection Center 2.1

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

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

Version de novembre 2012, valable jusqu en avril 2013

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

SGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre Université de Rennes I - IRISA

La haute disponibilité

Détection d'intrusions en environnement haute performance

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

Cluster High Availability. Holger Hennig, HA-Cluster Specialist

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

Transférer et enregistrer les photos sur l'ordinateur

Créer des documents interactifs

Gestion des sauvegardes

Introduction aux systèmes temps réel. Iulian Ober IRIT

Cours Bases de données 2ème année IUT

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

Transcription:

Chapitre II Gestion du processeur central 1. Introduction Evolution des systèmes informatiques 1.1- Premier système : Le programmeur/opérateur doit écrire un programme ensuite le faire fonctionner directement à partir de la console (chargement du programme manuellement en mémoire, à partir des interrupteurs, bandes ou cartes perforées). 1.2- Systèmes simple de traitement par lots : Problèmes posés : - pendant que le programmeur utilise la console, l UC reste inactive. - le programmeur n est pas professionnel. Solutions : a) Moniteur résident : - Engager un opérateur professionnel. - Dès qu un programme est terminé, l opérateur peut démarrer le programme suivant. - Réduction du temps de préparation : regroupement en lots (batchs) ensuite l exécution. L enchainement automatique des travaux : une procédure pour transférer automatiquement le contrôle d un travail à un autre appelée «Moniteur résident» (toujours résident en mémoire). Comment le moniteur résident peut savoir quel programme exécuter? Solution : Utiliser des cartes de contrôle. Inconvénient : Manque d interaction entre l utilisateur et le travail b) Chevauchement des opérations d UC et d entrées/sortie «Systèmes de traitement par lots avec chevauchement automatique des travaux». Problème posé : Les périphériques d E/S mécanique sont plus lents que l UC Solutions : b.1) Traitement hors ligne : - Remplacer les lecteurs de cartes très lents (entrée) et les imprimantes lignes par lignes (sortie) par des unités de bande magnétique. - Exploiter les lecteurs de cartes et les imprimantes ligne par ligne hors ligne. Inconvénient : Il faut un délai plus important pour obtenir l exécution d un travail. b.2) Spooling (Simultaneous Peripheral Operation On-Line) - Les systèmes à disque : On lit les cartes directement à partir du lecteur de cartes sur le disque. Le système utilise les données d entrée à partir du disque. Copier les données de sortie sur disque. Enfin les données de sortie sont imprimées réellement. - Le Spooling fait chevaucher les E/S d un travail avec le calcul d autres travaux. 1.3- Systèmes de traitement par lots multiprogrammés : Objectif de la multiprogrammation : augmenter l utilisation de l UC en organisant les travaux de manière à ce que l UC ait toujours quelque chose à exécuter. Idée :

- Charger plusieurs travaux en mémoire à la fois. - Sélectionner et commencer à exécuter un des travaux en mémoire. - Pendant une opération d E/S de ce travail, on exécute un autre travail. 1.4- Systèmes en temps partagé Le temps partagé (ou multitâches) est une extension logique de la multiprogrammation. Plusieurs travaux sont exécutés par l UC qui les commute entre eux. 2. Les processus : Un processus est un programme en cours d'exécution défini par : - Son identificateur - Son Compteur ordinal PCB : Bloc de contrôle de processus - Ses données - Sa place en mémoire -.. Les processus sont connus du système par une table qui indique principalement : - ses emplacements mémoires - sa zone de sauvegarde - son état - ses fichiers ouverts -.. Un processus peut être dans les états suivants : Nouveau (initial), prêt, bloqué (en attente), en exécution, et terminé (final). Le processus «élu» est le processus unique sélectionné pour être exécuté. Les processus prêts sont susceptibles d'être exécutés s'ils sont choisis par le système. Les processus bloqués ne peuvent être choisis car : - il leur manque une ressource matérielle (mémoire principale) ou système (accès à un fichier) - ils sont en attente d'un évènement matériel (fin d'e/s, délai) ou système (message processus) 3. Ordonnanceur (Scheduler) : L'Ordonnanceur (Scheduler) définit l'ordre dans lequel les processus prêts utilisent l'uc (en acquièrent la ressource) et la durée d'utilisation, en utilisant un algorithme d'ordonnancement. L'ordonnanceur se décompose en deux parties : - la partie basse : mécanisme de commutation entre les processus - la partie haute : le choix du prochain processus à exécuter

Mise en œuvre de la commutation Un bon algorithme d'ordonnancement doit posséder les qualités suivantes : - équitabilité : chaque processus reçoit sa part du temps processeur - efficacité : le processeur doit travailler à 100 % du temps - temps de réponse : à minimiser en mode interactif - temps d'exécution : minimiser l'attente des travaux en traitement par lots (batch) - rendement : maximiser le nombre de travaux effectués par unité de temps L'ensemble de ces objectifs est contradictoire, par exemple le 3ème et le 4ème objectif. 3.1 Queues d ordonnancement - l ordonnancement est régulé à l aide de queues d ordonnancement - les queues sont organisées sur le modèle des listes chaînées - le pointeur sur la liste est stocké dans le descripteur de processus (PCB, process control bloc) - l ordonnanceur sélectionne un processus en attente dans une queue pour lui attribuer la ressource correspondante - un processus qui entre dans le système est placé dans la queue des processus, nommée job queue - un processus qui a obtenu accès à la mémoire centrale et qui est prêt à être exécuté est placé en ready queue - chaque unité périphérique possède sa propre queue d accès: device queue - certaines ressources logiques possèdent aussi leur queue (verrous, sémaphores, etc.) - les processus migrent d une queue à l autre - l état d un processus est défini par sa présence dans telle ou telle queue

3.2 Exécution de l ordonnanceur l ordonnanceur est invoqué lors des changements d état du processus, en particulier: 3. de en exécution à prêt (temps alloué dépassé: préemption, interruption non masquée) 4. de en exécution à en attente (E/S) 5. de en attente à prêt (E/S terminée) 6. libération des ressources 3.3 Fonctionnement de l ordonnancement Rectangle queue Cercle ressource

3.4 Comportement des processus L exécution d un processus consiste en un cycle d exécution de l UC et d attente des entrées/sorties. Les processus alterne entre ces deux états. L exécution d un processus commence par un cycle d UC, suivi d un cycle d entré/sortie et ainsi de suite. Le dernier cycle d UC finira par une requête au système pour terminer l exécution. 3.5 Algorithmes de l ordonnanceur L Ordonnanceur exécute un algorithme qui peut être : non-préemptif (sans réquisition): lorsqu un processus s exécute sur le processeur, il continue jusqu à ce qu il soit dans l état final ou qu il ait besoin d une autre ressource préemptif (avec réquisition): il alloue un certain temps CPU aux processus A) Politiques d allocation sans réquisition A.1) Premier arrivé, premier servi (FCFS : First-come, first-served) : On alloue l UC au premier processus qui la requiert. Implémentation de la queue des processus prêts par une file d attente gérée en FIFO. Trois processus P1, P2 et P3 qui arrivent au temps 0, avec la longueur du cycle d UC donnée en milliseconde. Processus Temps du cycle P1 24 P2 3 P3 3 Si l ordre d arrivée est: P1, P2, P3 : temps d attente: P1 = 0 ms; P2 = 24 ms; P3 = 27 ms temps d attente moyen: ( 0 + 24 + 27 ) / 3 = 17 ms

Si l ordre d arrivée est: P2, P3, P1 : temps d attente: P1 = 6 ms; P2 = 0 ms; P3 = 3 ms temps d attente moyen: ( 6 + 0 + 3 ) / 3 = 3 ms si les processus les plus courts passent en premier, le temps moyen d attente diminue inconvénient de FCFS: l attente peut être longue pour des processus de courte durée A.2) Travail plus court d abord (SJF, shortest job first): On alloue l UC au processus qui possède le prochain cycle d UC le plus petit. Si deux processus possèdent la même longueur, le scheduling FCFS est appliqué. Processus arrivée Temps du cycle P1 0 7 P2 2 4 P3 4 1 P4 5 4 Temps d attente moyen = (0 + 6 + 3 + 7)/4 = 4 Mais: on doit connaître (ou estimer) au départ les temps d exécution des processus SJF est optimale du point de vue temps d attente moyen d un ensemble de processus A.3) Allocation avec priorités - A chaque processus est associée une priorité - Les processus de priorité élevée sont exécutés d abord Processus Temps du cycle Priorité P1 10 3 P2 1 1 P3 2 3 P4 1 4 P5 5 2

- Supposons que les bas numéros représentent les priorités hautes et les processus sont arrivés à l instant 0 dans l ordre P1, P2, P3, P4, P5 P2 P5 P1 P3 P4 Temps d attente moyen = (0 +1 + 6 + 16 + 18)/5 = 8.2 millisecondes. B) Politiques d allocation avec réquisition B.1) Ordonnancement circulaire ou tourniquet (round robin «RR») - Le temps d allocation du processeur est découpé en tranches, nommées quantum (typiquement 10 ms 100 ms). - Le processeur gère une liste circulaire de processus. Chaque processus dispose d'un quantum de temps pendant lequel il est autorisé à s'exécuter. - Si le processus actif se bloque ou s'achève avant la fin de son quantum, le processeur est immédiatement alloué à un autre processus. - Si le quantum s'achève avant la fin du processus, le processeur est alloué au processus suivant dans la liste et le processus précédent se trouve ainsi en queue de liste. - La commutation de processus (overhead) dure un temps non nul pour la mise à jour des tables, la sauvegarde des registres. Un quantum trop petit provoque trop de commutations de processus et abaisse l'efficacité du processeur. Un quantum trop grand augmente le temps de réponse en mode interactif. Attention au choix du quantum - C est un ordonnancement FIFO, mais limité à une durée d exécution donnée Processus Temps du cycle P1 24 P2 3 P3 3 Temps d arrivée est 0 - Si nous utilisons un quantum de 4 ms : P1 P2 P3 P1 P1 P1 P1 P1 - Temps moyen d attente = ((0 +3 + 3) + 4 + 7)/3 =17/3 = 5.66 ms B.2) SJF+RR, avec réquisition

Processus Arrivée Temps du cycle P1 0 7 P2 2 4 P3 4 1 P4 5 4 Quantum = 2.0 Temps d attente moyen = (9 + 1 + 0 +4)/4 = 3.3 ms B.2) Temps restant le plus court d abord (Shortest Remaining-time-first) Quand un processus arrive pendant qu un processus précédent s exécute, le nouveau processus peut posséder le prochain cycle de l UC plus court que ce qu il reste au processus couramment en exécution et donc ce dernier est interrompu. Processus Arrivée Temps du cycle P1 0 8 P2 1 4 P3 2 9 P4 3 5 P1 P2 P4 P1 P3 Temps d attente moyen = ((10-1)+ (1-1) + (17-2) + (5-3))/4 = 26/4 = 6.5 ms B.3) Ordonnancement par priorité - dans l algorithme RR tous les processus ont une importance égale - si ce n est pas le cas, il faut introduire la notion de priorité entre processus - concrètement, cela revient à créer plusieurs queues de processus prêts (files d attente ordonnées par niveau de priorité) - l ordonnancement se fait à partir de la file non vide qui a le niveau de priorité le plus élevé et cela jusqu à ce que tous les processus de cette file soient exécutés - ensuite, l ordonnanceur passe à la file suivante jusqu à ce qu elle aussi soit vide - etc. Priorités dynamiques si le système est très chargé, les processus de faible priorité n obtiennent jamais le CPU (famine ou starvation)

pour pallier à ce défaut, la priorité doit être un paramètre dynamique qui permettra de changer le processus de file (files réactives) l ajustement dynamique de la priorité d un processus est calculé par l ordonnanceur Files réactives lorsqu un processus est créé, on lui attribue un niveau de priorité de base il entre dans la queue des processus prêts à son niveau de priorité et attend son tour (Round Robin) selon l usage qu il a fait du CPU, sa priorité peut être modifiée (à la baisse ou à la hausse) ou pas si un processus est rapidement suspendu suite à un I/O burst et qu il n a utilisé qu une petite fraction f de son quantum, sa priorité peut être élevée «proportionnellement» à 1/f il obtiendra à nouveau rapidement accès au processeur car il sera placé dans une file supérieure un algorithme de vieillissement (aging) sera appliqué aux processus qui attendent dans les files à basse priorité afin de les inclure dans des files de niveaux plus favorables Exemple des files d attente avec priorités différentes Chaque file d attente est absolument prioritaire par rapport aux files d attentes de priorités inférieures : Aucun processus de la file d attente des processus batchs ne pourra s exécuter à moins que les files d attente des processus système, interactifs et d édition interactive ne soient toute vides. Si un processus d édition interactive arrive pendant qu un processus batch s exécute, ce dernier sera interrompu. B.4) Autres algorithmes préemptifs multi-queues: l'ordonnanceur gère plusieurs politiques (c-à-d plusieurs queues) Exemple:

queue 1 (ou politique 1): round-robin queue 2 (ou politique 2): premier arrivé-premier servi (allocation du CPU uniquement si la queue 1 est vide) multi-queues avec feedback plusieurs queues (politiques) - les processus peuvent passer d'une queue à une autre queue 1: un processus peut y consommer au max 8 quantum de temps queue 2: moins prioritaire, un processus peut y consommer au max 16 quantum queue 3: la moins prioritaire, politique premier arrivé-premier servi a pour effet d avantager les processus courts