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

Post on 03-Apr-2015

110 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

GEF 435Principes des systèmes d’exploitations

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?

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

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?

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.

Processus

Conceptuel

Écoulement du prog

Temps d’exécution des processus

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

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

Création de Processus

Initialisation de système

Demande d’utilisateur

Demande de processus en exécution

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.

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.

É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.

É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)

É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

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!

Implémentation des Processus

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

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)

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.

Quiz Time!

Questions?

top related