gef 435 principes des systèmes dexploitations processus (tanenbaum 2.1)

19
GEF 435 Principes des systèmes d’exploitations Processus (Tanenbaum 2.1)

Upload: gigi-lemonnier

Post on 03-Apr-2015

110 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GEF 435 Principes des systèmes dexploitations Processus (Tanenbaum 2.1)

GEF 435Principes des systèmes d’exploitations

Processus(Tanenbaum 2.1)

Page 2: GEF 435 Principes des systèmes dexploitations Processus (Tanenbaum 2.1)

Revue

• Quelles sont les cinq structures des SE discutées le dernier cours?

• Qu’est-ce qu’un système d’exploitation virtuel?

Page 3: GEF 435 Principes des systèmes dexploitations Processus (Tanenbaum 2.1)

Synopsis

• Processus• Le modèle des processus• Création de processus• Terminaison de processus• État des Processus• Implémentation d’un processus• Revue des interruptions

Page 4: GEF 435 Principes des systèmes dexploitations Processus (Tanenbaum 2.1)

Processus

• Le processus est LE concept central dans les systèmes d’exploitation

• Un processus est une abstraction d’un programme en exécution Auquel on a donné des ressources

• Un certain nombre de processus (2 ou plus) exécutant en même temps forment un système multitâches, multithreads, ou multiprogrammation

• Est-ce que ces programmes exécute vraiment en parallèle?

Page 5: GEF 435 Principes des systèmes dexploitations Processus (Tanenbaum 2.1)

Le model des processus

• Le model des processus est tout simplement l’idée que tout logiciel qui est exécutable est organisé en un nombre de processus séquentiels incluant le SE.

Page 6: GEF 435 Principes des systèmes dexploitations Processus (Tanenbaum 2.1)

Processus

Conceptuel

Écoulement du prog

Temps d’exécution des processus

Page 7: GEF 435 Principes des systèmes dexploitations Processus (Tanenbaum 2.1)

Processus

• Pseudo-parallélisme est parfois utilisé pour référer à des processus multiples exécutant sur un seul processeur

• Ceci diffère du parallélisme sur un système à multiprocesseurs

Page 8: GEF 435 Principes des systèmes dexploitations Processus (Tanenbaum 2.1)

Création de Processus

• Certains SE peuvent être capables de créer tout les processus requis durant l’initialisation

• Les systèmes communs ont besoin de créer des nouveaux processus durant l’opération. Quand? Initialisation du systèmeExécution d’un système de création de processus

appelé par un processus en exécutionDemande d’un utilisateur pour créer un processus Initialisation d’une job batch

Page 9: GEF 435 Principes des systèmes dexploitations Processus (Tanenbaum 2.1)

Création de Processus

Initialisation de système

Demande d’utilisateur

Demande de processus en exécution

Page 10: GEF 435 Principes des systèmes dexploitations Processus (Tanenbaum 2.1)

Terminaison de Processus

• Les processus terminent quand la job est faite.

• Raisons de terminaison Normale (volontaire) Erreur (volontaire) Erreur fatal(involontaire) Tué par un autre processus

(involontaire)

Je serai Gouverneur.

Page 11: GEF 435 Principes des systèmes dexploitations Processus (Tanenbaum 2.1)

Hiérarchies de processus

• Dans les systèmes où il y a des processus enfants et parents, il y a une hiérarchie qui existe

• Dans *NIX, un processus et tout ces descendants forment un groupe de processus. Les signaux (clefs frappées sur clavier) peuvent être partagés avec tout les membres du groupe.

• Windows n’a pas de concept de hiérarchie de processus.

Page 12: GEF 435 Principes des systèmes dexploitations Processus (Tanenbaum 2.1)

États des processus

• Quand le processus est en exécution ‘running’ il utilise le CPU pour faire son travail

• Quand le processus est prêt ‘ready’, il voudrait exécuter mais le CPU est alloué à un autre.

Page 13: GEF 435 Principes des systèmes dexploitations Processus (Tanenbaum 2.1)

États des processus

• En état bloqué ‘blocked’, le processus ne peut exécuter parce qu’il attend après une condition (entrée/sortie, expiration du chrono, un autre processus etc...)

• Des fois, des commandes sont appelées pour entrer dans l’état bloqué (block, pause,wait).

• Parfois le système cause la transition automatiquement à l’état ready (ordonnancement)

Page 14: GEF 435 Principes des systèmes dexploitations Processus (Tanenbaum 2.1)

États des processus• Quand le SE a pour but principal l’ordonnancement des

processus pour exécution, quel model a le SE?

• Une couche de processus séquentiel par dessus un ordonnanceur

Page 15: GEF 435 Principes des systèmes dexploitations Processus (Tanenbaum 2.1)

Implémentation des Processus

• Comment le SE implémente le model des processus? La table des processus, un tableau ou liste chaînée de structures

avec une entrée par processus. Information typique:

• État des Processus

• Compteur ordinal

• Pointeur de pile

• Allocation de la mémoire

• État des fichiers ouverts

• Information de gestion/ordonnancement...

• Et encore plus!

Page 16: GEF 435 Principes des systèmes dexploitations Processus (Tanenbaum 2.1)

Implémentation des Processus

Champs typiques pour une entrée dans la table des processus

Page 17: GEF 435 Principes des systèmes dexploitations Processus (Tanenbaum 2.1)

De retour vers les interruptions

• Maintenant que nous savons les entrées dans la table des processus nous pouvons revisiter les interruptions!Durant une interruption, le matériel pousse le PC, PS,

PSW et autres registres sur sa pile. L’ordinateur saute au vecteur d’interruptions.

Le matériel a fait son travail à ce point.Maintenant, la routine d’interruption sauve toute

l’information du processus dans la table des processus. (une tâche fait en assembleur)

Page 18: GEF 435 Principes des systèmes dexploitations Processus (Tanenbaum 2.1)

De retour vers les interruptions

Une nouvelle pile est établie et l’interruption est servitQuand l’interruption est fini, l’ordonnanceur est appelé

pour voir quel est le prochain processus à exécuterUne procédure en assembleur charge les registres la

mémoire, etc. avec l’information du nouveau processus, pour commencer l’exécution.

• Comme de raison les détails varient de système à système.

Page 19: GEF 435 Principes des systèmes dexploitations Processus (Tanenbaum 2.1)

Quiz Time!

Questions?