Systèmes d’exploitation
Les processus
Introduction
Concept de processus est le important dans un SE
Processus = abstraction d’un programme en cours d’exécution
Tous les ordinateurs modernes peuvent exécuter plusieurs tâches à la fois
(ex : programme en cours de calcul + affichage sur un terminal + impression)
MAIS le processeur, à un instant donné, n’exécute réellement qu’un seul
programme
Dans un système multiprogrammé, le processeur passe d’un programme à un autre
en exécutant chaque programme pendant quelques dizaines de millisecondes
impression de parallélisme
Ce parallélisme est qualifié de pseudo-parallélisme
Attention : ne pas confondre avec le parallélisme qui s’effectue au niveau matériel
(nécessite plusieurs processeurs)
Le contrôle de plusieurs activités en pseudo-parallélisme est une tâche difficile qui a
fait l’objet de nombreuses améliorations pour obtenir le modèle actuel
Le modèle des processus (1)
Un processus est un programme qui s’exécute et qui possède son
compteur ordinal, ses registres et ses variables
Conceptuellement, chaque processus a son propre processeur virtuel
En réalité, le processeur commute entre plusieurs processus
Cette commutation rapide est appelée multiprogrammation
Un seul compteur ordinal
A
B
C
D
Multiprogrammation
de 4 processus
Commutation
de processus ABCD
4 compteurs ordinaux
Modèle conceptuel de
4 processus séquentiels
indépendants
Temps
processus
D — —
C — —
B — —
A — —
Un seul programme
actif à un instant donné
Le modèle des processus (2)
Comme le processeur commute entre les processus, la vitesse
d’exécution d’un processus ne sera pas uniforme et variera
vraissemblablement si les mêmes processus sont exécutés à nouveau
Attention : Ne pas confondre programme et processus
(ex : confection d’un gâteau et piqûre d’abeille)
L’idée clé est qu’un processus est une activité d’un certain type qui
possède un programme, des données, en entrée et en sortie, ainsi
qu’un état courant
Un seul processeur peut être partagé entre plusieurs processus en se
servant d’un algorithme d’ordonnancement qui détermine quand il faut
suspendre un processus pour en servir un autre
Hiérarchie entre les processus
Les SE qui font appel au concept de processus doivent permettre de
créer et détruire dynamiquement les processus
2 exemples : Unix et MS-DOS
Unix :
Les processus sont créés par l’appel système fork
Le fork crée une copie conforme du processus appelant
À la suite du fork, le processus père continue à s’exécuter en « parallèle »
avec son fils
Le processus père peut créer d’autres fils et ces processus fils peuvent eux-
mêmes avoir des fils Arborescence de processus hiérarchie
MS-DOS :
Un appel système pour charger un fichier binaire en mémoire et l’exécuter en tant
que processus fils
Contrairement à Unix, MS-DOS suspend le père jusqu’à ce que le fils ai terminé
son exécution pas de pseudo-parallélisme
1 / 42 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !