Mid-Term Exam EEE435 Operating Systems 21 October 2014, 13:40-14:30 hrs Examen de mi-session GEF435 Systèmes d exploitation 21 octobre 2014, 13h40 14h30 Examiner: Dr Alain Beaulieu Examinateur: Capt A. Lapointe, MSc. Instructions: Instructions: Do not turn this page until instructed to do so. Ne tournez pas cette page avant l instruction de l examinateur. This exam is closed book; there are 10 questions worth a total of 50 marks. Questions have the values indicated in the centre column. For questions that contain sub-questions, the values are indicated in brackets. You have 50 minutes to complete the test. If a question seems unclear, make a reasonable assumption, document it, and answer the question as though the assumption were correct. The examiners will not clarify the meaning of questions during the exam. Good luck! Cet examen est à livre fermé; il y a 10 questions pour un total de 50 points. Les questions ont les valeurs indiquées dans la colonne centrale. Pour les questions qui comportent des sousquestions, la valeur est indiquée entre parenthèses. Vous avez 50 minutes pour compléter l examen. Si une question ne vous semble pas claire, faites des suppositions raisonnables, documentez-les, et répondez à la question en prenant compte de ces suppositions. Les examinateurs ne clarifieront pas le sens des questions pendant l examen. Bonne chance! 1/5
1. Operating systems can be seen from two perspectives, or views. 5 1. Les systèmes d exploitation peuvent être décrits de deux points de vue ou perspectives. a) What are these two perspectives? (2) 1. Quelles sont ces deux perspectives? (2) b) In a concise way, describe these two perspectives. (3) 2. Décrivez ces deux perspectives de façon concise. (3) 2. a) In what data structure does the operating system store the information about processes? (2) 6 2. a) Dans quelle structure de données, est-ce que le système d exploitation enregistre l information sur les processus? (2) b) Give three examples of information that is stored. (3) c) Why does this information need to be stored? (1) b) Donnez trois exemples d information enregistrée. (3) c) Pourquoi doit-on enregistrer cette information? (1) 2/5
3. In the diagram below explain how each process state transition can take place and for the two missing transitions, explain how they cannot occur. In your answer state precisely the two states involved in each part of your answer. 8 3. Basé sur le diagramme ci-dessous, expliquez chacune des transitions entre les états d un processus et expliquez les deux transitions manquantes. Dans votre réponse, indiquez clairement les deux états impliqués dans chacune des transitions auxquelles vous faites référence. Running / En exécution Blocked / Bloquée Ready / Prêt 3/5
4. Every solution that is proposed to solve race condition must meet four conditions. 8 4. Toutes les solutions possibles au problème de la concurrence critique doivent rencontrer quatre conditions. a) What are they? (4) a) Quelles sont-elles? (4) 4. b) We suggest to use a lock variable in the code that could be read to see if the shared resource was or was not available. Would this solve the race condition issue? (1) Explain. (3) 4. b) Nous suggérons d utiliser une variable verrou qui pourrait être lu pour voir si la ressource partagée est disponible ou non. Est-ce que cela règlerait la concurrence critique? (1) Expliquez. (3) 5. We have seen in the course that semaphore can solve the problem of race conditions. a) What is the improvement that semaphores have over the sleep() and wakeup() signals proposed in the elaboration of the producer/consumer problem? (2) 4 5. Nous avons vu dans le cours que les sémaphores peuvent régler la concurrence critique. a) Quel est l avantage des sémaphores par rapport au signaux sleep() et wakeup() qui étaient suggérés dans la solution au problème du producteur/consommateur? (2) b) What property is essential to the implementation of semaphores? (1) b) Quelle propriété est essentielle dans l implémentation des sémaphores? (1) c) How is this property usually implemented? (1) c) Comment est-ce que cette propriété est normalement implémentée? (1) 4/5
6. What does it mean when resources are nonpreemptive? 3 6. Qu est-ce que la non-préemptivité d une ressource? 7. Why are monitors an improvement over semaphores for programmers? 3 7. Pourquoi les moniteurs sont-ils avantageux pour les programmeurs? 8. Why does the CPU have to save most of its registers during a system call and why is it not done by the Operating System? 5 8. Pourquoi le micro-processeur doit-il sauvegarder la plupart de ses registres lui-même plutôt que le système d exploitation ne s en occupe. 9. What are two advantages of using user level threads instead of kernel level threads? 2 9. Donnés deux avantages d utiliser des threads utilisateur par rapport au thread noyau? 10. a) Explain what a deadlock is. (2) 6 10. a) Expliquez ce qu est un interblocage. (2) b) What are the 4 conditions that are required to have a deadlock? (4) 4. Quelles sont les quatre conditions pour avoir un interblocage? (4) 4. END OF EXAM FIN DE L EXAMEN 5/5