You are on page 1of 11
ECOLE POLYTECHNIQUE DE MONTREAL DEPARTEMENT DE GENIE ELECTRIQUE ET DE GENIE INFORMATIQUE SECTION INFORMATIQUE, EXAMEN FINA! Professeur : Kerly Titus Cours : Systémes d’exploitation (INF3600) Sections : 1, 2,3 Session : Automne 2000 Date : Samedi, 9 décembre 2000 Heure : 9430 @ 12h00 Piéces jointes : - Grille d’ordonnancement (page 6) Instructions spéciales : - Répondre a toutes les questions dans le cahier d’examen - Répondre é la question 1a sur la grille d’ordonnancement ci-jointe, et V'insérer dans le cahier d’examen Matériels permis : - Toute documentation permise - Calculatrice Question 1. Ordonnancement de processus [4/20] Considérez un systéme avec les caractéristiques suivantes : - 2 UCTs pouvant fonctionner en paralléle et partageant une méme file d’attente. - Une charge de 4 processus (PO, Pl, P2, P3) dont les caractéristiques sont énumérées dans la table 1 ci-dessous. - Lrdonnanceur de bas niveau implante V'algorithme du tourniquet avec priorité externe. Le processus ayant le plus haut niveau de priorité, i.e. plus petite valeur, est toujours placé en position de téte dans la file d’attente de ruct. - Unquantum de 5 unités. - Un temps de changement de contexte instantané. - 2 périphériques d’E/S similaires et partagés par les divers processus. - Lorsque 2 processus de méme niveau de priorité arrivent en méme temps dans la file d’attente de I' UCT, celui qui finit son E/S a priorité. + Lorsqu’un processus termine son exécution par une opération d’E/S, ses ressources ne sont libérées qu’au prochain changement de contexte. INF3600 Examen final ‘Automne 2000 Page 1 de 6 f D PO 0 8 2 4 PI 2 4 0 = 2 P2, 5 a 3 2.7, 3 PB. 6 6 1 3.5) 1 Table 1 - Charge de processus a) Dessiner un diagramme montrant l'état d'occupation des UCTs, de la file dattente des UCTs, des périphériques d’E/S, et des files d'attente des périphériques d’E/S. Utiliser la grille jointe a la fin de ce questionnaire, y inscrire votre nom, la détacher, et 'insérer dans le cahier d’examen. [3/4] b)Supposons que nous ayons utilisé un calcul de priorité interne (avec préemption) qui varie selon le temps d'utilisation de I’UCT et le temps d’attente dans la file de I'UCT, pensez-vous que la performance (temps de virement et d’attente) globale du systtme s’en trouverait améliorée pour notre charge de processus? Expliquez. [1/4] Question 2. Synchronisation de processus [3/20] Considérez une application bancaire dont les processus concurrentiels créditerAccompte, et lireAccompte peuvent se partager la variable balance pour Yaccés en écriture et en lecture. La synchronisation des processus est implantée a Yaide de sémaphores et utilise la premigre solution du probléme d’accés de ressources partagées en lecture et en écriture. Dans cette solution, les processus en lecture peuvent accéder immédiatement a la variable partagée en autant qu'un autre processus en lecture aie déja acquis la ressource. Lorsqu’un Processus requiert un accés en écriture pour la ressource partagée, celui-ci se doit d’attendre la fin des requétes d’accés en lecture. float balance; int créditerAccompte(float montant) { if (montant > 0) {balance += montant; return 0; ] else return 1; } INF3600 Examen final ‘Automne 2000 Page 2 de 6 float lireAccompte( ) { return balance; } a) Insérer le code de synchronisation dans chacun des processus ci-haut. Vous devez recopier et compléter le code existant dans le cahier d'examen. [2/3] b) Supposez que la plupart des opérations bancaires courantes consiste a créditer un acompte, expliquez laquelle des solutions (1% favorisant les lecteurs ou ime favorisant les écriveurs) de synchronisation serait plus appropriée. [1/3] Question 3. Mémoire virtuelle [7/20] a) Considérez une mémoire virtuelle ayant une taille de mémoire physique (principale) de 32 Méga-octets et supportant une taille de blocs de 512 octets. Aussi, supposez un processus occupant un espace adresse logique de 856 Kilo- octets. [4/7] 1°) Calculez le nombre de pages dans I’espace adresse logique, et le nombre de trames de I’espace adresse physique. 2°) Montrez les formats des adresses logiques et physiques. Spécifiez le nombre de bits pour les blocs, les pages, et les trames. 3°) Pour I’adresse logique (virtuelle) 11301, spécifiez son emplacement dans la mémoire physique. Supposez que la page contenant I’adresse 11301 se trouve dans la trame 15240. 4°) Est-ce possible que le nombre de pages requis par un processus soit plus élevé que le nombre de trames disponibles pour exécuter le processus en mémoire physique? Expliquez. b) Considérez la séquence de référence de pages w= {0, 1,2, 1,2, 1,2,1,2.3,4,5, 6,5, 6, 7} pour un processus. [3/7] 1°) En utilisant le modale de lespace vital, représentez allocation en mémoire physique des pages pour une taille de fenétre de 3 trames (i.e. V = 3). 2°) Estimez, le taux de fautes de page optimal. Quelle valeur minimale de V nous permettrait d’obtenir ce taux optimal? INF3600 Examen final ‘Automne 2000 Page 3 de 6

You might also like