Академический Документы
Профессиональный Документы
Культура Документы
Ordonnancement
Communication et synchronisation
Les processus
Julien Forget 1
Universit Lille 1 cole Polytechnique Universitaire de Lille Cit Scientique 59655 Villeneuve dAscq
Notions de base
Ordonnancement
Communication et synchronisation
Plan
Notions de base
Ordonnancement
Les processus 2 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Programme et processus
Dnition Un processus est un programme en cours dexcution.
Chaque excution dun programme (ventuellement plusieurs fois le mme) donne lieu un processus diffrent ; A tout instant, un processeur excute au plus un processus ; Dans un OS multi-tches, le systme alterne entre lexcution de plusieurs processus ; Seuls les systmes multi-cur ou multi-processeur excutent rellement plusieurs processus en mme temps (un par cur/processeur) ; Plus gnralement, les processus partagent laccs diffrentes ressources : processeur mais aussi mmoire et priphriques.
Les processus 3 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Les processus 4 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Cration de processus
En Unix :
Au lancement du systme, un unique processus ; Lappel systme fork cre un nouveau processus ; Le processus pre et le processus ls sexcutent en parallle ; Le pre et le ls peuvent nouveau effectuer un fork ; Hirarchie arborescente de processus.
Notions de base
Ordonnancement
Communication et synchronisation
Mode dexcution
Les appels systmes permettent un processus en mode utilisateur daccder (temporairement) des fonctions ncessitant le mode noyau.
Les processus 6 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Les processus 7 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Les processus 8 / 58
Notions de base
Ordonnancement
Communication et synchronisation
non cr : le code nest pas en mmoire ; cr : le code est en mmoire, en attente dactivitation ; ligible : lactivation a t demande. En attente de laccs au processeur ; lu : le processus sexcute ; suspendu : une ressource est indisponible (alloue un autre processus).
Les processus 9 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Premption
1
Le systme interrompt lexcution dun processus pour en excuter un autre (ressource indisponible, processus prioritaire, etc.) ; Il sauve le contexte du processus et le remplace par celui dun autre ; Il rtablira plus tard le contexte du processus prempt.
Contexte dun processus : valeur du compteur ordinal, adresse de la pile, valeur des registres, etc.
Les processus 10 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Les processus 11 / 58
Notions de base
Ordonnancement
Communication et synchronisation
MS-DOS : mono-utilisateur, mono-tche ; Windows : mono-utilisateur, multi-tche ; WinNT : mono-utilisateur, multi-tche premptif ; UNIX : multi-utilisateur, multi-tche premptif.
Les processus 12 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Les processus 13 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Les processus 14 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Les processus 15 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Les processus 16 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Connatre les processus lancs en arrire plan (pour un shell donn) : jobs
Les processus 17 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Les processus 18 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Les processus 19 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Plan
Notions de base
Ordonnancement
Les processus 20 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Dnition
Lordonnancement (scheduling) est une fonction fondamentale dun systme dexploitation ; A la base de la programmation multi-tche :
Plusieurs processus en mmoire en mme temps ; Assignation du processeur un processus en fonction de certains critres ;
Les processus 21 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Ordonnanceur vs dispatcher
Lordonnanceur est responsable de lorganisation des le dattente des tches ligibles ; Le dispatcher ralise llection dun processus et le changement de contexte associ.
Les processus 22 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Dcisions de lordonnanceur
Les dcisions de lordonnanceur peuvent avoir lieu dans les circonstances suivantes :
1
Quand un processus passe de ltat "lu" "suspendu" (attente de disponibilit dune ressource) ; Quand un processus passe de ltat "lu" ltat "ligible" ( cause dune interruption) ; Quand un processus passe de ltat "suspendu" ltat "ligible" (libration dune ressource) ; Quand un processus se termine.
Les processus 23 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Rquisition
Les processus 24 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Qualit de lordonnancement
Les processus 25 / 58
Notions de base
Ordonnancement
Communication et synchronisation
First Come, First Serve cest le plus simple gestion dune le FIFO une fois le processeur allou un processus celui-ci le garde . . . peu utilisable pour le temps partag dsastreux si le processus en excution ne se termine pas
Les processus 26 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Exercice
Processus P1 P2 P3 P4 Questions :
Un processus peut-il tre prempt ? Que faire en cas dgalit ? Donner lordonnancement en mono puis bi-processeur.
Arrive 20 0 10 10
Dure 10 30 40 20
Les processus 27 / 58
Notions de base
Ordonnancement
Communication et synchronisation
les temps dexcutions des tches sont supposs connu technique favorisant les traitements courts en cas de charge, le temps de rponse des traitements longs sera catastrophique
Les processus 28 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Exercice
Processus P1 P2 P3 P4 Questions :
Arrive 20 0 10 10
Dure 10 30 40 20
Les processus 29 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Les processus 30 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Le tourniquet : exemple
Les processus 31 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Les processus 32 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Exercice
Processus P1 P2 P3 P4 Arrive 20 0 10 10 Dure 10 30 40 20
On considre un quantum de 10 :
Un processus peut-il tre prempt ? A-t-on une notion de priorit ? Donner lordonnancement en mono-processeur.
Les processus 33 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Par priorit
attribution dune priorit chaque processus priorit alloue statiquement ou dynamiquement sans ou avec rquisition du processeur
sans : le processus est rang en le dattente en fonction de sa priorit par rapport aux processus en attente avec : si le processus qui arrive dans la le dattente est plus prioritaire que celui en cours dexcution, il y aura rquisition du processeur en faveur du processus arrivant.
Les processus 34 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Exercice
Processus P1 P2 P3 P4 Arrive 20 0 10 10 Dure 10 30 40 20 Priorit 4 1 3 2
Les processus 35 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Les processus 36 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Exercice
Processus P1 P2 P3 P4
Arrive 30 0 10 10
Dure 10 30 40 20
Priorit 3 1 2 2
Les processus 37 / 58
Notions de base
Ordonnancement
Communication et synchronisation
les processus sont lus en fonction de leur priorit ; chaque priode dhorloge (tick ), la priorit des processus en attente augmente ; si un processus devient plus prioritaire que celui en cours dexcution, alors il y a premption et le processus interrompu revient en le dattente avec sa priorit initiale.
Les processus 38 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Les processus 39 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Plan
Notions de base
Ordonnancement
Les processus 40 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Processus communicants
Les processus concurrents dun systme dexploitation peuvent tre :
Indpendants : les traitements quils effectuent ne sont pas lis ; Communicants : les processus ont besoin dchanger des donnes.
Notions de base
Ordonnancement
Communication et synchronisation
Les processus 42 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Exclusion mutuelle
Il faut interdire laccs simultan une ressource partage ; On parle dexclusion mutuelle entre processus concurrents ; Lexclusion mutuelle ne concerne quune portion de lexcution des processus : les sections critiques ; Il faut assurer que :
On na jamais deux processus simultanment en section critique ; La solution ne dpend pas de la vitesse relative des processus ; Un processus suspendu hors section critique ne bloque pas les autres ; Tout processus nit par rentrer en section critique.
Les processus 43 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Notions de base
Ordonnancement
Communication et synchronisation
Le processus n rentre en section critique si tour = n ; En n de section critique il indique que cest le tour de lautre processus ; Problmes :
Attente active ; Un processus (P1) peut bloquer lautre (P2) sans tre (P1) en section critique. Ex : si la section non critique de P1 est trs longue.
Les processus 45 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Les smaphores
Proposs en 1965 par E.W. Dijsktra ; Un smaphore est un compteur muni de deux oprations :
P(s)/wait(s) (prendre) : Si cpt(s) > 0 alors cpt(s) = cpt(s)-1 Sinon processus mis en attente de s V(s)/signal(s) (rendre) : cpt(s)=cpt(s)+1 liberer un processus en attente de s
Les processus 46 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Les processus 47 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Smaphore compte
Exemple : un consommateur et plusieurs producteurs ; Smaphore compte : cpt (s) varie entre 0 et un certain n (ici, n = 6).
Les processus 48 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Les processus 49 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Les processus 50 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Interblocage
Soit deux processus P0, P1, tels que P0 est plus prioritaire que P1 et P0 commence un peu plus tard que P1.
1 2
P1 excute wait(s2), qui est alors non bloquant. A ce moment, P1 est interrompu par P0 qui excute wait(s1) (non bloquant) puis wait(s2) (bloquant !). P1 reprend donc la main et excute wait(s1) (bloquant aussi !) Interblocage : les processus sattendent mutuellement.
Les processus 51 / 58
3 4
Notions de base
Ordonnancement
Communication et synchronisation
Notions de base
Ordonnancement
Communication et synchronisation
Notions de base
Ordonnancement
Communication et synchronisation
Les processus 54 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Les processus 55 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Les processus 56 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Avantages :
Economise la mmoire ; Pas de pertes de donnes.
Les processus 57 / 58
Notions de base
Ordonnancement
Communication et synchronisation
Rseau imparfait possibilit de perte de message ; Ct producteur : sassurer que le message est bien arriv (acquittement) ; Ct consommateur, si aucune donne narrive :
Continuer avec une donne ancienne ? Attendre larrive dune nouvelle donne ?
Les processus 58 / 58