Un exemple d'examen

Pour la note finale, cet examen aura la valeur de XX points sur 100. ... a) la
structure en couche d'un système d'exploitation permet d'isoler plus facilement
les ...

Part of the document


INF3723 Examen de mi-session TYPIQUE
(Le contenu pourrait varier selon les variations dans
l'enseignement chaque année) 120 minutes, livre fermé - 16 questions de valeurs égales (2 points
chaque). Pour la note finale, cet examen aura la valeur de XX points sur
100. Pas d'ordinateurs, cellulaires ou calculettes. S'il y a des calculs à
faire, vous pouvez écrire la formule. Répondre de façon claire et concise (vous pouvez gagner ou perdre des
points pour ça). Cet examen consiste en 10 pages et 16 questions. Je ne lirai pas les versos des pages à moins que ceci ne soit clairement
indiqué. Nom d'étudiant...................., ............... No d'étudiant
...............
Famille Prénom
|Q |Pts |
|1 | |
|2 | |
|3 | |
|4 | |
|5 | |
|6 | |
|7 | |
|8 | |
|9 | |
|10 | |
|11 | |
|12 | |
|13 | |
|14 | |
|15 | |
|16 | |
|TOT | | Question 1. Considérez le morceau de programme UNIX suivant: 1. for (i=1 ; i0) printf("%d",pid);
} Combien de processus crée-t-il? Montrer les processus créés sous forme
d'arbre.
Question 2. Mentionner quatre situations dans lesquelles une instruction
d'usager causera une interruption. Identifier des situations vraiment
différentes, ne mentionnez pas des variations de la même idée.
Question 3. Vrai ou faux et expliquer brièvement.
a) la structure en couche d'un système d'exploitation permet d'isoler
plus facilement les erreurs
b) du point de vue du temps d'exécution, la structure en couches est plus
efficace qu'une structure sans couches Question 4. Est ce qu'un registre d'unité centrale (tel que l'accumulateur
ou le compteur d'instructions) peut être une variable partagée entre
processus ou tâches? Expliquer.
Question 5. Tous les threads d'un processus partagent entre eux certaines
choses, notamment :
Question 6. Dans un système qui utilise les lightweight processes (LWP),
avons-nous normalement plus ou moins de LWP qu'il y a d'unités centrales
disponibles? Et pourquoi?
Question 7. Il y a une certaine relation entre le diagramme de transition
d'états d'un processus, et les interruptions du processus. Dites si pour
chacune des transitions suivantes, le processus qui effectue la transition
est interrompu : a) prêt ( exécution
b) exécution ( prêt
c) exécution ( en attente d) attente ( prêt Question 8. Pour chacun de ces cas, est-ce que la transition peut causer ou
être causée par un événement dans un autre processus? Expliquez brièvement. a) prêt ( exécution
b) exécution ( prêt
c) exécution ( en attente d) attente ( prêt
Question 9. Donnez un exemple de système à temps réel 'rigides' ou 'durs'
(hard : dans lequel les échéances sont essentielles et précises) et un
exemple de système à temps réel 'souple', soft.
a) Rigide b) Souple Question 10 et 11 (4 points). Considérez les processus de la table
suivante : |Processus|Arrivée |Cycle |
|A |0 |3 |
|B |1 |6 |
|C |4 |4 |
|D |6 |2 |
Donner les diagrammes de Gantt pour leur exécution selon les algorithmes
suivants : a) Premier arrivé, premier servi (FCFS) b) Plus court d'abord (SJF)
c) Plus court d'abord préemptif (temps restant le plus court d'abord)
d) Tourniquet quantum = 2
Question 12. Dites si la famine est possible dans le cas des quatre
algorithmes suivants d'ordonnancement UCT. Brièvement expliquer pourquoi
(1 phrase chaque). Faites l'hypothèse qu'il n'y a pas de processus qui
roulent 'à jamais'. a) Premier arrivé, premier servi (FCFS)
b) Tourniquet (RR) c) Plus court d'abord (SJF) d) Plus court d'abord préemptif (Preemptive SJF) Question 13. L'algorithme suivant a été proposé pour obtenir l'exclusion
mutuelle sur section critique : Process Pi:
repeat
flag[i] = vrai;
while(flag[j]==vrai){};
Section critique flag[i] = faux; Section Restante
forever Est-il bon? Et pourquoi? Expliquez. Question 14. Considérons une variable sémaphore S, qui garde une section
critique SC : Si S est plus grand que 0, ceci veut dire que
Si S est égal à 0, ceci veut dire que
Si S est plus petit que 0, ceci veut dire que
Question 15. Expliquez pourquoi la saisie et attente sur ressources est une
condition nécessaire pour l'impasse et comment nous pourrions éviter
l'impasse en éliminant la possibilité de cette condition (au moins en
théorie...). Question 16. Considérez le graphe d'allocation ressources suivant . Y a-t-
il une impasse dans ce graphe? Que votre réponse soit positive ou négative,
expliquez pourquoi. Rappel : les ronds sont des processus, les points dans
les rectangles sont des ressources. Une flèche d'un rectangle à un rond
veut dire que le processus utilise la ressource, une flèche en direction
contraire veut dire que le processus demande la ressource. FIN DE L'EXAMEN Bonne chance! ----------------------- P3 P1 P2 P4
P1