• Aucun résultat trouvé

Processus et gestion de processus

N/A
N/A
Protected

Academic year: 2022

Partager "Processus et gestion de processus"

Copied!
25
0
0

Texte intégral

(1)

processus

(2)

015, AG 2021015, AG 2021

Processus

Définition

Modélisation

Descripteur

État

Création

Destruction

Allocation de ressources

(3)

G 2021 AG 2021

Processus UNIX - GNU/Linux

Modèle

Création

Terminaison

Recouvrement

(4)

015, AG 2021015, AG 2021

Communication avec un processus

Les fichiers standards

Redirections

Signaux

(5)

G 2021 AG 2021

Communications entre processus

Signaux

Tubes

Tubes nommés

Inter-Processus Communications

(6)

015, AG 2021015, AG 2021

Processus et Gestion de processus

Communication Comm. Inter.

Thread

Définition : un processus est l’image

mémoire de l'exécution d'un programme ou fichier binaire

Programme ou fichier binaire :

Objet statique

Contenu identique dans le temps

Les variables n'ont pas de valeur

Les fichiers ne sont ni lus ni écrits

(7)

G 2021 AG 2021

Processus et Gestion de processus

Communication Comm. Inter.

Processus :

Chargement en mémoire du contenu d'un fichier binaire

Variables initialisées

Tableaux créés par allocation de mémoire

Fichiers lus, écrits

Variable tout au long de son exécution Dynamique

(8)

015, AG 2021015, AG 2021

Modèles de processus

Communication Comm. Inter.

Chaque système d'exploitation met en œuvre son modèle de processus

Processus de Windows 7 ≠ processus Linux Pour des versions différentes du même SE le modèle de processus peut-être différent

Taille maximale de la mémoire utilisable

Taille des pointeurs Taille des tableaux Propriétaire, droits État, ...

(9)

G 2021 AG 2021

Modèles de processus Windows 7

Communication Comm. Inter.

Un nouveau modèle a été créé avec Vista : Virtual immersive science and technology application

Caractéristiques :

Un espace d'adressage virtuel propre

Un code exécutable

Des descripteurs d'accès aux objets systèmes ouverts

Un contexte de sécurité

(10)

015, AG 2021015, AG 2021

Modèles de processus Windows 7

Communication Comm. Inter.

Caractéristiques :

Un identifiant de processus

Des variables d'environnement

Une classe de priorité

Un ensemble minimum et maximum de pages virtuelles de travail

Orienté thread

Moderne

Référence : http://msdn.microsoft.com/en- us/library/ms681917%28v=vs.85%29.aspx

(11)

G 2021 AG 2021

Modèles de processus UNIX

Communication Comm. Inter.

Modèle conçu dans les années 1970

Evolution avec les différentes versions du système UNIX puis GNU/Linux

Caractéristiques :

Espace virtuel propre

Segmenté : plusieurs segments

Segments partageables

Identifiants de processus et de processus père uniques

(12)

015, AG 2021015, AG 2021

processus

Communication Comm. Inter.

Descripteur du processus : ensemble des informations caractérisant un processus Table des descripteurs de processus : ensemble des descripteurs

Table utilisée à :

Création

Destruction

Allocation du processeur

Modification de l'état

(13)

G 2021 AG 2021

États d'un processus

Communication Comm. Inter.

Dans tous les SE un processus peut-être dans les trois états principaux suivants :

Actif : un processeur lui a été attribué et il exécute une partie de son code

Activable : il est prêt à être exécuté, il dispose de toutes les ressources nécessaires hormis un processeur

En attente ou bloqué : un événement extérieur, une ressource est/sont nécessaire(s) à son exécution

(14)

015, AG 2021015, AG 2021

Diagramme d'états

Communication Comm. Inter.

Activable

Actif Bloqué

(15)

G 2021 AG 2021

Diagramme d'états

Communication Comm. Inter.

Activable → Actif : attribution d'un processeur

Actif → Activable : perte du processeur en temps partagé par exemple

Actif → Bloqué : le processus se met ou est mis en attente d'un événement extérieur

Fin d'une opération d'E/S

Attente d'un signal

Allocation de mémoire

(16)

015, AG 2021015, AG 2021

Processus : création

Dans les systèmes modernes, multi-tâches, la création de processus est dynamique

Primitive système permettant de créer un processus

À la création d'un processus le SE doit

Créer un nouveau descripteur

Trouver les ressources nécessaires à son exécution  : mémoire,

périphériques, …, sauf le processeur

Insérer le processus dans la liste des tâches à exécuter pour lui attribuer un processeur

Communication Comm. Inter.

(17)

G 2021 AG 2021

Processus : terminaison

Communication Comm. Inter.

Un processus peut se terminer

Il arrive à la fin de son code : terminaison normale

Par action du SE : il a commis une faute

Dans tous les cas le SE doit :

Libérer les ressources qui avait été attribuées

Détruire le descripteur du processus

(18)

015, AG 2021015, AG 2021

Allocation de ressources

Communication Comm. Inter.

L'allocation de ressources est une partie très importante dans l'écriture d'un SE

Détermine en grande partie la qualité du système

Deux stratégies :

Statique : toutes les ressources sont attribuées à la création

Dynamique : elles sont attribuées au moment de leur utilisation

(19)

G 2021 AG 2021

Allocation statique

Communication Comm. Inter.

Garantie qu'un processus pourra s'exécuter Simple à mettre en œuvre

Monopolisation de ressources pas forcément utilisées :

int t[1 000 000 000];

for (int i =0 ; i < 100 ; i++) t[i] = 0 ;

return 0 ;

Peut interdire l'exécution d'une tâche en raison d'une ressource indisponible

(20)

015, AG 2021015, AG 2021

Allocation dynamique

Communication Comm. Inter.

La ressource n'est allouée au processus qu'au moment de son utilisation

Pas de gaspillage de ressources

Intervention du système durant l'exécution de la tâche

Ralentissement

Très utilisée dans les systèmes multi-tâches Difficultés en raison des différentes

stratégies à mettre en œuvre selon les ressources

(21)

G 2021 AG 2021

Allocation du processeur

Communication Comm. Inter.

Allocation préemptive :

Le système alloue le processeur à un processus et peut lui retirer à tout moment

Le mécanisme d'interruption garanti que le SE va s'exécuter même si la tâche en cours monopolise le processeur

Interruption sur fin d'opération d'E/S

Interruption d'horloge

(22)

015, AG 2021015, AG 2021

Allocation du processeur : temps partagé

Communication Comm. Inter.

Équitable :

chaque processus reçoit le processeur durant un quantum de temps ( 1/50 ème de seconde )

Quantum : très court pour donner

l'impression d'une exécution continue

Un processus peut épuiser son quantum ou perdre le processeur s'il se met en attente d'un événement extérieur

Pas de famine : garantie d'exécution

(23)

G 2021 AG 2021

Allocation du processeur : priorité

Communication Comm. Inter.

Non équitable :

lorsque le SE cherche à allouer le

processeur le processus de priorité la plus élevée reçoit le processeur. Il le conserve jusqu'au moment ou il décide de l'abandonner, qu'il se met en attente d'un événement extérieur ou qu'il n'a plus la priorité la plus

élevée

(24)

015, AG 2021015, AG 2021

Allocation du processeur : priorité

Communication Comm. Inter.

Priorité :

P = f ( identifiant prop, ressources, ...) Le mécanisme d'interruption permet au SE d'examiner les changements de condition Famine possible : une tâche peut n'être jamais exécutée

(25)

G 2021 AG 2021

Allocation du processeur : contexte

Lorsqu'un processus perd le processeur

l'état de la machine doit être sauvegardé afin d'être restauré lors de la reprise du

processus

L'ensemble des informations nécessaires est appelé contexte du processus

Suivant les machines cette opération peut être très coûteuse en temps et des

instructions spécifiques peuvent être

disponibles pour accélérer les opérations

Le contexte est étroitement lié au modèle de

Communication Comm. Inter.

Références

Documents relatifs

Il s’agit surtout de commandes assez générales, dont tout administrateur aura besoin un jour ou l’autre.. Les commandes pour l’utilisateur courant se trouvent

CON 01 GERER LES ACQUISITIONS DE SOLUTIONS CON 02 GERER LE DEVELOPPEMENT DE SOLUTIONS CON 03 GERER LE CATALOGUE DE SERVICES CON 04 GERER LES NIVEAUX DE SERVICE CON 05 GERER

événement extérieur ou s'être mis en attente), le système d'exploitation va le faire passer dans l'état prêt et activer un autre processus de la liste des processus éligibles..

fork() rend la valeur 0 dans le processus fils, et le numéro d’identification (PID) du fils créé dans le processus père ; on récupère donc cette valeur par une instruction du type

On considère que l’on dispose d’un seul canal pour gérer un disque, et que l’ordre de services des requêtes pour ce disque se fait selon une politique FCFS?. Donnez le diagramme

Interblocage (deadlock) : aucun processus suspendu en dehors d’une section critique ne doit bloquer les autres pour y entrer. Aucune hypothèse ne doit être faite sur les

Interblocage (deadlock) : aucun processus suspendu en dehors d’une section critique ne doit bloquer les autres pour y entrer. Aucune hypothèse ne doit être faite sur les

Exemple : Asservissement num érique de la vitesse d é rique de la vitesse d’ ’un moteur un moteur. Cas de la commande d’un moteur CC par