Vous êtes sur la page 1sur 14

MINISTERE DE L’ENSEIGNEMENT SUPERIEUR Année-Universitaire 

: 2021-2022
ET DE LA RECHERCHE SCIENTIFIQUE

STIT313  : SYSTEMES D’EXPLOITATION

LES PROCESSUS
PROFESSEUR : M. AKOSSO
MEMBRE DU GROUPE :
KISSIEDOU Grâce
KODJO Anne
KONAN Emmanuel
N’DRI Frédéric
N’GUESSAN Marshall
SACKO
SOMMAIRE
INTRODUCTION……………………………………………………………..3

I. DEFINITIONS………………………………………………………3
1) Le processus
2) Le processus informatique

II. LES PROCESSEURS……………………………………………….3


1) Définition d’un processeur
2) Le rôle des processeurs

III. MULTI-TACHES ET PARRALLELISME .……………………….4


1) Problèmes dus au multi-tâches

IV. LES DIFFERENTS ETATS D’UN PROCESSUS………………….9


1) Les états standards
2) Les états particuliers

V. ORDONNANCEUR ET ORDONNANCEMENT DES


PROCESSUS……………………………………………………..…5
1) Ordonnancement à long terme
2) Ordonnancement à moyen terme
3) Ordonnancement à court terme
4) Ordonnancement FIFO
5) Ordonnancement SJF
6) Ordonnancement Round Robin
7) Ordonnancement à plusieurs files d’attente
8) Les critères d’ordonnancement des processus

VI. LES INFORMATIONS ATTACHEES A UN PROCESSUS………11

VII. QUELQUES COMMANDES SHELL DE MANIPULATION DES


PROCESSUS…………………………………………………………12

P a g e 2 | 14
INTRODUCTION
Le système d’exploitation est chargé d’assurer la liaison entre les
ressources matérielles, l’utilisateur et les applications. Il est chargé d’allouer les
ressources nécessaires aux processus et d’assurer que le fonctionnement d’un
processus n’interfère pas avec celui des autres.
De ce point de vue, nous pouvons déjà nous demander :
-Qu’est-ce qu’un processus ?
-Comment s’exécute-il ?
-Quels sont ses différents états ?

I. DEFINITIONS
1) Un processus
Un processus, en général, est un enchaînement ordonné de faits ou de
phénomènes, répondant à un certain schéma et aboutissant à un résultat attendu.
2) Un processus informatique
En informatique, un processus est la demande ou la requête au processeur
d’un programme informatique en cours d’exécution par une ou plusieurs tâches
d’un ordinateur. Cela signifie qu’un processus permet l’exécution de diverses
instructions par le processeur.

P a g e 3 | 14
II. LES PROCESSEURS

1) Définition
Un processeur est assimilé comme le cerveau de l’ordinateur. C’est une
pièce indispensable pour le fonctionnement des programmes ou encore
l’affichage de l’écran.

2) Le rôle du processeur
Le processeur sert à l’échange de données entre composants informatiques.
Il sert surtout à l’échange de données entre le disque dur, la carte graphique ou
la mémoire vive. Il permet donc d’interpréter, de coordonner et d’exécuter
différents programmes.

Un processeur n'est capable de traiter qu'un seul processus à la fois. Un


sous-ensemble du système d'exploitation, appelé ordonnanceur, organise les
tâches et les fait commuter tout à tour pour donner l'impression qu'elles
s'exécutent toutes simultanément.

P a g e 4 | 14
III. MULTI-TACHES ET
PARALLELISME
Dans un système d’exploitation multi-tâches, à un instant donné, plusieurs
tâches peuvent s’exécuter logiquement en parallèle. Ce parallélisme peut être :
• Réel : si l’ordinateur dispose d’au moins deux processeurs pouvant
exécuter simultanément deux activités : systèmes multiprocesseurs.
• Virtuel : pseudo-parallélisme : consistant en le repliage des activités de
plusieurs processeurs fictifs sur un seul processeur réel.

Le parallélisme peut être considéré comme l’activation de plusieurs


processus.
S’il y a autant de processeurs que de processus, le problème est simple, mais
habituellement il y a moins de processeurs que de processus. Si bien que le
parallélisme sera obtenu en basculant les processeurs d’un processus à l’autre. Si
le basculement est réalisé à des intervalles de temps suffisamment courts, le
système donne l’illusion du parallélisme.

1) Problèmes dus au multi-tâches


Le rôle principal d’un système d’exploitation multi-tâches est de répartir les
ressources (en particulier le processeur) entre un certain nombre de processus
progressant de manière concurrente. Cela pose un certain nombre de problèmes
que l’on peut classer en trois catégories :
 Problèmes liés à la compétition entre les processus pour l’obtention du
processeur. Le système doit donc définir une stratégie d’ordonnancement des
processus.

 Problèmes liés à la coopération entre processus contribuant à une tâche


globale. Cette coopération est généralement un échange d’informations ou de
signaux entre processus. Ces relations interprocessus doivent être prévues et
gérées par le système d’exploitation

P a g e 5 | 14
 Problèmes pouvant se produire lorsque plusieurs processus tentent d’utiliser
en exclusivité des ressources c’est le problème d’interblocage. Le système
doit alors adopter une politique de gestion de ressources lui permettant de
régler les conflits qui peuvent se présenter.

IV. LES DIFFERENTS ETATS D’UN


PROCESSUS
1) Etats standards

Ces états existent dans la plupart des systèmes d'exploitation :


 Initialisation (en anglais, created ou new) : C'est le premier état d'un
processus. Il y attend que l'ordonnanceur le place dans l'état prêt, ce
qui peut prendre plus ou moins longtemps. Généralement, dans les
ordinateurs de bureau, cela est automatique ; dans un système
d'exploitation temps réel, cette admission peut être reportée. En effet,
dans de tels systèmes, trop de processus en attente peuvent amenés à
une saturation, notamment des bus, entraînant l'incapacité du
système à tenir les délais.

 Prêt ou En attente (en anglais, ready, waiting ou runnable) : Dans


cet état, le processus a été chargé en mémoire centrale et attend son
exécution sur le processeur, c’est-à-dire une commutation de
contexte provoquée par l'ordonnanceur. Il peut y avoir beaucoup de
processus en attente car, sur un ordinateur équipé d'un seul
P a g e 6 | 14
processeur, les processus doivent passer un par un. Les processus
disponibles sont rangés dans une file ; les autres, ceux qui attendent
quelques chose (données provenant du disque dur, une connexion
internet, etc.) ne sont pas pris en compte. Cette file d'attente (ready
queue) est gérée par l'ordonnanceur.

 Elu ou Exécution : Le processus est en cours d'exécution par le


processeur.

 Endormi ou Bloqué : Le processus a été interrompu ou attend un


événement (la fin d'une opération d'entrée/sortie, un signal, ...).

 Terminé (en anglais, terminated) : Le processus est terminé, c'est-à-


dire soit le résultat est connu, soit le programme a été forcé de
s'arrêter.

2) Etats particuliers

 Zombie : Si un processus terminé ne peut pas être déchargé de la


mémoire, par exemple, si un de ces fils n'est pas terminé, il passe
dans un état appelé zombie.

 Swappé : Lorsque qu'un processus est transféré de la mémoire


centrale dans la mémoire virtuelle, il est dit « swappé ». Un
processus swappé peut être dans un état endormi ou prêt.

P a g e 7 | 14
 Préempté : L'ordonnanceur a décidé de suspendre l'activité d'un
processus. Par exemple, un processus qui consomme trop de temps
CPU finira par être préempté. Un ordonnanceur préemptif utilise
aussi l'indice de priorité (nice (Unix)) pour décider le processus qui
sera préempté.

 Exécution en espace utilisateur : L'exécution a lieu dans un espace


limité : seul certaines instructions sont disponibles.

 Exécution en espace noyau : Par opposition au mode utilisateur,


l'exécution du processus n'est pas limitée. Par exemple, un processus
dans cet état peut aller lire dans la mémoire d'un autre.

V. ORDONNANCEUR ET
ORDONNANCEMENT DES
PROCESSUS
Dans les systèmes d'exploitation, l’ordonnanceur est le composant du
noyau du système d'exploitation choisissant l'ordre d'exécution des processus sur
les processeurs d'un ordinateur.
Dans un traitement par lots, les processus attendent sur le disque dans une
file d'attente jusqu'à ce que l’ordonnanceur d'admission décide de les prendre en
charge.
Dans un système interactif à temps partagé, le système accepte en principe
toutes les requêtes de processus que les utilisateurs provoquent en lançant leurs
applications.
Une fois le processus admis dans le système, il n'en sort que lorsqu'il est
terminé ou s'il est détruit par le système d'exploitation suite à une erreur grave
ou à la demande de l'utilisateur (commande kill sous Unix ou via le gestionnaire
des tâches sous Windows).

P a g e 8 | 14
Les processus concurrents doivent se partager le processeur, la mémoire et
les entrées/sorties.

- Dans les systèmes anciens, les systèmes de traitement par lots mais aussi
les systèmes d'exploitation pas vraiment multitâches tels que Windows 9x,
l'ordonnancement était de type coopératif. L'ordonnanceur n'intervenait que
lorsque le processus en cours se terminait ou se bloquait. Ce système assez
sommaire convenait aux traitements par lots quand le temps de réponse n'avait
que peu d'importance.
- Actuellement, sur les systèmes interactifs multitâches, parfois même multi
utilisateurs et multi processeurs, l'ordonnancement doit être préemptif.
L'ordonnanceur ne peut laisser un processus monopoliser les ressources du
système et réquisitionne régulièrement le processeur pour en répartir la
disponibilité entre les processus qui simultanément sont prêts à être exécutés. La
politique suivie pour déterminer la manière d'ordonnancer les processus est
fonction de nombreux critères parfois contradictoires. Le fait de favoriser
certaines catégories de tâches peut en léser d'autres.

1) Ordonnanceur à long terme

L'ordonnanceur à long terme (en anglais "job schedulling")


(ordonnancement des travaux) décide des processus que le système peut mener
en parallèle. Ils doivent être assez nombreux pour que le processeur soit inactif
le plus rarement possible (quand tous les processus attendent des E/S) sans pour
autant être trop abondants et saturer la mémoire principale du système.

2) Ordonnanceur à moyen terme

L'ordonnanceur à moyen terme est assuré par l'ordonnanceur de mémoire


aussi appelé permutateur ou swapper. Son rôle est de permuter les processus
placés en mémoire et ceux qui, faute de place, ont été temporairement
entreposés sur le disque.
Ces permutations ne peuvent toutefois pas être trop fréquentes pour ne pas
gaspiller la bande passante des disques.

P a g e 9 | 14
3) Ordonnanceur à court terme

L'ordonnanceur à court terme aussi appelé dispacher, répartiteur ou


ordonnanceur du processeur choisit à quel processus sera alloué le processeur et
pour quel laps de temps.
Ces commutations des processus sont très fréquentes.

4) Ordonnancement FIFO (First In First Out)


Le processeur est attribué au premier processus arrivé.

5) Ordonnancement SJF (Short Job First)


Le processeur est attribué d’abord au processus demandant moins de temps
d’exécution ou le plus prioritaire. L’idée de cette méthode est de réduire le
temps moyen d’exécution des programmes et ce en exécutant les petits
programmes (exigeant le temps CPU le plus petit) avant les grands.

6) Ordonnancement Round Robin


Elle consiste à attribuer à chaque processus un quantum de temps pendant
lequel celui-ci s’exécute sur la CPU ; une fois le quantum est épuisé la main sera
donnée à un autre processus, puis éventuellement un autre puis à nouveau au

P a g e 10 | 14
premier de façon cyclique jusqu’à l’achèvement de tous les processus.

7) Ordonnancement à plusieurs files d’attente


Un nouveau processus est mis dans la file des 0.02s puis s’il obtient son
quota de traitement, il passe dans la file des 0.25s et enfin dans la file des 2s.
L’extraction d’un processus d’une file d’attente se fait à partir de la file non vide
de plus haute priorité. Tout processus interrompu est replacé dans la file
d’attente de priorité inférieure à celle dont il avait été extrait.

8) Les critères d’ordonnancement des processus

 L'utilisation intensive du processeur : Le système perd son efficacité si


le processeur passe trop de temps à attendre des E/S

 L'équité : Tous les processus doivent avoir la possibilité d'utiliser le


processeur. Nonobstant les priorités parfois indispensables, des processus
comparables doivent être traités avec les mêmes égards.

 Utilisation répartie de l'ensemble des ressources : En ne tenant compte


que de l'utilisation optimale du processeur, on risque de sous-utiliser
momentanément d'autres ressources que les processus devront se disputer
P a g e 11 | 14
ensuite. Une bonne stratégie consiste donc à évaluer et à bien répartir
l'emploi de l'ensemble des ressources.

Les critères suivants s’appliquent plus particulièrement aux systèmes de


traitement par lots :

 Le nombre de processus par unité de temps : Ce critère dépend


cependant de la longueur des processus.

 La durée de rotation : C'est le délai moyen entre l'admission du


processus et la fin de son exécution.

 Le temps d'attente : C'est le temps moyen qu'un processus passe à


attendre. Il s'obtient en soustrayant la durée d'exécution du processus de
sa durée de rotation. Cette durée est indépendante de la durée d'exécution
du processus lui-même.

Ces critères ne s’appliquent qu’aux systèmes interactifs :


 Le temps de réponse : C'est la vitesse de réaction aux interventions
extérieures. Les programmes d'avant-plan doivent pour cela avoir priorité
sur les tâches de fond.

 La prévisibilité : Un système qui d'habitude réagit rapidement aux


commandes mais qui parois prend un temps beaucoup plus long sera
perçu comme moins stable que s'il répondait à chaque fois dans un temps
comparable même s'il est globalement plus lent.
Le système semblera aussi plus convivial s'il respecte l'idée parfois
fausse que les utilisateurs se font de la complexité des tâches.

VI. LES INFORMATIONS


ATTACHEES AUX PROCESSUS
P a g e 12 | 14
Le système d’exploitation dispose de renseignements concernant un
processus :
- Le PID : numéro identificateur du processus ;
- Le PPID : numéro identificateur du processus père ;
- L’UID : numéro identificateur du propriétaire du processus ;
- Le numéro du groupe auquel appartenait le propriétaire du processus
(il peut appartenir à plusieurs groupe) ;
- L’heure et la date de création du processus ;
- Des statistiques sur les ressources (processeur, etc.) utilisées ;
- La taille mémoire actuellement utilisée par le processus (en distinguant
chaque composante : swap, tas, code, données, etc.).
- Un masque indiquant la sensibilité aux signaux ;
- Son état (en cours d’exécution, zombie, arrêté, suspendu, etc.) ;
- La priorité d’exécution.

VII. QUELQUES COMMANDES


SHELL DE MANIPULATION
DES PROCESSUS
L’interpréteur de commandes propose des commandes externes de gestion des
processus permettant :
- De récupérer de l’information :
 ps permet d’afficher l’ensemble des informations disponibles sur
l’ensemble des processus existant sur une machine. Cette commande
utilise le système de fichier /proc ;
 top encapsule des appels successifs à ps afin d’afficher l’évolution de
la communauté des processus ;

- D’agir sur les processus :

 at diffère temporellement l’exécution d’un processus ;


 batch diffère (suivant les ressources) l’exécution d’un processus ;
 Ctrl-z envois le signal de suspension au processus courant ;
 fg réactive le processus suspendu en avant plan ;
P a g e 13 | 14
 bg réactive le processus suspendu en arrière-plan ;
 kill permet d’envoyer l’ensemble des signaux à un processus.

P a g e 14 | 14

Vous aimerez peut-être aussi