• Aucun résultat trouvé

Qu’est-ce qu’un processus?

N/A
N/A
Protected

Academic year: 2022

Partager "Qu’est-ce qu’un processus?"

Copied!
13
0
0

Texte intégral

(1)

Architecture des Ordinateurs et Systèmes d’Exploitation

Cours n°10 Les Processus :

Introduction / Ordonnancement Les processus sous Unix

Ph. Leray 3ème année

(2)

Qu’est-ce qu’un processus?

Processus = unité d’exécution (unité de partage du temps processeur et de la mémoire)

Processus ≠≠≠≠ Programme :

un programme peut être exécuté plusieurs fois et se trouver dans plusieurs unités d’exécution en même temps

le processus doit connaître à chaque instant

» le code du programme

» le pointeur d’instruction

» l’état de la pile

» les variables

on peut conserver un processus en changeant le code qu’il exécute

Le SE doit ordonnancer les processus (scheduler)

(3)

Les différents états d’un processus

Un processus peut être dans 3 états possibles :

élu (en cours d’exécution)

processus OK, processeur OK

prêt (suspendu provisoirement pour qu’un autre processus s’exécute) processus OK, processeur occupé

bloqué (attendant un événement extérieur pour continuer) processus non OK, même si processeur OK

élu

bloqué prêt

blocage (attente de données)

réquisition

(par l’ordonnanceur)

relance

(par l’ordonnanceur)

déblocage

(4)

Ordonnancement des processus

Plusieurs processus sont prêts à être exécutés

Le SE doit faire un choix … (algorithme d ’ordonnancement) :

équité : chaque processus doit avoir du temps processeur

efficacité : le processeur doit être utilisé à 100%

temps de réponse : l ’utilisateur devant sa machine ne doit pas trop attendre

temps d’exécution : une séquence d’instructions ne doit pas trop durer

rendement : il faut faire le plus de choses en une heure

Ordonnancement sans réquisition:

un processus est exécuté jusqu’à la fininefficace et dangereux (ex: exécution d’une boucle sans fin…)

Ordonnancement avec réquisition :

à chaque signal d ’horloge, le SE reprend la main, décide si le processus courant a consommé son quota de temps machine et alloue

éventuellement le processeur à un autre processus

il existe de nombreux algorithmes d’ordonnancement avec réquisition

(5)

Ordonnancement circulaire (tourniquet)

Chaque processus possède un quantum d’exécution

Si le processus a fini dans cet intervalle : au suivant !

S’il n’a pas fini : le processus passe en fin de liste et au suivant !

Problème = réglage du quantum :

quantum trop petit / commutation (= temps de passage d’un

processus à l’autre) : le processeur passe son temps à commuterquantum trop grand : augmentation du temps de réponse d’une

commande (même simple)

réglage correct: Quantum/commutation = 5

Exemple :

B F D A

Processus courant

Processus suivant

F D A B

Processus courant

À la fin de son quantum, B n’a pas fini:

il est remis en fin de liste

(6)

Ordonnancement avec priorité

Inconvénient du tourniquet = processus de même priorité

Ordonnancement avec priorité :

plusieurs files d’attente plus ou moins prioritaires

la priorité d’un processus décroît au cours du temps pour ne pas bloquer les autres files d’attente

B F D A

C E

H I G

Priorité 3

Priorité 2

Priorité 1

(7)

Ordonnancement «plus court d’abord»

Les algorithmes précédents marchent bien pour les processus interactifs.

Ordonnancement «plus court d’abord» :

estimation de la durée de chaque processus en attenteexécuter le processus le plus court

Méthode optimale si les processus sont disponibles immédiatement B

8

F 4

D 4

A 4 F

4

D 4

A 4

B 8

• sans ordonnancement :

Tmoyen = 1/4 (Tb+Tf+Td+Ta) = 14 avec Tb=8, Tf=8+4,

Td=8+4+4, Ta=8+4+4+4

• avec ordonnancement :

Tmoyen = 1/4 (Tf+Td+Ta+Tb) = 11 avec Tf=4, Td=4+4,

Ta=4+4+4, Ta=8+4+4+4

(8)

Ordonnancement garanti

Approche différente des précédentes

Garantie de service à l’utilisateur

Principe :

si n utilisateurs connectés, chacun reçoit 1/n du temps processeur (Tréservé)

Pratique :

pour chaque processus, calcul de ratio = Tconsommé/Tréservéexécution du processus de ratio le plus faible jusqu’au

moment où celui-ci arrive au niveau d’un autre processus

(9)

Unix et les processus : avant-propos

Exécution d’une commande :

Exécution de plusieurs commandes :

C1 ; C2 ; C3 ; … (commandes indépendantes exécutées à la suite)

Redirections :

commande < fichier1

commande > fichier2 (>>) commande >& fichier3 (>>&)

Connexions :

ex: who>temp ; wc -l < temp ; rm temp (| = tube = pipe) who | wc -l (stdout1 = stdin2)

Ex° conditionnelle :

c1 && c2 (exécute c2 ssi c1 réussit) c1 || c2 (exécute c2 ssi c1 échoue)

Commande stderr

stdout stdin

(10)

Caractéristiques des processus

Processus fils / père :

ex : Le shell est un processus comme les autres

Chaque commande exécutée correspond à la création d’un processus « fils » par rapport au shell (« père »)

Sous Unix, chaque processus est identifié par :

» PID (Processus Identifier)

» PPID (Parent Processus Identifier)

2 types de processus :

processus systèmes (daemons)

exécution de tâches générales, souvent contrôlées par rootprocessus utilisateurs

(11)

Modes d’exécution 1/2

Interactif (foreground) :

more /etc/passwd

le plus fréquent (on tape une commande, on attend un résultat, …)

interruption de la commande par CTRL Csuspension de la commande par CTRL Z

Arrière-plan (background) :

grep leray /etc/passwd > f &

la commande est lancée, mais on rend le contrôle à l’utilisateurpas d’interaction avec l’utilisateur

Exécution d’une commande = job Avt-plan Arr-plan

Suspendu Commande

Commande &

fg bg

fg

CTRL

z stop

(12)

Modes d’exécution 2/2

Différé (at)

le fichier de commandes est exécuté à une date fixéepas d’interaction avec l’utilisateur

les résultats peuvent être envoyés à l’utilisateur par e-mail !

File d’attente (batch)

la commande est placée dans une file d’attente

la file d’attente est vidée en fonction de la charge du processeurles résultats peuvent être envoyés à l’utilisateur par e-mail !

Cyclique (crontab)

un fichier spécial contient les tâches à exécuter régulièrementun daemon scrute sans arrêt ce fichier

(13)

Références

Processus : généralités Processus : généralités

Systèmes d’Exploitation - A. Tanenbaum (InterEditions)

Gestion de processus : UNIX/

Gestion de processus : UNIX/LinuxLinux : :

La programmation Unix - J.M. Rifflet (Ediscience)

UNIX : Guide de l’étudiant - H. Hahn (Dunod)

Linux in a nutshell - E. Siever (O ’Reilly)

A suivre : A suivre :

TD n°10 : Ordonnancement de Processus

TP n°10 : Processus sous Unix

Cours n°11 : Communication inter-Processus

TP n°11 : Communication inter-Processus (C | Unix)

Cours n°12 : Interblocage

Références

Documents relatifs

Afin de nous aider à redécouvrir le goût de la rencontre de l’autre, et pour nous rendre une place sur le chemin commun, le Pape François souhaite engager toute l’Eglise dans

Le rapport 2010 du PNUD propose un nouveau calcul de l'IDH : les trois dimensions qui entrent dans le calcul de l'indice composite restent les mêmes (santé, éducation, niveau de

Les économistes américains Akerlof et Shiller reprennent la notion d’« esprits animaux » de Keynes et l’élargissent à toutes les motivations psychologiques qui

Le système optique centré ainsi formé est placé dans l’air d’indice 1 (Figure 2 )?. Les conditions de l’approximation de Gauss

Bousculé, apostrophé, harcelé, l'auditeur ne sait plus si le bulletin météorologique qui annonce la neige a trait à la journée d'hier ou à celle de demain ; et il se retrouve en

Pour repérer la thèse défendue, il convient tout d'abord de trouver le thème du texte.. On peut ensuite chercher le jugement ou le sentiment du locuteur à propos de

Ex 13 : Ecrire une équation de

Techniquement, lorsque vous vous projetez en temps réel dans le monde physique, comme lors d'une EHC, vous êtes en fait à la limite de la zone tampon entre les dimensions physique