DEUG MIAS2 - MODULE INFORMATIQUE (MIA10B) EXAMEN (SEPTEMBRE 1999)



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

La mémoire. Un ordinateur. L'octet. Le bit

Corrigé des TD 1 à 5

Licence Sciences et Technologies Examen janvier 2010

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

TD : Codage des images

Structure fonctionnelle d un SGBD

Bases de programmation. Cours 5. Structurer les données

Partie 7 : Gestion de la mémoire

UE Programmation Impérative Licence 2ème Année

Examen Médian - 1 heure 30

Arbres binaires de recherche

nom : Collège Ste Clotilde

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Représentation d un entier en base b

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Algorithmique & programmation

Génie Logiciel avec Ada. 4 février 2013

Algorithmique et Programmation, IMA

Algorithme. Table des matières

SYSTÈME DE GESTION DE FICHIERS

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

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Chap17 - CORRECTİON DES EXERCİCES

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.


1.1 L EXPLORATEUR WINDOWS

Système de Gestion de Fichiers

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)

TP1 - Prise en main de l environnement Unix.

Cours Informatique 1. Monsieur SADOUNI Salheddine

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

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Java Licence Professionnelle CISII,

Algorithmes et programmation en Pascal. Cours

Direction des Systèmes d'information

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Mon premier rpm. 7 juin Avant de commencer RPM URPMI RPMBUILD... 2

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

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

Programmation Visual Basic. Visite guidée d'un programme Visual Basic 6.0

INSTALLATION ET CONFIGURATION DE HYPER V3

TD3: tableaux avancées, première classe et chaînes

Archivage pérenne : les formats conformes Version :

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

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

Recherche dans un tableau

TRIGONOMETRIE Algorithme : mesure principale

Organiser les informations ( approche technique )

Architecture des ordinateurs

Protéger les données et le poste informatique

TP : Gestion d une image au format PGM

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

Programmer en JAVA. par Tama

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

L informatique en BCPST

.NET - Classe de Log

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

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

Compilation (INF 564)

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Vue d ensemble de Windows PowerShell

Informatique Générale

ACTIVITÉ DE PROGRAMMATION

Programmation en Java IUT GEII (MC-II1) 1

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

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

Premiers Pas en Programmation Objet : les Classes et les Objets

Ordonnancement temps réel

Plan du cours. Historique du langage Nouveautés de Java 7

Découvrir l'ordinateur (niveau 2)

V- Manipulations de nombres en binaire

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

TP 1 Prise en main de l environnement Unix

KM2 W1 EVC1 M3~ Manuel AUTOMSIM API 24V. BP Dcy 1MINI 1MAXI.

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

UE C avancé cours 1: introduction et révisions

Guide Utilisateur ACQUIT : Anomalies issues du Guichet XML

Clé USB. Quel type de données peut contenir une clé USB?

EXCEL TUTORIEL 2012/2013

DM 1 : Montre Autoquartz ETA

4. Groupement d objets

Algorithmique et programmation : les bases (VBA) Corrigé

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Initiation à l algorithmique

Cours Bases de données 2ème année IUT

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

L ALGORITHMIQUE. Algorithme

COURS AUTOCAD. Création et utilisation des blocs. b leclerc. ERP Jean Moulin METZ

L ARBORESCENCE. Qu est-ce qu un dossier? L arborescence?

Transcription:

coller l étiquette ici DEUG MIAS2 - MODULE INFORMATIQUE (MIA10B) EXAMEN (SEPTEMBRE 1999) Durée : 2 heures Aucun document autorisé - Calculatrices interdites Les réponses doivent être brèves et justifiées Remarque : Ne pas dégrafer les différents documents qui vous sont remis. page 1

Partie B (Système) 5. QUESTIONS DE COURS (7 POINTS) 5.1. (2 points) Quels sont les éléments constituant le compte d un utilisateur sur un ordinateur? NB: 5 lignes max 5.2. (2 points) Qu est-ce qu une piste dans un disque? Qu est-ce qu un secteur dans un disque? NB: 5 lignes max 5.3. (3 points) Indiquez la différence entre un système multi-tâche préemptif et un système multitâche coopératif. NB: 8 lignes max page 2

6. PROBLèME (28 POINTS) On suppose que l on dispose d un disque amovible ZIP (environ 100 Mo) de 98 000 blocs (numérotés en décimal de 0 à 97 999). Chaque bloc permet de stocker 1 Ko. On suppose que les blocs sont chaînés entre eux. 6.1. (3 points) Combien de blocs seront nécessaires pour stocker les fichiers F1 (1100 octets), F2 (1010 octets) et F3.DAT(2035 octets). Pour stocker les fichiers sur le disque ZIP, on construit un catalogue qui apparaît sous la forme d une table décrivant la liste des fichiers contenus dans un répertoire racine appelé /. Chaque entrée de la table contient les informations suivantes : le nom du fichier (27 caractères maximum), le type du fichier (répertoire ou fichier), codé sur un caractère (R ou F), le numéro du premier bloc contenant le fichier (codage sur 4 octets). Si c est un fichier, on y trouvera le contenu de ce fichier (blocs chaînés entre eux). Si c est un répertoire, on y trouvera un catalogue. On considère que le bloc 0 décrit le contenu du répertoire racine du disque ZIP. 6.2. (2 points) Combien d octets faut-il dans le bloc pour stocker une entrée du catalogue? 6.3. (3 points) Combien d entrées peut-on stocker dans un bloc? Dans la suite de ce sujet, on utilisera la constante E pour caractériser cette valeur. page 3

Pour pouvoir stocker plus de E fichiers dans le répertoire racine, on utilise la technique suivante: Si le catalogue dépasse un bloc, le type de la dernière entrée de fichier ( qui n a pas de nom) est caractérisée par le caractère C. Le numéro indiqué correspond alors à celui du bloc dans lequel la suite de la table est stockée, Le même procédé est utilisé lorsque le stockage du catalogue dépasse 2, 3, N blocs sur le disque, Le type de fichier de la dernière entrée est caractérisé par le caractère X. Aucun nom ou numéro de bloc n est spécifié. Considérons la définition des procédures telles qu indiquées ci dessous: procedure LOAD_BLOC (NUM : ENTIER_32; var B : BLOC_TYPE); Charge dans la variable B le contenu du bloc disque numéro NUM. procedure GET_CATALOG_ENTRY (B : BLOC_TYPE; var N : CHAINE_27; var T : CARACTERE; var N : ENTIER_32); Charge la prochaine entrée du bloc transmis en paramètre et la décortique en trois parties: le nom sur 27 caractères, le type sur un caractère et le numéro de bloc associé sur un entier 32 bits. Par prochaine, on entend l entrée qui se situe après la dernière entrée lue. Cette primitive provoque un arrêt sur système si on tente de lire la E+1ème entrée d un bloc. Considérons la procédure suivante du système d exploitation (en pseudo-pascal) : procedure XXX is NOMF : CHAINE_27; TYPF : CARACTERE; NBLF : ENTIER_32; BLOC : BLOC_TYPE; begin LOAD_BLOC (0, BLOC); TYPF := ; while TYPF /= X do begin GET_CATALOG_ENTRY (BLOC, NOMF, TYPF, NBLF); if TYPF = C then LOAD_BLOC (NBLF, BLOC); if TYPF = F then WRITE_LN ( fichier, NOMF); if TYPF = R WRITE_LN ( repertoire, NOMF); end; end XXX; 6.4. (3 points) Que fait cette procédure? à quelle commande Unix pourriez-vous l associer? page 4

On souhaite écrire une fonction indiquant si un nom de fichier ou de répertoire est référencé dans le catalogue d un répertoire quelconque. Le premier paramètre est constitué du numéro du premier bloc contenant ce catalogue du répertoire que l on examine et le second du nom de fichier recherché. La fonction indique au moyen d un booléen si le nom de fichier est référencé ou non. La fonction possède l en-tête suivant : function FIND_IN_DIRECTORY (NUM : ENTIER_32; NAM : CHAINE_32) return BOOLEAN; 6.5. (6 points) Donnez l algorithme de la fonction FIND_IN_DIRECTORY. NB: Vous pouvez vous inspirer de celui de la procédure XXX. page 5

Considérons maintenant la structure arborescente définie dans la figure ci-dessous. Les répertoires sont indiqués par des cercles blancs et les fichiers indiqués au moyen de cercles noirs. Les flèches indiquent ce que contient un répertoire. / f1 titi toto f1 f2 f3 f4 On considère ce qui suit : Les fichiers contiennent une chaîne de caractères décrivant leur chemin absolu, Le catalogue du répertoire racine ( / ) est celui indiqué dans la question suivante, les données des fichiers f1, f2, f3 et f4 se trouvent respectivement dans les blocs 12, 14, 22 et 27. 6.6. (6 points) Remplissez les tables ci-dessous en vous inspirant de ce qui a été fait pour le répertoire racine (bloc 0). numéro de bloc: 0 -> / numéro de bloc: ->f1 f1, F, 10 titi, D, 30 toto, D, 31,X,0 numéro de bloc: -> titi numéro de bloc: -> f1 (dans titi) numéro de bloc: -> f2 numéro de bloc: -> toto numéro de bloc: -> f3 numéro de bloc: -> f4 page 6

On souhaite désormais construire la fonction FIND_FROM_ROOT qui indique si le nom d un fichier se trouve dans l arborescence partant d un répertoire donné. Cette fonction parcours récursivement les répertoires inclus dans le répertoire transmis jusqu à ce qu elle trouve une entrée qui corresponde (fichier ou répertoire) à ce qui a été transmis. Le format de cette fonction est indiqué ci après. Le premier paramètre correspond au numéro de bloc dans lequel on trouve le catalogue du répertoire qui tiendra lieu de racine, le second paramètre donne le nom du fichier que l on recherche. La fonction rend le numéro du premier bloc disque du fichier ou du répertoire ainsi trouvé. Par convention, la valeur -1 signifie que l on a rien trouvé function FIND_FROM_DIR (NUM : ENTIER_32; NAM : CHAINE_32) return ENTIER_32; 6.7. (5 points) Donnez l algorithme de la fonction FIND_FROM_ROOT. NB: Vous pouvez vous inspirer de ceux de la procédure XXX et de la fonction FIND_IN_DIRECTORY. page 7