INF 3723 Liste de contrôle pour préparation examens

L'examen final sera sur toute la matière du cours, mais avec accent sur la ...
Question sur Java dans l'examen de mi-session (il en aura dans l'examen final).
.... a. dans le wait, la séquence entre la mise à jour du sémaphore et le prochain
test.

Part of the document


Travaux en cours sur cette page...
INF 3723
Liste de contrôle pour préparation examens
(mi-session et final) Par Luigi Logrippo
Les examens seront à livre fermé, pas de calculettes. S'il y a des calculs
à faire, ils seront simples et vous pourrez écrire la formule au lieu de
donner le résultat. Vous écrirez les réponses sur des espaces dans l'examen lui-même. Concernant l'examen de mi-session. Il y aura une douzaine de questions dans
l'examen. Il n'y aura pas de questions à choix multiples. Au début, il y
aura un petit nombre de questions sur Unix, reliées aux laboratoires, puis
l'examen passe aux questions sur la matière discutée en classe. Concernant l'examen final. L'examen final sera sur toute la matière du
cours, mais avec accent sur la 2ème partie (disons, 35%-65%). En général, je pose des questions brèves et factuelles, et pour lesquelles
la réponse est brève et précise. Cependant je pose un bon nombre de ces
questions, pour couvrir uniformément toute la matière. Chaque question
reçoit donc peu de points. Les questions sont semblable à celles des
devoirs écrits, bien que plus simples. Dans la plupart des cas, la réponse
(ou quelque chose de très près) a été discutée en classe. Si vous vous
trouvez à écrire des réponses longues vous êtes dans la mauvaise
direction... et je tiendrai compte de la clarté de vos réponses. Il est important de justifier vos réponses. Si je vous demande de dire si
un énoncé est vrai ou faux, il est nécessaire de dire pourquoi. Si je vous
demande de donner une quantité (combien ...) vous devez montrer votre
travail. Les notes powerpoint disponibles sur le site du cours sont suffisantes pour
faire bien aux examens, si vous comprenez bien tous leurs aspects... Le
manuel est là pour vous faire mieux comprendre les différents aspects,
ainsi que pour les applications, exemples, etc. Je ne pose pas des questions du type : . Écrire un programme pour faire .... Cependant, je pourrais vous donner
un brève programme qui a été expliqué par moi ou mon assistante et je
pourrais vous demander : que fait ce programme? Ou : ce programme
contient une erreur, laquelle? Ou : ce programme manque d'une ligne,
laquelle? Ou : pour obtenir un certain résultat, quelle est
l'instruction appropriée? . Discuter, comparer, questions qui demandent du développement. . Sujets que je n'ai pas mentionné en classe . Question sur Java dans l'examen de mi-session (il en aura dans
l'examen final). Dans la liste ci-dessous, un + indique les sujets les plus importants, sur
lesquels il y aura probablement des questions, ou bien à l'examen de mi-
session, ou bien à l'examen final. D'ailleurs ces sujets sont essentiels
pour la compréhension de la matière du cours. Tôt ou tard, vous serez
perdus si vous ne connaissez pas ces sujets. 1ère PARTIE du cours (pour l'examen de mi-session) Chapitre 1, 2, 3 + Mécanismes de l'interruption. Qu'est-ce qui se passe au moment d'une
interruption. Quelles informations sont sauvegardées. Quoi peut causer une
interruption. Inhibition des interruptions. Instructions privilégiées, pourquoi, fonctionnement. Modes moniteur-usager. + Mécanismes d'E/S et relation avec multiprogrammation. + Création et terminaison de processus en Unix (v. sessions exercices). Structure en couches. Pourquoi, fonctionnement. Systèmes temps réel durs et souples. Différences, exemples de base. Pas matière d'examen : Sections 1.6, 1.7, 1.9 , 1.11, 2.3, 2.6, 3.8, 3.9,
3.10, 3.11.
Chapitre 4 et 5 ++ Diagramme de transition d'états d'un processus. Quels événements dans
le système peuvent causer certaines transitions. Relation entre
changements d'états d'un processus et interruptions du processus. Ordonnanceurs à court, moyen, long terme. Raisons, fonctionnement. ++ Commutation de contexte. Process sControl Block (PCB). Contenu, comment
est-il sauvegardé. + Files d'attente de PCBs et leur relation avec le changement d'état des
processus. P.ex. étant donné que la file d'attente a un certain contenu, et
que un processus effectue une transition, quelle sera le prochain contenu
de la file. Threads, processus poids léger (LWP). Différence par rapport à processus.
Informations partagées entre Threads d'un même processus. Relation entre
thread, LWP et unité centrale. Pas sujet d'examen : 4.5.6, 4.5.7, 4.6, 5.3.1, 5.3.2, 5.3.3, 5.3.4, 5.3.5.,
5.4, 5.5. La section 5.7 n'est pas sujet d'examen de mi-session, elle est
sujet d'examen final : Il n'y aura pas de questions sur Java dans l'examen
de mi-session, mais il y en aura dans l'examen final.
Chapitre 6 ++ Différents algorithmes d'ordonnancement processus. Savoir faire les
diagrammes de Gantt pour ces algorithmes. Savoir faire les calculs usuels,
p.ex. temps de rotation. + Raisons pour et fonctionnement de préemption. Estimation du prochain cycle d'UCT pour algorithme SJF. Importance d'un bon choix de quantum dans Tourniquet, comment effectuer ce
choix. Formule de Little. Pas sujet d'examen : Sections 6.6, 6,7, 6.8. Chapitre 7 + Solution par logiciel du problème de la section critique. Solutions
mauvaises, pourquoi sont-elles mauvaises. Algorithme de Peterson,
comprendre le programme. + Solution par matériel, leur utilisation pour l'implantation des
sémaphores. ++ Sémaphores. Quelle est la signification des valeurs possibles d'une
variable sémaphore. Qu'arrive si les opérations sémaphores sont mal placées
(p.ex. changement d'ordre des opérations sur les sémaphores dans un des
programmes expliqués en classe). + Moniteurs. Files d'attente sur moniteurs. Variables conditionnelles.
Combien de processus peuvent être en exécution dans un moniteur à un moment
donné, et qu'est-ce qu'ils font? + Tampon borné, philosophes Lecteurs-rédacteurs Famine. Quoi peut causer la famine. Comment l'éviter. Pas sujet d'examen : Sections 7.9, 7.10, spécificités Java pour l'examen de
mi-session (mais le pseudocode que je donne dans mes diapositives il faut
le comprendre). Chapitre 8 +Conditions nécessaires pour l'impasse, raisons pour chacune. ++ Présence ou non d'impasses dans un graphe d'allocation ressources donné. États 'sûrs', 'non-sûrs'. Ps sujet d'examen : Sections 8.5.3, 8.6.2, spécificités Java pour l'examen
de mi-session.
2ème PARTIE du cours - Après l'examen de mi-session. Chapitre 9 Adresses physiques et adresses logiques, mémoire physique et mémoire
logique : mécanismes de correspondence + Allocation contiguë de mémoire Partitions fixes ++ Allocation contiguë de mémoire best fit, first fit..., comparaison ++ Pagination, mécanismes, traduction d'adresses en pagination ++ Segmentation, mécanismes, traduction d'adresses en segmentation ++ Translation Lookaside Buffer pour accélerer le calcul des adresses + Avantages et désavantages de la segmentation et pagination l'une par
rapport à l'autre : partage de segments, protection Comment les combiner + Systèmes de compagnons ou groupes de paires ou buddy systems Chapitre 10 ++ Mécanismes pour la mémoire virtuelle : bit valide, bit sale ++ Localité des références + Temps moyen d'accès à la mémoire ++ Algorithmes de remplacement pages : OPT, LRU, FIFO, Horloge + Écroulement, causes + Ensemble de travail + Relation entre la mémoire allouée à un proc et nombre d'interruptions + Relation entre dimension de pages et nombre d'interruptions Optimisations : prépagination, post-nettoyage Effets de l'organisation du programme sur l'efficacité de la pagination Chapitre 11 ++ Méthodes d'accès fichiers : séquentiel, aléatoire, indexé, indexé
séquentiel, hachage. Utilisation de chacune. Chapitre 12 + Méthodes d'allocation fichiers : contigüe, indexée, enchaînée, UNIX BSD +Gestion de l'espace libre par bitmap ou liste liée Caches, disques RAM Chapitre 13 Matériel d'E/S Communication entre UCT et contrôleurs périfs. + Interruption et scrutation ++ DMA Pilotes et contrôleurs de périfs. + E/S bloquantes ou non, asynchrones + Tamponnage, cache, spoule Chapitre 14 + Fonctionnement et structure des unités disques ++ Optimisation de l'utilisation des unités disques : FCFS, SSTF, SCAN,
LOOK + RAID
Chapitre 18 Exigences des systèmes de protection, Fonctionnement des matrices d'autorisation (seulement s'il y a eu le temps
d'en parler) Questions sur le lab : Dans l'examen de mi-session il y aura quelques
questions sur Unix, aucune sur Java, le contraire dans l'ex. final.
Questions à choix multiples
Il faut toujours les lire très attentivement, et vous découvrirez que la
plupart des réponses suggérées sont carrément impossibles, voire
illogiques. Voici deux exemples Q1 La séquence des opérations sur les sémaphores "spinlocks" qui ne peut
être interrompue est: a. dans le wait, la séquence entre la mise à jour du sémaphore et le
prochain test
b. dans le signal, la séquence entre la mise à jour du sémaphore et
l'instruction précédente
c. dans le signal, la séquence entre la mise à jour du sémaphore et
l'instruction suivante
d. dans le wait, la séquence entre le test et la mise à jour du
sémaphore
e. aucune des précédentes --------------
Q2 Dans un système de pagination qui est équipé d'une mémoire associative
pour les adresses (Translation Lookaside Buffer), une des opérations
suivantes est effectuée par logiciel (les autres sont effectuées par
matériel): a. si la page désirée n'est pas présente en mémoire centrale, la lire à
partir du disque
b. étant donnée une adresse de mémoire à accéder, voir si l'adresse de
page physique correspondante se trouve en mémoire associative
c. contrôler si la page demandée se trouve en mémoire principale
d. mettre à jour un indicateur qui dit que la page a été consultée
e. déclencher une interruption si la page désirée n'est pas en mémoire
centrale (Réponses: d dans la 1ère question, a dans la 2ème) ========================================================== Comme avis final .... Je lisais un article sur l'enseignement q