Cours 14 : Les Processus
Q14.1 : Nommez quatre éléments contenus dans le Process Control Block (PCB)?
Q14.2 : Décrivez ce qu’est un quanta (quantum au pluriel) dans le cadre de systèmes d’exploitation multitâches?
Q14.3 : Supposons la table de processus ci-dessus ou chaque processus de la table a été admis en mémoire :
Processus État Priorité au
besoin # quantum restant
P1 Prêt 1 2
P2 Prêt 3 3
P3 En attente d’E/S 2 5
P4 En cours 2 1
P5 Prêt 2 6
Supposons qu’aucun processus ne s’ajoute en mémoire que P3 demeure en attente d’E/S éternellement. Dites quels seront les processus exécutés lors des trois prochains quantum en fonction de l’algorithme d’ordonnancement:
a) Tourniquet (Round Robin)
b) Plus court d’abord (Shortest First)
c) Priorité avec tourniquet (Le plus bas est le plus prioritaire. Les processus de même priorité sont exécutés en tourniquet)
d) Premier arrivé, premier servi (First-in, First-out; On assume que les processus sont arrivés de P1 à P5 dans l’ordre)
Pour chacun des quatre algos précédents : - …dites quel processus sera terminé en premier?
- … quel sera le temps moyen (en quantum) avant de commencer l’exécution de chacun de ces processus si on ne compte pas le processus 3?
- …quel sera le temps moyen (en quantum) avant la fin de chacun de ces processus si on ne compte pas le processus 3?
Q14.4 : Nommez quatre objectifs des algorithmes d’ordonnancement de processus?
Q14.5 : Qu’est-ce que la famine (starvation) pour un processus? Ce phénomène peut-il survenir si la méthode d’ordonnancement des processus est : le Round-robin? Shortest first? Priorité?
Q14.6 : Décrivez la relation entre un programme, un processus et un thread.
Q14.7 : Dans un contexte de gestion du prochain processus à être exécuté, que signifie le mot “préemption”?
Q14.8 : Dans les systèmes d’exploitation modernes, le temps est divisé en quantum. Entre chaque quantum, l’interruption du système d’exploitation (une interruption périodique
générée par une horloge) décide quel sera le prochain processus à être exécuté. Quelles sont les tâches minimales effectuées dans l’interruption du système d’exploitation?
Q14.9 : Quand un processus devient-il bloqué? Quand sort-il de cet état?
Q14.10 : Pourquoi le système d’exploitation a-t-il besoin de l’état “En cours”? Combien de processus peuvent être dans cet état simultanément?
Q14.11 : Quand un processus devient-il en attente? Quand sort-il de cet état?
Q14.13 : Quel périphérique produit habituellement l’interruption du système d’exploitation déterminant le prochain processus à exécuter?
Q14.14 : Quelles sont les principales tâches effectuées dans l’interruption du système d’exploitation?
Cours 15 : Gestion de la mémoire
Q15.1 : Décrivez l’algorithme d’allocation contiguë de mémoire avec partitions à taille variables pour placer des processus en mémoire. Décrivez, pour cet algorithme, comment le MMU fait la translation entre l’adresse logique d’une instruction d’un programme son adresse physique en mémoire.
Q15.2 :Qu’est-ce que le TLB?
Q15.3 : Supposons une mémoire de 2NKo avec des pages de 2MKo et des programmes ayant une taille max de 2OKo? Supposons qu’une adresse de mémoire contienne 1 octet.
Supposons enfin que le système d’exploitation utilise une table de page par programme afin de déterminer ou chaque partie du programme se retrouvera en mémoire.
a) Quelle sera la taille minimum, en bits, de la table de pages pour un programme?
b) Les adresses logiques à l’intérieur du programme seront sur combien de bits? Les adresses physiques, à l’intérieur de la mémoire seront sur combien de bits?
c) Combien de bits constitueront le champ offset de l’adresse logique?
Q15.4 : Supposons que la mémoire contienne les processus et les espaces vides suivants:
Vide, 10ko P1, 3ko Vide, 2ko P2, 5ko P3, 8ko Vide, 6ko P4, 1ko
Contenu de la mémoire pour Q15.4
Si la séquence d’évènement suivant survient:
P5 est admis dans la mémoire, P5 a une taille de 2ko P6 est admis dans la mémoire, P6 a une taille de 5ko P4 est retiré de la mémoire
P7 est admis dans la mémoire, P7 a une taille de 1ko
Donnez le contenu de la mémoire après la séquence d’évènement si la mémoire est allouée pour des partitions de tailles variables contiguës selon l’algorithme qui suit:
a) First-Fit (Premier emplacement adéquat)
b) Next-Fit (Premier emplacement adéquat après le dernier emplacement choisi) a) Best-Fit (Le plus petit emplacement adéquat)
Q15.5 Quels sont les avantages et les désavantages de l’algorithme First-Fit par rapport à l’algo best-fit lorsque l’on parle de stratégie d’allocation de mémoire pour des partitions à taille variable?
Q15.6 :Qu’est-ce qu’une faute de page?
Q15.7 : Qu’est-ce que la défragmentation d’un disque dur ou d’une mémoire?
Q15.8 : Dans quelle condition une page du disque dur sera-t-elle transférée dans la mémoire? Dans quelle condition une page de la mémoire sera transférée vers le disque dur?
Q15.9 : Quelles informations sont requise pour traduire une adresse virtuelle/logique en adresse physique lorsque le système d’exploitation alloue de la mémoire pour les processus avec des partitions de taille variable et que tout le processus est contenu dans la partition?
Q15.10 : Quels sont les avantages de séparer la mémoire en page de petite taille qui contiennent une partie des processus seulement par rapport à séparer la mémoire en grande partitions de taille fixe qui contiennent la totalité des processus? Quels sont les désavantages?
Q15.11 : Pourquoi le registre Program Counter (PC, IP), c’est-à-dire le registre décrivant l’adresse de la prochaine instruction à exécuter contient-il une adresse virtuelle/logique plutôt qu’une adresse physique?
Q15.12 : Les informations nécessaires afin de faire la translation d’adresse sont-elles sauvegardées dans la mémoire ou ailleurs? Quelle composante matérielle ou logicielle de votre ordinateur effectue la translation d’adresse?
Cours 16 : Les Entrées/Sorties
Q16.1 : Donnez les avantages et les inconvénients de chaque méthode d’E/S présentée dans le cours (E/S programmée, E/S avec interruptions et DMA)?
Q16.2 : Pourquoi un module d’E/S a-t-il besoin de registres de donnée ou d’une structure similaire (tampon pour mémoriser des données provenant du CPU ou allant vers le CPU)?
Q16.3 : Quel est le nom du contrôleur remplacé par un “?” dans la figure ci-dessous :
CPU Mémoire
?
Requêtes du CPU et statuts
Programmes de traitement
des E/S
Données transférées
par DMA Module D’E/S Appareil
Module D’E/S Appareil Données et
instructions
Q16.4 : Décrivez le fonctionnement du DMA.
Q16.5 : Quel est le taux de bit maximum pouvant être transmis sur un bus synchrone ayant 12 lignes de contrôle, 13 lignes d’adresses et 14 lignes de données, une horloge de 10MHz, une méthode d’arbitrage décentralisée et supportant le DMA?
Q16.6 : Transmettre des bits en série plutôt qu’en parallèle est commun pour les interfaces externe du PC (port série ou USB par exemple), mais plus rare à l’intérieur du PC.
Pourquoi?
Q16.7 : À l’aide d’un diagramme simple, illustrer ce qui se passe lorsque l’usager fait un accès à un périphérique.
Q16.8 : Lorsqu’un de vos programme accède à un périphérique, il appelle une fonction d’exploitation. En plus de gérer l’accès au périphérique lui-même, quelles tâches sont accomplies dans cette fonction?
Q16.9 : Quelles sont les principales fonctions des modules d’entrées-sorties? En d’autres mots, à quoi sert le matériel entre le bus et le périphérique?
Q16.10 : Pourquoi les interruptions des périphériques sont-elles gérées par le système d’exploitation?
Q16.11 : La phrase suivante définit le bus PCI : Le bus PCI est un bus parallèle,
synchrone, multipoint, avec du multiplexage d’adresses et de données et ayant un arbitrage central. Réécrivez cette phrase en utilisant d’autres mots!
Q16.12 : Les deux phrases suivantes définissent le bus PCI Express: Le bus PCI Express est un bus série, asynchrone, sur lequel les bits sont encodés en mode différentiel. Le bus PCI express utilise un encodage 8bits/10bits est a, de ce fait, une vitesse effective qui est, au mieux, 80% de la vitesse maximum. Réécrivez ces deux phrases en utilisant d’autres mots.