Vous êtes sur la page 1sur 24

Système d’exploitation L1 TIC 2022/2023 Nour kachroud

Les processus

Nour_Kachroud@hotmail.com

12/5/2022 L1 TIC : Systéme d'exploitation 1


Introduction
Lesson overview

✓ Un processus est essentiellement un programme en cours d'exécution.


✓ Pour faire simple, nous écrivons nos programmes informatiques dans
un fichier texte et lorsque nous exécutons ce programme, cela devient
Learning objectives
un processus qui exécute toutes les tâches mentionnées dans le
programme.

✓ Lorsqu'un programme est chargé dans la mémoire et qu'il devient un


processus, il peut être divisé en quatre sections : pile, tas, texte
et données. L'image suivante montre une disposition simplifiée d'un
processus dans la mémoire principale.

12/5/2022 L1 TIC : Systéme d'exploitation 2


Introduction
Lesson overview

✓ Section de texte(text) : un processus, parfois appelé


section de texte, comprend également l'activité en
cours représentée par la valeur de la Compteur de
Learning objectives
programme.
✓ Pile(stack) : la pile contient des données
temporaires, telles que des paramètres de fonction,
des adresses de retour et des variables locales.
✓ Section de données(data) : contient la variable
globale.
✓ Section Tas(heap) : mémoire allouée dynamiquement à
traiter pendant son exécution.
12/5/2022 L1 TIC : Systéme d'exploitation 3
Program

✓ Un programme est un morceau de code qui peut être une seule ligne ou
des millions de lignes.
✓ Un programme informatique est généralement écrit par un programmeur
Learning objectives
informatique dans un langage de programmation.

Par exemple, voici un programme simple écrit en langage de


programmation C :

#include <stdio.h>
int main()
{ printf("Hello, World! \n");
return 0; }
12/5/2022 L1 TIC : Systéme d'exploitation 4
Program

✓ Un programme informatique est un ensemble d'instructions qui


exécutent une tâche spécifique lorsqu'elles sont exécutées par un
ordinateur. Lorsque nous comparons un programme à un processus,
nous
Learning pouvons conclure qu'un processus est une instance dynamique
objectives

d'un programme informatique.

✓ Une partie d'un programme informatique qui exécute une tâche bien
définie est appelée algorithme. Un ensemble de programmes
informatiques, de bibliothèques et de données connexes est appelé
logiciel.

12/5/2022 L1 TIC : Systéme d'exploitation 5


Cycle de vie du
processus

✓ Lorsqu'un processus s'exécute, il passe par différents états. Ces


étapes peuvent différer selon les systèmes d'exploitation et les
noms de ces états ne sont pas standards.

✓ En général, un processus peut avoir l'un des cinq états suivants à


la fois:

12/5/2022 L1 TIC : Systéme d'exploitation 6


Cycle de vie du
processus

1. Commencer(start) : Processus nouvellement créé (ou) processus


en cours de création.

2. Prêt(ready) : après la création, le processus passe à l'état


Prêt, c'est-à-dire que processus est prêt à être exécuté.

3. Exécuter(running) : processus en cours d'exécution dans le


processeur (un seul processus à la fois).

4. Attendre/bloquer(wait) : lorsqu'un processus demande un accès


aux E/S.

5. Terminé(terminate) : Le processus a terminé son exécution.

12/5/2022 L1 TIC : Systéme d'exploitation 7


Kernel Bloc de contrôle
de processus (PCB)

✓ Un bloc de contrôle de processus est une structure de données


maintenue par le système d'exploitation pour chaque processus.
✓ Le PCB est identifié par un ID de processus entier (PID).
✓ Un PCB conserve toutes les informations nécessaires pour suivre un
processus comme indiqué ci-dessous :
- Process State : L'état actuel du processus, c'est-à-dire s'il est
prêt, en cours d'exécution, en attente ou autre.
- Process privileges : Ceci est nécessaire pour autoriser/interdire
l'accès aux ressources système.

12/5/2022 L1 TIC : Systéme d'exploitation 8


Kernel Bloc de contrôle
de processus (PCB)
- Process ID: Identification unique pour chacun des processus du
système d'exploitation.
- Pointer : Un pointeur vers le processus parent.
- Program Counter : Le compteur de programme est un pointeur vers
l'adresse de la prochaine instruction à exécuter pour ce
processus.
- CPU registers : Divers registres CPU où le processus doit être
stocké pour l'exécution pour l'état d'exécution.
- CPU Scheduling Information : Priorité de traitement et autres
informations de planification nécessaires pour planifier le
processus.
12/5/2022 L1 TIC : Systéme d'exploitation 9
Kernel Bloc de contrôle
de processus (PCB)

- Memory management information : Cela inclut les informations de la


table des pages, des limites de mémoire, de la table des segments
en fonction de la mémoire utilisée par le système d'exploitation.
- Accounting information : Cela inclut la quantité de CPU utilisée
pour l'exécution du processus, les délais, l'ID d'exécution, etc.
- IO status information : Cela inclut une liste des périphériques
d'E/S alloués au processus.

12/5/2022 L1 TIC : Systéme d'exploitation 10


Kernel Bloc de contrôle
de processus (PCB)

L'architecture d'un PCB dépend entièrement du système d'exploitation


et peut contenir différentes informations dans différents systèmes
d'exploitation.

Voici un schéma simplifié d'un PCB :

Le PCB est conservé pour un processus


tout au long de sa durée de vie et est
supprimé une fois le processus terminé.

Schéma de l’architecture de PCB

12/5/2022 L1 TIC : Systéme d'exploitation 11


Système d’exploitation L1 TIC 2022/2023 Nour kachroud

Les processus sous


UNIX

Nour_Kachroud@hotmail.com

12/5/2022 L1 TIC : Systéme d'exploitation 12


Lesson overview
l’appel-système fork()

✓ On peut faire exécuter simultanément plusieurs programmes sans


qu’aucun d’eux ne ressente la présence des autres, ou à l’inverse en
leur
Learning permettant de dialoguer entre eux.
objectives

✓ Le parallélisme Unix bas niveau est fourni par le noyau qui duplique
un processus lorsqu’on invoque l’appel-système fork() .

✓ Les deux processus sont alors strictement identiques, et seule la


valeur de retour de fork() permet de les distinguer

12/5/2022 L1 TIC : Systéme d'exploitation 13


Lesson overview
Comment faire un processus

✓ Un nouveau processus est créé par fork() du système appelant.

✓ Le nouveau processus comprend une copie de l'espace d'adressage de


Learning objectives
l'original processus.
Ce mécanisme permet au processus parent de communiquer facilement
avec son processus enfant.

✓ Les deux processus (le parent et l'enfant) poursuivre l'exécution à


l'instruction après le fork(), avec une différence.

12/5/2022 L1 TIC : Systéme d'exploitation 14


Lesson overview
Comment faire un processus

– le code retour du fork() est égal à zéro pour le nouveau (enfant)


processus,
– alors
Learning que le PID (non nulle) de l'enfant est retourné au processus
objectives
père.

✓ Deux valeurs de retour en cas de succès:


– Dans le processus père : valeur de retour = le PID du fils,
– Dans le processus fils : valeur de retour = zéro.
Sinon
– Dans le processus père : valeur de retour = -1.

12/5/2022 L1 TIC : Systéme d'exploitation 15


Lesson overview
Comment faire un processus

✓ Afin d'obtenir le numéro du processus, il suffit de faire l'appel


système getpid(), ou getppid() pour obtenir le numéro du père.
– PIDobjectives
Learning (Process IDentifier)
– PPID : numéro du processus père (Parent Process Identifier)

12/5/2022 L1 TIC : Systéme d'exploitation 16


Lesson overview
Comment faire un processus

Learning objectives

12/5/2022 L1 TIC : Systéme d'exploitation 17


Lesson overview
Comment faire un processus

Learning objectives

12/5/2022 L1 TIC : Systéme d'exploitation 18


Lesson overview
Comment faire un processus

Commande ps :
[Nour@home2 Transp]$ ps -af
UID PID PPID C STIME TTY TIME CMD
Learning objectives
Nour 4576 1 0 21:22 pts/1 00:00:00 wxd
Nour 4705 3949 0 21:28 pts/1 00:00:04 xpdf SE2007-Processus.
Nour 5068 3949 0 21:40 pts/1 00:00:00 ps –af

✓ The process ID or PID: id processus


✓ The parent process ID or PPID
✓ Terminal or TTY terminal to which the process is connected.

12/5/2022 L1 TIC : Systéme d'exploitation 19


Lesson overview
Comment faire un processus

[Nour@home2 Transp]$ ps au
USER PID ... TTY STAT START TIME COMMAND
Nour
Learning 3881 ...
objectives pts/0 S 21:08 0:00 bash
Nour 3949 ... pts/1 S 21:09 0:00 bash
Nour 4705 ... pts/1 S 21:28 0:00 xpdf SE2007-Processus.
Nour 4841 ... pts/1 R 21:33 0:00 ps au

Statut : - R Running
- S waiting for an event to complete(or sleep)
- Z("zombie") process

12/5/2022 L1 TIC : Systéme d'exploitation 20


Lesson overview
Mort naturelle et Zombie

Un processus peut se terminer normalement ou anormalement.

Learning objectives
✓ Dans le premier cas, l'application est abandonnée à la demande de
l'utilisateur, ou la tâche à accomplir est finie.

✓ Dans le second cas, un dysfonctionnement est découvert, qui est si


sérieux qu'il ne permet pas au programme de continuer son travail

12/5/2022 L1 TIC : Systéme d'exploitation 21


Lesson overview
Orphelin et Zombie

Processus orphelins
– si un processus père meurt avant son fils ce dernier devient
Learningorphelin.
objectives

- Un processus fils peut devenir orphelin si son père termine avant


lui, auquel cas le noyau s'arrange pour le « faire adopter »
par un processus système (INIT), le processus fils peut donc lui
transmettre son statut de terminaison.

12/5/2022 L1 TIC : Systéme d'exploitation 22


Lesson overview
Orphelin et Zombie

Processus zombie
– Si un fils se termine tout en disposant toujours d'un PID celui-ci
Learning objectives un processus zombie
devient
– Le cas le plus fréquent : le processus s’est terminé mais son père
n’a pas (encore) lu son code de retour.
- Un processus est dit zombie s’il s'est achevé, mais qui dispose
toujours d'un identifiant de processus (PID) et reste donc encore
visible dans la table des processus. On parle aussi de processus
défunt(décédé).

12/5/2022 L1 TIC : Systéme d'exploitation 23


Références

• https://www.techno-science.net/definition/7758.html
• https://www.geeksforgeeks.org/process-schedulers-in-operating-system/
• https://www.tutorialspoint.com/operating_system/os_process_scheduling.
htm

12/5/2022 L1 TIC : Systéme d'exploitation 24

Vous aimerez peut-être aussi