Exercice 1 Question de cours (4 points)

Documents pareils
Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Partie 7 : Gestion de la mémoire

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Programmation C. Apprendre à développer des programmes simples dans le langage C

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

LES SYSTÈMES DE FICHIERS

Encryptions, compression et partitionnement des données

SYSTÈME DE GESTION DE FICHIERS

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

4D v11 SQL Release 5 (11.5) ADDENDUM

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Systemes d'exploitation des ordinateurs

Cours Informatique 1. Monsieur SADOUNI Salheddine

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Cryptographie et fonctions à sens unique

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Technologie SDS (Software-Defined Storage) de DataCore

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!

Structure fonctionnelle d un SGBD

PG208, Projet n 3 : Serveur HTTP évolué

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Algorithme. Table des matières

GESTION DE LA MEMOIRE

E-Commerce à Orthez E-Commerce : Se lancer - Générer des commandes - Se positionner : Explications et témoignages Orthez 15 mai 2008

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif :

Licence Sciences et Technologies Examen janvier 2010

Les journées SQL Server 2013

Programmation parallèle et distribuée

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

M06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS

Manuel d installation de Business Objects Web Intelligence Rich Client.

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Etude et développement d un moteur de recherche

Représentation d un entier en base b

Définitions. Numéro à préciser. (Durée : )

Limitations of the Playstation 3 for High Performance Cluster Computing

Représentation des Nombres

A5.2.3, Repérage des compléments de formation ou d'autoformation

Cloud computing et sécurité

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

Programmation parallèle et distribuée

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Initiation à la sécurité

DOCM Solutions officielles = n 2 10.

PROTEGER SA CLE USB AVEC ROHOS MINI-DRIVE

TIC. Tout d abord. Objectifs. L information et l ordinateur. TC IUT Montpellier

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

nom : Collège Ste Clotilde

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

SYS MEM. Gestion de la mémoire. Table des matières. IUT - Département Informatique. ASR2-Système. 1.1 Motivation

Architecture des ordinateurs

Le Network File System de Sun (NFS)

Parallélisme et Répartition

LA mémoire principale est le lieu où se trouvent les programmes et les

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Tester Windows 8 sans l'installer avec Virtualbox

Codage d information. Codage d information : -Définition-

Croisière au cœur d un OS Étape 4 : Mise en place de la pagination

datatale Boîtier Crypté 2.5-pouces pour disque dur Manuel d utilisation USB 2.0 AES 256 bit Rev.01

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Introduction aux SGBDR

Conversion d un entier. Méthode par soustraction

Informatique Générale

Projet de Bachelor Virtual Desktop Infrastructure

Adressage des données des contrôleurs du WAGO-I/O-SYSTEM 750. Note d application

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Création de maquette web

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Module Communication - Messagerie V6. Infostance. Messagerie

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Optimisation de 4D Server et 4D Web Server. Résumé. 4D Notes techniques

Tutoriel Création d une source Cydia et compilation des packages sous Linux

A -Systèmes de fichiers 1 - FAT vs NTFS

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Drupal : Optimisation des performances

Protection des données avec les solutions de stockage NETGEAR

Analyse des trajectoires acceptables en approche de virage assistance aux conducteurs

Guide des Spécifications Techniques

PRÉ-REQUIS ET INSTALLATION SERVEUR

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Atelier du 25 juin «Les bonnes pratiques dans l ing» Club

Outils permettant la diffusion de l information. Un point sur le droit numérique

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Gestion répartie de données - 1

Programmation linéaire

Introduction. Adresses

Sync-A-BOX et Duplicati. est une plateforme Cloud pour stocker et gérer vos données en ligne.

1 Définition. 2 Systèmes matériels et solides. 3 Les actions mécaniques. Le système matériel : Il peut être un ensemble.un sous-ensemble..

<Insert Picture Here> Solaris pour la base de donnés Oracle

Performance, rendement Vs Evolutivité

Transcription:

Info32B Systèmes d Exploitations année 2015-2016 Examen 15 décembre 2016 N. Sabouret L épreuve dure 2h00. Tous les documents sont autorisés. Le sujet comprend 4 exercices indépendants. Toutes vos réponses doivent être justifiées. Vous devez répondre sur la copie anonyme et la cacheter. Exercice 1 Question de cours (4 points) 1. Quelle est la différence entre un appel système et un shell? (1 point) Correction : Un appel système est une instruction que les processus peuvent utiliser pour invoquer une routine de l OS, via une interruption. Le shell est l interface entre l utilisateur (humain) et l OS, qui transforme les opérations de l humain (clic, commande) en appels systèmes. 2. Quel est l avantage de l allocation FAT par rapport à l allocation chaînée et par rapport à l allocation indexée? (1 point) Correction : L allocation FAT est une liste chaînée d index. Elle combine donc les avantages de l allocation chaînée (pas de fragmentation, peu de volume perdu dans le FCB et sur les blocs) avec ceux de l allocation indexée (accès direct, donc plus rapide). 3. Quelle est la différence entre le temps partagé et le temps réel? (1 point) Correction : Cela n a rien à voir. Le temps partagé, c est le fait que plusieurs processus soient actifs en même temps et se partagent le CPU. Le temps réel, c est le fait de garantir un temps de réponse pour un processus. 4. Qu est-ce qu un FCB et de quoi est-ce composé? (1 point) Correction : Le File Control Bloc est la structure de données contenant les informations nécessaires au système de fichier. Il comprend, entre autres, le nom, l adresse, la taille, la date, les droits et l utilisateur du fichier. Exercice 2 Remplacement de page (3 points) On considère un cache composé de 4 cadres de page et on reçoit les demandes d accès aux pages suivantes : 03 00 01 02 00 03 04 00 01 02 01 04 00 01 03 1

1. Donnez, sous la forme d un diagramme de Gantt, l exécution d un algorithme de remplacement de type LRU sur cet exemple (2 points) Correction : 03 00 01 02 00 03 04 00 01 02 01 04 00 01 03 0 03-02 03 1 00 - - - 2 01 04-3 02 01 - - 2. Combien y a-t-il eu de défauts de page? (1 point) Correction : 8 défauts. Exercice 3 Mémoire (7 points) On considère un système muni de 64Ko de mémoire physique géré de manière segmentée et paginée. Chaque processus peut utiliser 16 segments de 1Ko et le système supporte jusqu à 256 processus. La moitié des segments sont globaux. Les cadres de page font 512o. 1. Quelle est la taille de l adresse physique? Justifiez votre réponse. (0,5 point) Correction : 16 bits (2 16 = 64K). 2. Quelle est la taille de l adresse logique? Justifiez votre réponse. (0,5 point) Correction : 16 segments de 1Ko = 16Ko, donc 14 bits (2 14 = 16K) : 4 bits pour le numéro de segment, 10 pour le décalage. 3. Quelle est la taille de la mémoire virtuelle? Justifiez votre réponse. (0,5 point) Correction : 256 processus de 16Ko = 4Mo de mémoire virtuelle. Mais comme l ont fait remarquer plusieurs étudiants, la moitié des segments de chaque processus sont globaux. Donc on a en fait 256 8Ko + 1 8Ko 2Mo. Nous avons accepté les deux réponses. 4. Combien de pages un processus peut-il utiliser au maximum? Justifiez. (0,5 point) Correction : Chaque processus peut avoir au plus 32 pages de 512o (32 512 = 16K max par processus). 5. On rappelle que l adresse linéaire doit permettre d adresser toute la mémoire d un processus, mais qu elle n a pas besoin d adresser l ensemble de la mémoire virtuelle. Quelle est la taille et la composition de l adresse linéaire (justifiez votre réponse). (0,5 point) Correction : Il faut un numéro de page et un décalage (couvrant un cadre de page, donc log 2 (512) = 9 bits). Le tout est sur 14 bits pour couvrir les 16 Ko par processus. Donc 5 bits pour le numéro de page et 9 bits pour le décalage. 6. Quelle est la taille (en nombre de bits) de chaque ligne de la table des descripteurs? Justifiez votre réponse. (0,5 point) Correction : Chaque ligne contient les informations suivantes : adresse de base, limite, bit global. La limite est forcément inférieure à 1024 (taille max d un segment), donc sur 10 bits. L adresse de base peut couvrir l ensemble de la mémoire d un processus, donc 2

sur 14 bits (pas besoin de 22 bits qui couvrirait la mémoire virtuelle complète). La moitié des segments sont globaux (par exemple, le premier bit de l adresse de base correspond au niveau du segment). En tout, nous avons donc 14+10 = 24 bits. Nous avons aussi accepté la réponse 25 bits (+1 bit pour le bit "global/local") mais en réalité, ce bit global/local est contenu dans le bit d adresse. À un moment de l exécution, plusieurs processus P 1, P 2,..., P N sont en exécution dans le système. L état du système est partiellement décrit ci-après : Table de descripteurs du processus P1 : segment limite base global 00 00 85 00 00 0 01 03 B6 30 00 1 02 03 41 20 00 1 03 02 25 00 86 0 04 00 5F 03 18 0 Extrait de la table des pages du processus P1 : page cadre valide 00 36 0 01 7A 0 02 32 1 0E 00 1 0F 2A 0 10 2B 0 11 14 1 18 6C 1 19 55 1 1A 31 1 1B 30 0 Table de descripteurs du processus P2 : segment limite base global 00 00 A5 10 11 0 01 01 07 00 C0 0 02 03 B6 30 00 1 03 00 A3 00 1C 0 Extrait de la table des pages du processus P2 : page cadre valide 00 24 0 01 32 0 08 2A 1 09 76 1 0A 54 0 18 6C 1 19 55 1 1A 31 1 7. Quelle adresse physique correspond à l adresse logique 00 0B 50 pour le processus P1? (a) 00 05 B2 (b) 00 31 B2 (c) 00 AB 50 (d) Aucune de celles-là : il y a une erreur de segmentation (e) Aucune de celles-là : il y a un défaut de page Correction : L adresse binaire est 0000 1011 0101 0000 qui se décompose en décalage (10 bits) + numéro de segment (4 bits) + 2 bits nuls. En l occurrence : segment = 10 = 2 et décalage = 0011 0101 0000 = 0x350. On est donc sur le segment 2, qui a une limite à 0x341<0x350 donc il y a une erreur de segmentation. Réponse : D 3

8. Quelle adresse physique correspond à l adresse logique 00 0B 50 pour le processus P2? (a) 00 05 B2 (b) 00 31 B2 (c) 00 AB 50 (d) Aucune de celles-là : il y a une erreur de segmentation (e) Aucune de celles-là : il y a un défaut de page Correction : Même calcul que précédemment, mais cette fois sur le processus 2 : pas d erreur de segmentation. Base + décalage = 0x3000 + 0x350 = 0x3350 (soit 0011 0011 0101 0000 en binaire) pour l adresse linéaire, composée de décalage (1 0101 0000) et numéro de page (1 1001 = 0x19). La page 19 est valide et correspond au cadre 55 (0101 0101) ce qui donne par concaténation l adresse physique 1010 1011 0101 0000 = AB 50 Réponse : C 9. Quelle adresse physique correspond à l adresse logique 00 0C 0D pour le processus P1? (a) 00 05 B2 (b) 00 31 B2 (c) 00 AB 50 (d) Aucune de celles-là : il y a une erreur de segmentation (e) Aucune de celles-là : il y a un défaut de page Correction : L adresse binaire est 0000 1100 0000 1101 qui se décompose numéro de segment (0011 = 3) et décalage (0000 0000 1101 = 0x00d). Pas d erreur de segmentation, on arrive à l adresse linéaire 0x86+0xd = 0x93 soit 0000 0000 1001 0011 en binaire. On y trouve le décalage (0 1001 0011) et le numéro de page (0). La page n est pas valide, il y a un défaut de page. Réponse : E Remarque : une erreur s était glissée dans l énoncé : la page 00 était marquée valide et associée au cadre 36. Nous avons donc compté bon les deux réponses : défaut de page ou 0011 0110 (36) concaténé à 010010011 = 0110 1100 1001 0011 = 6C 93 10. Quelle adresse logique, pour quel processus, correspond à l adresse physique 00 D9 B2? (a) Processus P1, adresse 00 05 B2 (b) Processus P1, adresse 00 AB 50 (c) Processus P2, adresse 00 31 B2 (d) Processus P2, adresse 00 AB 50 (e) Aucune de celles-là Correction : L adresse physique s écrit 1101 1001 1011 0010, qui se décompose en décalage (1 1011 0010) et numéro de cadre (0110 1100 = 0x6C). Ce cadre correspond à la page 18 sur les deux processus (c est un segment partagé), ce qui donne l adresse linéaire 0011 0001 1011 0010 = 31 B2, soit base 30 00 et décalage 1B2. Le segment correspond est soit le 01 (processus 1), soit le 02 (processus 2). 4

3 des 4 adresses proposées sont trop grandes (segment A pour 31B2) ou invalides (AB50). Reste l adresse proposée pour P1 (05 B2) pour laquelle nous avons bien le segment 1 suivi du décalage 1B2 (en binaire : 0000 0101 1011 0010). Réponse : A Exercice 4 Disque SSD (6 points) On considère un disque SSD de 4 Mo comprenant 8 blocs de 512Ko, dont la table LBA est donnée ci-dessous : secteur 0 1 2 3 4 5 6 7 bloc 3 L 1 4 0 L 2 L date 769 534 681 210 721 754 589 345 usure 135 97 111 54 154 143 81 67 À partir de la 770 e écriture, le disque reçoit les requêtes d écriture sur les blocs suivants : 5 1 2 1 3 1 1. Quelle est l usure du secteur 2 à la fin de l exécution si on utilise une allocation simple, sans gestion de l usure? Correction : Il y a 3 requêtes d écriture sur le bloc 1 contenu dans le secteur 2, donc l usure à la fin de l exécution est 111 + 3 = 114. 2. Quel bloc contient le secteur 0 à la fin de l exécution si on utilise un algorithme de gestion de l usure dynamique? Justifiez votre réponse. (2 points) Correction : À la fin de l exécution, le secteur 0 contiendra le bloc 1. Nous pouvons dérouler l exécution en entier pour bien comprendre ce qu il se passe : t=770 bloc 5 placé dans le secteur 7 t=771 bloc 1 placé dans le secteur 1, secteur 2 libre t=772 bloc 2 placé dans le secteur 2, secteur 6 libre t=773 bloc 1 placé dans le secteur 6, secteur 1 libre t=774 bloc 3 placé dans le secteur 1, secteur 0 libre t=775 bloc 1 placé dans le secteur 0, secteur 6 libre Ce qui donne à la fin : secteur 0 1 2 3 4 5 6 7 bloc 1 3 2 4 0 L L 5 usure 136 99 112 54 154 143 82 68 Mais plus simplement, il suffit de remarquer que le bloc 3, contenu dans le secteur 0, est modifié à la 774e écriture sur le disque. Il sera donc déplacé, rendant le secteur 0 libre. La question est de savoir si le bloc 1 sera déplacé dans ce secteur ou dans un autre secteur moins usé. On peut noter qu à la 770e écriture (bloc 5), on perd un secteur libre. Le jeu se fait donc systématiquement entre deux secteurs libres : le secteur 5 (usure 143) et un autre secteur, qui va changer à chaque exécution, mais donc l usure sera forcément plus faible sauf s il s agit du secteur 4. Mais cela ne peut pas être le secteur 4 car il contient le bloc 0 qui n est jamais écrit. Donc à la 775e écriture, le bloc libre le moins usé sera bien le secteur 0, et c est là que le bloc 1 sera placé. 5

3. Quelle est l usure du secteur 3 à la fin de l exécution si on utilise un algorithme de gestion de l usure statique avec une limite d ancienneté t l = 1 : seuls les blocs déplacés au tour précédent sont protégés? Justifiez votre réponse. (3 points) Correction : Le secteur 3 aura une usure de 57. Pour le comprendre, nous pouvons simplement dérouler l exécution : t=770 bloc 5 placé dans le secteur 3, bloc 4 déplacé dans secteur 7 (libre) t=771 bloc 1 déplacé dans le secteur 6, secteur 2 libre, bloc 2 (ex-secteur 6) déplacé dans secteur 1 (libre) t=772 bloc 2 déplacé dans le secteur 3, secteur 1 libre, bloc 5 (ex-secteur 3) déplacé dans secteur 7, bloc 4 déplacé dans le secteur 1 (libre) t=773 bloc 1 reste en place (secteur le moins usé et non protégé) t=774 bloc 3 déplacé secteur 3, secteur 0 libre, bloc 2 (ex-secteur 3) déplacé dans secteur 7, bloc 5 déplacé dans secteur 1, bloc 4 déplacé dans secteur 2 (libre) t=775 bloc 1 reste en place Ce qui donne : secteur 0 1 2 3 4 5 6 7 bloc L 5 4 3 0 L 1 2 date 769 774 774 774 721 754 773 774 usure 135 100 112 57 154 143 83 70 Mais plus simplement, il suffit de remarquer que le secteur 3 est le moins usé. C est donc lui qui sera toujours choisi. Il n a droit qu à un cycle de répit. Il sera donc choisi aux écritures 770, 772 et 774. Son usure sera alors 54+3 = 57. 6