GIF-1001, 26 avril 2011 Nom/Matricule : _________________________
Examen 2
Cet examen vaut 40% de la note totale du cours. Les questions seront corrigées sur un total de 40 points.
La valeur de chaque question est indiquée avec la question. Une calculatrice scientifique peut être utilisée.
Cependant, aucune documentation n’est permise. Vous pouvez répondre aux questions directement sur ce questionnaire et/ou dans le cahier bleu mis à votre disposition.
Q1 (2 points) : Lors de l’exécution d’un programme usager par le DOS ou par n’importe quel système d’exploitation exécutant un seul programme similaire au DOS, quelles programmes ou fonctions retrouve-t-on à l’intérieur de la mémoire?
Q2 (3 points) : Supposez un système d’exploitation préemptif (avec une interruption d’horloge qui interrompt les processus exécutés) qui exécute toujours le processus le plus vieux (le premier admis en mémoire) lorsqu’il est prêt à être exécuté. Dans quelles circonstances ce système d’exploitation exécutera-t-il plus efficacement (plus
rapidement) des processus qu’un système d’exploitation non préemptif, c’est-à-dire qui n’interrompt pas les processus et les exécute du début à la fin sans changer de processus?
Q3 (6 points) : Supposez un système d’exploitation qui alloue des plages de mémoire (partitions) contiguës pour les processus en cours d’exécution. Supposez que la taille des partitions est variable et égale à la taille des processus. Répondez aux questions
suivantes :
A) Qu’est-ce que l’algorithme de Best Fit (meilleur convenable)? Illustrez cet algorithme à l’aide d’un exemple.
B) Qu’est-ce que la fragmentation de mémoire pour ce système d’exploitation?
C) Quels sont les avantages et les désavantages de cette stratégie d’allocation de la mémoire par rapport à l’utilisation de tables de page?
D) Quels seront les variables nécessaires pour traduire les adresses virtuelles en adresses physiques?
E) Qui fera la translation d’adresse? Expliquez.
Q4 (4 points) : Parmi les affirmations suivantes reliées au DMA (direct memory acces), indiquez les affirmations qui sont vraies. Ajoutez un commentaire pertinent aux
affirmations vraies et indiquez pourquoi les affirmations fausses sont fausses:
A) Le DMA permet de transférer des données d’un disque dur de la mémoire plus rapidement qu’un programme exécuté en continu par le microprocesseur.
B) Lors d’un transfert par DMA, la mémoire est lue ou écrite et un périphérique est écrit ou lu. Les deux opérations se font simultanément.
C) Il faut qu’un programme configure le contrôleur de DMA en écrivant ses registres pour qu’un transfert puisse avoir lieu. Le transfert n’a pas toujours lieu dès la fin de la configuration des registres du contrôleur de DMA.
D) Avec un ordinateur moderne ayant une architecture Harvard, un microprocesseur peut exécuter toutes ses instructions pendant un transfert par DMA.
Q5 (10 points) : Un étudiant a ouvert un fichier texte avec Word et il appuie sur une touche de son clavier USB 2.0 pour écrire un caractère à l’écran. Décrivez les
composantes matérielles et logicielles qui interviendront pour que le caractère choisi par l’étudiant soit saisi par l’ordinateur, puis afficher à l’écran. En d’autres mots, décrivez ce qui se passera après que la touche du clavier eut été appuyée.
Votre réponse doit avoir plusieurs volets distincts :
A) (4 points) Comment sera transférée l’information sur le bus USB?
B) (3 points) Lorsque le contrôleur USB aura lue la touche, comment l’interruption sera-t-elle détectée et lue par le microprocesseur? Quelles composantes
matérielles véhiculeront le signal et comment le microprocesseur décidera de la tâche à accomplir pour traiter l’interruption?
C) (3 points) Quelles composantes logicielles feront le lien entre la touche appuyée par l’étudiant et le programme Word?
Q6 (3 points) : Les cœurs du microprocesseur de votre ordinateur utilisent généralement une architecture multiprocesseur avec mémoire partagée (SMP) plutôt qu’une
architecture avec mémoire distribuée (NUMA). Pourquoi? Expliquez votre réponse en quelques lignes.
Q7 (2 points) : Parmi les caractéristiques suivantes, identifiez uniquement les caractéristiques qui s’appliquent au NTFS (NT File System) :
A) Les noms de fichiers sont en ASCII B) Les noms de fichiers sont en UNICODE
C) On utilise une liste chaînée pour identifier les clusters consécutifs d’un fichier D) On utilise un bit par cluster pour indiquer si le cluster est vide ou plein
E) Le système de fichier est conçu pour éliminer complètement la fragmentation F) Une partie des informations sur les répertoires et sur les fichiers est copiée dans la
mémoire pour accélérer les accès
G) Le système de fichier a un fichier de log (historique) afin de mieux gérer les fautes de disques
H) Le système de fichier fournit des programmes utilitaires afin de corriger le problème des fichiers croisés
I) Le système de fichier supporte au moins 232 clusters.
J) Le système de fichier fonctionne avec des enregistrements dans un fichier nommé MFT (Master File Table).
Q8 (10 points) : Indiquez si les énoncés suivant sont vrai ou faux. Une bonne réponse vaut 1 point, une mauvaise réponse vaut -0.5 points et pas de réponse vaut 0.
# Énoncé V/F
A Lorsque l’algorithme de tourniquet (round-robin) est utilisé pour ordonnancer les processus, les processus ne peuvent pas souffrir de famine (starvation).
B Lorsqu’une table de page est utilisée pour indiquer l’emplacement des pages d’un programme dans la mémoire, il faut deux accès à la mémoire pour lire chaque instruction.
C Les accès aux périphériques se font généralement comme les accès aux
données dans la mémoire : il faut une adresse (port) pour accéder à un registre du périphérique à travers un bus de données.
D Le RS485 est plus souvent utilisé en mode HALF-DUPLEX qu’en mode FULL-DUPLEX parce que cela prend 2 fils de moins.
E Il y a plusieurs fils reliés à la masse dans le câble d’un port parallèle pour réduire l’impact du bruit sur la communication des données.
F Les systèmes d’exploitation offrent souvent une fonction Read file qui reçoit en argument (paramètre d’entrée) un handle (numéro de référence) et un nombre d’octets à lire.
G Un système multiprocesseur redondant est un système dans lequel doubler le nombre de processeurs double la performance du système.
H Le multithreading est une technologie qui consiste à découper les instructions en petites étapes pour exécuter simultanément des parties différentes de plusieurs instructions d’un même programme.
I Dans un microprocesseur, utiliser un pipeline n'augmente pas la vitesse d'exécution d'une instruction seule.
J Le Process Control Block (PCB) d'un processus est toujours sur le disque dur même lorsque le processus est inactif depuis longtemps.
QBonus (2 points bonus) : Le registre IP d’un 8086 vaut 0x0200 et le 8086 lira et exécutera les deux instructions suivantes :
Adresse de l’instruction Instruction
0x10200 MOV AX, [BX+4]
0x10204 INT 21h
Sachant qu’initialement :
- CS, DS, ES et SS valent respectivement 0x1000, 0x2000, 0x3000 et 0x4000 - AX, BX, CX et DX valent respectivement 1, 2, 3, 4
Décrivez la séquence des valeurs qui apparaîtront sur le bus de données (16 bits),
d’adresse (20 bits) et de contrôle (assumez deux lignes : lecture de mémoire et écriture de mémoire) du 8086 lors de l’exécution de cette séquence d’instructions. Les variables dont la valeur initiale n’est pas donnée dans l’énoncé du problème doivent rester des variables, avec des noms explicites, à l’intérieur de votre réponse.