GEF 243B Programmation informatique appliquée Structures §12.3.
GEF 435 Principes des systèmes dexploitations Processus (Tanenbaum 2.1)
-
Upload
gigi-lemonnier -
Category
Documents
-
view
110 -
download
0
Transcript of GEF 435 Principes des systèmes dexploitations Processus (Tanenbaum 2.1)
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?