34
SYSTÈMES D’EXPLOITATION (SE) ORDONNANCEMENT DES PROCESSUS Dr. Jihène Tounsi ISG de Sousse Site web http://www.jihenetounsi.com Email: [email protected]

Systèmes d’exploitation (SE) - jihenetounsi.com · Définition (L. Baccouche, 2005) ... Transition entre mode d’exécution (esclave / maître) ... Rôle de l’algorithme 17

  • Upload
    dokien

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

SYSTÈMES D’EXPLOITATION (SE)

ORDONNANCEMENT DES

PROCESSUS

Dr. Jihène Tounsi ISG de Sousse

Site web http://www.jihenetounsi.com

Email: [email protected]

Cours développé par Dr. Jihène Tounsi

Plan 2

Introduction aux SE

L’ordonnancement

Ordonnancement sans réquisition

Ordonnancement avec réquisition

Bilan et exemples

Cours développé par Dr. Jihène Tounsi

Structure matérielle d’un ordinateur

• Ensemble de registres

• Compteur Ordinal

• Registre d’instruction

• Accumulateur

• Exécution des instructions machine

• Espace de stockage des programmes à exécuter et

des données

• Périphériques d’Entrées / Sorties

Cours développé par Dr. Jihène Tounsi

Structure d’un système informatique

Instruction machine

Systèmes d’exploitation (noyau)

Applications (web, mail, ftp, java…)

Utilitaires et bibliothèques

Cours développé par Dr. Jihène Tounsi

Définition (L. Baccouche, 2005)

Un SE est une couche d’interface entre la machine et

l’utilisateur conçue afin de gérer les composants de

l’ordinateur (ressources) en masquant la complexité

du matériel et en offrant un environnement de

programmation convivial (interface graphique).

Cours développé par Dr. Jihène Tounsi

Fonctions d’un Système d’exploitation

Transition entre mode d’exécution (esclave / maître)

Allocation du processeur

Gestion des processus

Gestion de la mémoire virtuelle

Gestion des Fichiers

Gestion des E/S

Cours développé par Dr. Jihène Tounsi

Le concept « Processus »

Processus = un programme en cours d’exécution

Il utilise les ressources matérielles et logicielles

__________

_

Programme

enregistré sur

disque dur

Programme chargé

en mémoire centrale

Processus créé par le

système d’exploitation afin

d’exécuter le programme

Exécution du programme par le

processeur

Cours développé par Dr. Jihène Tounsi

Le concept « Processus »

Un programme est une description statique

Un processus est une description dynamique

Il englobe le programme

Il a un début, un déroulement et une fin.

Il a un état qui évolue au cours du temps

Etat Contexte Processus

Cours développé par Dr. Jihène Tounsi

Etat d’un processus

Élu

Prêt Terminé

Bloqué

Demande d’une ressource

Exécution par le CPU

Ressource obtenue

Retour file d’attente

Tâche interrompue

Tâche terminée

Ordonnanceur

Zombie

Création

Processus

Cours développé par Dr. Jihène Tounsi

Etat d’un processus

Élu (en exécution) Au cours d’exécution dans le processeur

Prêt (éligible) Le processus est prêt à être exécuté par le système d’exploitation

Bloqué (en attente) Le processus attend la libération d’une donnée ou d’une ressource.

Le processus a fini sa tâche et attend une autre commande

Zombie (en attente) Le processus a fini sa tâche et attend la fin de ses fils (les processus

qu’il a créés lors de son exécution).

Terminé Le processus a terminé son exécution au niveau du système

d’exploitation

Cours développé par Dr. Jihène Tounsi

Contexte d’un processus

Toutes les informations concernant le processus

L’espace d’adressage Le segment code

Le segment des données

La pile

Le tas

Les données de contrôle par le système Le compteur ordinal

Le contenu des registres généraux

Les registres d’espace mémoire (@ début et @ fin)

Le registre d’état du processus

D’autres informations : valeur horloge, permission, priorité, etc.

Pile

Tas

Texte

Données

Cours développé par Dr. Jihène Tounsi

Commutation de contexte

Enregistrer Contexte P1

Charger Contexte P2

Enregistrer Contexte P2

Charger Contexte P1

P1 P2

Exécution

Exécution

Exécution

Système d’exploitation

Une commutation de contexte prend lieu entre l’état prêt et élu

Cours développé par Dr. Jihène Tounsi

Plan 13

Introduction aux SE

L’ordonnancement

Ordonnancement sans réquisition

Ordonnancement avec réquisition

Bilan et exemples

Cours développé par Dr. Jihène Tounsi

Les concepts de base pour un

processeur mono-coeur 14

Un ordonnanceur (scheduler ou dispatcher): un

programme qui gère l’ordre de passage des

processus dans le processeur (CPU).

Une file d’attente qui va accueillir les processus

prêts

L’algorithme d’ordonnancement (politique ou

approche) se traduit par un ensemble de règles

pour organiser ou ordonner les processus

Cours développé par Dr. Jihène Tounsi

Les concepts de base pour un

processeur multi-cœur 15

Un ordonnanceur par cœur: un programme qui gère l’ordre de

passage des processus dans le processeur (CPU).

Une file d’attente qui va accueillir les processus prêts pour tous

les cœurs.

L’algorithme d’ordonnancement : généralement les

ordonnanceurs respectent certaines règles (priorité et non

fréquemment élu)

Dans le multi-cœur il y a toujours un CPU master (généralement

le core 1) qui lance les autres cœurs en basse consommation

d’énergie.

Cours développé par Dr. Jihène Tounsi

Mécanismes de fonctionnement

classique 16

1. L’ordonnanceur ordonne la file « prêt » selon

l’algorithme adopté par le SE et ceci dès l’arrivée

d’un processus à la file.

2. L’ordonnanceur sélectionne un processus à exécuter

(tête de la file)

3. À la fin de l’exécution d’un processus,

l’ordonnanceur est sollicité pour faire sortir le

processus en cours et sélectionner un nouvel élu

C’est une commutation de contexte = changement de

l’élu dans un CPU

Cours développé par Dr. Jihène Tounsi

Rôle de l’algorithme 17

O.Dalle : « Décider de l’allocation de la ressource

aux entités qui l’attendent, de sorte à atteindre

certains objectifs. »

Entités

Un processus

Une file d’exécution à l‘intérieur d’un processus

Ressource: le processeur

Objectif : aboutir à un partage efficace du temps

d’utilisation

Efficace? Comment?

Cours développé par Dr. Jihène Tounsi

Critères de l’efficacité 18

Respect des priorités Le SE accorde des priorités aux différents processus (pas

tous les algorithmes)

La priorité peut être statique ou dynamique

Respect de l’équité Deux processus ayant le même niveau de priorité doivent

pouvoir utiliser le processeur (CPU) aussi souvent l’un que l’autre

Pas de famine Tout processus doit pouvoir utiliser le CPU. Pas d’attente à

l’infini.

Cours développé par Dr. Jihène Tounsi

Les Métriques de l’efficacité 19

Le rendement d’un système Débit =

Le temps de rotation (T.R) ou service (T.S) : durée moyenne qu’il faut pour qu’un processus s’exécute. Le temps de rotation d’un processus comprend tout le temps que celui-ci passe dans le système y compris dans l’état prêt.

T.S=

T.Smoyen =

Le temps d’attente (T.A) : est le temps passé dans la file des processus (prêts) T.A=

T.Amoyen =

Cours développé par Dr. Jihène Tounsi

Classification des algorithmes

d’ordonnancement 20

Sans réquisition : c’est au processus de lâcher

volontairement la ressource

Politique « FIFO » (First in First out)

Politique « PCTU » (Plus court temps d’utilisation du CPU) ou

SJF (Shortest Job First)

Avec réquisition : l’ordonnanceur peut récupérer la

ressource d’un processus au profit d’un autre

Politique du « SRT » (le plus court temps restant)

Politique du « Tourniquet » ou Round Robin

Politique « préemptif » (avec priorités)

Priorité statique

Priorité dynamique

Cours développé par Dr. Jihène Tounsi

Exemple d’application 21

Cet exemple servira de support pour développer

les algorithmes d’ordonnancement.

Processus Date

d’arrivée

Durée

d’exécution

(ms)

Priorité

P1 0 3 1

P2 0 5 3

P3 0 2 2

P4 0 6 5

P5 0 4 4

Cours développé par Dr. Jihène Tounsi

Plan 22

Introduction

Ordonnancement sans réquisition

Ordonnancement avec réquisition

Bilan et exemples

Cours développé par Dr. Jihène Tounsi

Politique FIFO 23

Allocation dans l’ordre d’arrivée : premier arrivée=

premier servi

Inconvénient : défavorise les entités ayant besoin

d’utiliser la ressource pendant un court laps de

temps.

Temps moyen de traitement élevé

Pas d’équité

Cours développé par Dr. Jihène Tounsi

Politique PCTU ou SJF 24

Allocation selon la durée d’exécution du processus.

La sélection se fait sur la base du plus court temps.

Inconvénient

Pas réaliste : exige de connaître dès le départ le temps

d’exécution

Famine (privation): les processus avec une durée longue

peuvent attendre indéfiniment

Avantage

temps d’attente et de réponse plus faible

Cours développé par Dr. Jihène Tounsi

Plan 25

Introduction

Ordonnancement sans réquisition

Ordonnancement avec réquisition

Bilan et exemples

Cours développé par Dr. Jihène Tounsi

La politique SRT 26

Allocation selon la durée d’exécution restante du

processus. La sélection se fait sur la base du plus

court temps.

Si le processus arrivant dans la file a un temps d’exécution

plus court que le temps restant du processus dans le CPU; ce

dernier est arrêté en faveur du nouveau.

Inconvénient

Famine (privation): les processus avec une durée longue

peuvent attendre indéfiniment

Cours développé par Dr. Jihène Tounsi

La politique du Tourniquet 27

Chaque processus s’exécute au maximum pendant

une tranche de temps fixe (quantum)

La ressource est allouée à l’entité en tête de la file,

pour une durée d’au maximum un quantum.

À la fin du quantum,

Soit, le processus est interrompu et replacé à la fin de

la file s’il a encore un temps restant d’exécution

Soit, Le processus part vers l’état attente pour

traitement (en veille) ou l’état terminé

Cours développé par Dr. Jihène Tounsi

La politique du Tourniquet 28

Quantum ni trop court

Le processus passe son temps à charger et décharger les

processus (temps de commutation est trop long)

Temps de réponse est trop grand.

…Ni trop long

L’illusion de l’exécution parallèle s’estompe

Cours développé par Dr. Jihène Tounsi

La politique priorité statique 29

La ressource est utilisée par le processus ayant la plus grande priorité.

La priorité est un nombre fixe attribué à chaque processus par le SE.

Les processus sont classés par ordre décroissant des priorités

Dans notre module, la classe1 est la priorité la plus haute

Le processus élu peut être interrompu par un processus de priorité plus importante

Cours développé par Dr. Jihène Tounsi

La politique priorité dynamique 30

Problème de la priorité statique: famine des entités de faible priorité

Solution : ajustement dynamique des priorités après un quantum ou un tic horloge (Priorité dynamique)

Une file par priorité.

Un processus ayant obtenu sa ressource pendant un quantum se voit sa priorité diminuer.

Un processus interrompu sans avoir fini son quantum garde la même priorité.

Conséquence : beaucoup de changement dans les files (1 file par priorité)

Cours développé par Dr. Jihène Tounsi

Plan 31

Introduction

Ordonnancement sans réquisition

Ordonnancement avec réquisition

Bilan et exemples

Cours développé par Dr. Jihène Tounsi

Bilan 32

Beaucoup d’algorithme d’ordonnancement

Les algorithmes classiques (présents dans le

cours) peuvent être mixés pour donner naissance

à une nouvelle politique.

L’ordonnanceur peut adopter un algorithme

différent pour chaque ressource

Pas d’algorithme idéal. Le choix dépend des

attentes et des besoins

Cours développé par Dr. Jihène Tounsi

Exemple 1 (Examen Mai 2011) 33

Processus Temps dans le

processeur (ms)

Instant

d’arrivée

Priorité

P1 3 0 3

P2 3 0 1

P3 4 4 3

P4 2 4 4

P5 1 5 2

1/ Pour chacune des politiques d’ordonnancement suivantes, dessinez le graphique

d’exécution et calculez le temps d’attente moyen et le temps de service moyen :

Politique FIFO (First In First Out)

Politique PCTU (Plus Court Temps d’utilisation du CPU)

Politique Préemptif (la priorité 1 est la plus haute)

Politique SRT (temps restant le plus court)

Politique du Tourniquet avec un quantum de 2 ms.

2/ Quelle politique est la plus optimale ? Expliquez.

Cours développé par Dr. Jihène Tounsi

Exemple 2 (Examen Juin 2011) 34

Processus Temps dans le

processeur (ms)

Instant

d’arrivée

Priorité

P1 4 0 1

P2 3 0 1

P3 4 0 2

P4 2 0 4

P5 3 0 3

1/ Pour chacune des politiques d’ordonnancement suivantes, dessinez le graphique

d’exécution et calculez le temps d’attente moyen et le temps de service moyen :

Politique FIFO (First In First Out)

Politique PCTU (Plus Court Temps d’utilisation du CPU)

Politique Préemptif (la priorité 1 est la plus haute)

Politique SRT (temps restant le plus court)

Politique du Tourniquet avec un quantum de 2 ms.

2/ Quelle politique est la plus optimale ? Expliquez.

3/ Refaire le même exercice (Q 1 et Q 2) en supposant que le changement de

contexte dure 1 unité de temps.