La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "1 Chapitre 4 1. Systèmes dentrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)"— Transcription de la présentation:

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

2 2 1.Systèmes dentrée/sortie Concepts importants : n Matériel E/S n Communication entre UCT et contrôleurs périphériques n DMA n Pilotes et contrôleurs de périfs n Sous-système du noyau pour E/S u Tamponnage, cache, spoule

3 3 Vue schématique dun disque dur rotation Vue de dessus Plateau Tête de lecture/écriture Surfaces Cylindre Secteur Vue en coupe Piste Bloc

4 4 Cylindres – Secteurs - Clusters Cylindre: un tour de disque Secteur: Un subdivision dun cylindre (512 Kilooctect) Cluster: Un groupement de secteurs Low Level Format = Division dun disque en secteurs AdresseLes DonnéesCRC Cylindre tête Secteur Structure, programme ou données Correction derreur Low level format Application ou systèmeA lécriture

5 5 Support physique de codage de linformation n Disque dur (A) Piste (B) Secteur géométrique (C) secteur d'une piste (D) cluster

6 6 Structure typique de bus PC PCI: Peripheral Component Interconnect

7 7 Communication entre UCT et contrôleurs périphériques n Deux techniques de base: u UCT et contrôleurs communiquent directement par des registres u UCT et contrôleurs communiquent par des zones de mémoire centrale u Combinaisons de ces deux techniques RAM UCT Contr. Périfer.

8 8 Accès direct en mémoire (DMA) n Dans les systèmes sans DMA, lUCT est impliquée dans le transfert de chaque octet n DMA est utile pour exclure limplication de lUCT surtout pour des E/S volumineuses n Demande un contrôleur spécial a accès direct à la mémoire centrale

9 9 DMA: six étapes

10 10 n 1- CPU demande au pilote du périphérique (disque) (software) de transférer les données du disque au buffer à ladresse x n 2 - Le pilote du disque demande au contrôleur du disque (hardware) de transférer c octets du disque vers le buffer à ladresse x n 3 - Le contrôleur du disque initie le transfert DMA n 4 - Le contrôleur du disque envoie chaque octet au contrôleur du DMA n 5 - Le contrôleur DMA transfert les octets au buffer x en augmentant ladresse x et décrémentant le compteur c n 6 - Lorsque c=0 DMA envoie une interruption pour signaler la fin du transfert DMA: six étapes

11 11 Vol de cycles n Le DMA ralentit encore le traitement dUCT car quand le DMA utilise le bus mémoire, lUCT ne peut pas sen servir n Mais beaucoup moins que sans DMA, quand lUCT doit soccuper de gérer le transfert Mémoire Périphérique Mém UCT DMA c Contr. Contr UCTMém

12 12 Principes de gestion de périphériques n Contrôle des périphériques. u Utilisation de pilotes. F Programme de contrôle entre lapplication et le périphérique. u Pilotes communiquent avec les contrôleurs. F Accès aux registres de commande, détat, et de données. F Instructions dentrées et de sorties spécifiques. n Premier niveau dabstraction des périphériques. Application Process Processus File Manager Gestionnaire de fichiers Device Driver Pilote Contrôleur de périphérique Command Commande Status État Data Données Interface matérielle API

13 13 Principes de gestion de périphériques Techniques dentrées et de sorties (E/S) n E/S avec accès direct en mémoire (DMA) u Le contrôleur du périphérique accède directement à la mémoire F Registre de données pointe vers le bloc mémoire à transférer. Mémoire principale UCT Contrôleur Périphérique UCT Contrôleur Périphérique Mémoire principale Accès non directAccès direct

14 14 Périphériques blocs ou caractères n Périphériques blocs: disques, rubans… u Commandes: read, write, seek u Accès brut (raw) ou à travers système fichiers u Accès représenté en mémoire (memory-mapped) F Semblable au concept de mémoire virtuelle ou cache: une certaine partie du contenu du périphérique est stocké en mémoire principale(cache), donc quand un programme fait une lecture de disque, ceci pourrait être une lecture de mémoire principale n Périphériques par caractère (écran) u Get, put traitent des caractères u Librairies au dessus peuvent permettre édition de lignes, etc.

15 15 Sous-système E/S du noyau n Fonctionnalités: u Ordonnancement E/S F Optimiser lordre dans lequel les E/S sont exécutées u Mise en tampon u Mise en cache u Mise en attente et réservation de périphérique spoule u Gestion des erreurs

16 16 Principes de gestion de périphériques Tamponnage des données n Principes. u Simultanéité des opérations dentrées et de sorties avec les opérations de calcul. u Le contrôleur de périphérique inclue plusieurs registres de données. u Pendant que lUCT accède à un registre, le contôleur peut accéder à un autre registre. Process Processus Contrôleur Données Périphérique Process Processus Contrôleur B Périphérique A Process Processus Contrôleur B Périphérique A Sans tampon Lecture du tampon A i Lecture du tampon B

17 17 Sous-système E/S du noyau Mise en tampon n Double tamponnage: u P.ex. en sortie: un processus écrit le prochain enregistrement sur un tampon en mémoire tant que lenregistrement précédent est en train dêtre écrit u Permet superposition traitement E/S

18 18 Sous-système E/S du noyau Mise en cache n Quelques éléments couramment utilisés dune mémoire secondaire sont gardés en mémoire centrale n Donc quand un processus exécute une E/S, celle-ci pourrait ne pas être une E/S réelle: u Elle pourrait être un transfert en mémoire, une simple mise à jour dun pointeur, etc.

19 19 Sous-système E/S du noyau Mise en attente et réservation de périphérique: spool n Spool ou Spooling est un mécanisme par lequel des travaux à faire sont stockés dans un fichier, pour être ordonnancés plus tard n Pour optimiser lutilisation des périphériques lents, le SE pourrait diriger à un stockage temporaire les données destinés au périphérique (ou provenant delle) u P.ex. chaque fois quun programmeur fait une impression, les données pourraient au lieu être envoyées à un disque, pour être imprimées dans leur ordre de priorité u Aussi les données en provenance dun lecteur optique pourraient être stockées pour traitement plus tard

20 20 Sous-système E/S du noyau Gestion des erreurs n Exemples derreurs à être traités par le SE: u Erreurs de lecture/écriture, protection, périph non-disponible n Les erreurs retournent un code raison n Traitement différent dans les différents cas…

21 21 Gestion de requêtes E/S n P. ex. lecture dun fichier de disque u Déterminer où se trouve le fichier u Traduire le nom du fichier en nom de périphérique et location dans périphérique u Lire physiquement le fichier dans le tampon u Rendre les données disponibles au processus u Retourner au processus

22 22 2- Systèmes de fichiers Concepts importants : n Systèmes fichiers n Méthodes daccès n Structures Répertoires n Structures de systèmes fichiers n Méthodes dallocation n Gestion de lespace libre n Implémentation de répertoires

23 23 Quest quun fichier n Collection nommée dinformations apparentées, enregistrée sur un stockage secondaire u Nature permanente n Les données qui se trouvent sur un stockage secondaires doivent être dans un fichier n Différents types: u Données (binaire, numérique, caractères….) u Programmes

24 24 Structures de fichiers n Aucune – séquences doctets… n Texte: Lignes, pages, documents formatés n Source: programmes… n Etc.

25 25 Attributs dun fichier n Constituent les propriétés du fichiers et sont stockés dans un fichier spécial appelé répertoire (directory). Exemples dattributs: u Nom: F pour permet aux personnes daccéder au fichier u Identificateur: F Un nombre permettant au SE didentifier le fichier u Type: F Ex: binaire, ou texte; lorsque le SE supporte cela u Position: F Indique le disque et ladresse du fichier sur disque u Taille: F En bytes ou en blocs u Protection: F Détermine qui peut écrire, lire, exécuter… u Date: F pour la dernière modification, ou dernière utilisation u Autres…

26 26 Opérations sur les fichiers: de base n Création n Écriture u Pointeur décriture qui donne la position décriture n Lecture u Pointeur de lecture n Positionnement dans un fichier (temps de recherche) n Suppression dun fichier u Libération despace

27 27 Autres opérations n Ajout dinfos n Rénommage n Copie u peut être faite par rénommage: deux noms pour un seul fichier n Ouverture dun fichier: le fichier devient associé à un processus qui en garde les attributs, position, etc. u Pointeurs de fichier F Pour accès séquentiel F P.ex. pour read, write u Compteur douvertures u Emplacement n Fermeture

28 28 Types de fichiers n Certains SE utilisent lextension du nom du fichier pour identifier le type. u Microsoft: Un fichier exécutable doit avoir lextension.EXE,.COM, ou.BAT (sinon, le SE refusera de lexécuter) n Le type nest pas défini pour certains SE u Unix: lextension est utilisée (et reconnue) seulement par les applications n Pour certains SE le type est un attribut u MAC-OS: le fichier a un attribut qui contient le nom du programme qui la généré (ex: document Word Perfect)

29 29 Types de fichiers

30 30 Structure logique des fichiers n Le type dun fichier spécifie sa structure u Le SE peut alors supporter les différentes structures correspondant aux types de fichiers F Cela rend plus complexe le SE mais simplifie les applications n Généralement, un fichier est un ensemble denregistrements (records) u Chaque enregistrement est constitué dun ensemble de champs (fields) F Un champ peut être numérique ou chaîne de chars. u Les enregistrements sont de longueur fixe ou variable (tout dépendant du type du fichier) n Mais pour Unix, MS-DOS et autres, un fichier est simplement une suite doctets « byte stream » n Cest lapplication qui interprète le contenu et spécifie une structure

31 31 Méthodes daccès Séquentielle Indexée Directe

32 32 Méthodes daccès: 4 de base n Séquentiel (rubans ou disques): lecture ou écriture des enregistrements dans un ordre fixe n Indexé séquentiel (disques): accès séquentiel ou accès direct (aléatoire) par lutilisation dindex n Indexée: multiplicité dindex selon les besoins, accès direct par lindex n Direct ou hachée: accès direct à travers tableau dhachage n Pas tous les SE supportent les méthodes daccès u Quand le SE ne les supporte pas, cest à lapplication de les supporter

33 33 Méthodes daccès aux fichiers n La structure logique dun fichier détermine sa méthode daccès n Plusieurs SE modernes (Unix, Linux, MS- DOS…) fournissent une seule méthode daccès (séquentielle) car les fichiers sont tous du même type (ex: séquence doctets) u Mais leur méthode dallocation de fichiers permet habituellement aux applications daccéder aux fichiers de différentes manières n Ex: les systèmes de gestions de bases de données (DBMS) requièrent des méthodes daccès plus efficaces que juste séquentielle

34 34 Fichiers à accès séquentiel (archétype: rubans) bloc enregistrements... La seule façon de retourner en arrière est de retourner au début (rébobiner, rewind) En avant seulement, 1 seul enreg. à la fois espace interbloc...

35 35 Lecture physique et lecture logique dans un fichier séquentiel n Un fichier séquentiel consiste en blocs doctets enregistrés sur un support tel que ruban, disque… n La dimension de ces blocs est dictée par les caractéristiques du support n Ces blocs sont lus (lecture physique) dans un tampon en mémoire n Un bloc contient un certain nombre denregistrements (records) qui sont des unités dinformation logiques pour lapplication (un étudiant, un client, un produit…) u Souvent de longueur et contenu uniformes u Triés par une clé, normalement un code (code détudiant, numéro produit…) n Une lecture dans un programme lit le prochain enregistrement n Cette lecture peut être réalisée par u La simple mise à jour dun pointeur si la lecture logique précédente ne sétait pas rendue à la fin du tampon u La lecture du prochain bloc (dans un tampon dE/S en mémoire) si la lecture logique précédente sétait rendue à la fin du tampon F Dans ce cas le pointeur est remis à 0

36 36 Autres propriétés des fichiers séquentiels n Pour lécriture, la même idée: une instruction décriture dans un programme cause lajout dun enregistrement à un tampon, quand le tampon est plein il y a une écriture de bloc n Un fichier séquentiel qui a été ouvert en lecture ne peut pas être écrit et vice-versa (impossible de mélanger lectures et écritures) n Les fichiers séquentiels ne peuvent être lus ou écrits quun enregistrement à la fois et seulement dans la direction en avant

37 37 Mise à jour de fichiers séquentiels Vieux maître Fichier mise à jour Nouveau maître Programme de mise à jour Tous les fichiers sont triés par la même clé

38 38 Mise à jour de fichiers séquentiels triés: exemple Retirer 5 Modif 12 Ajout 20 Ajout Vieux maîtreMises à jourNouveau maître + = (12 a été modifié) Lalgorithme fonctionne lisant un enregistrement à la fois, en séquence, du vieux maître et du fichier des mises à jour

39 39 Accès direct ou haché ou aléatoire: accès direct à travers tableau dhachage n Une fonction dhachage est une fonction qui traduit une clé dans adresse, u P.ex. Matricule étudiant adresse disque n Rapide mais: u Si les adresses générées sont trop éparpillées, gaspillage despace u Si les adresses ne sont pas assez éparpillées, risque que deux clés soient renvoyées à la même adresse F Dans ce cas, il faut de quelques façon renvoyer une des clés à une autre adresse

40 40 Problème avec les fonctions dhachage Fonction dhachage dispersée qui nutilise pas bien lespace disponible Fonction dhachage concentrée qui utilise mieux lespace mais introduit des doubles affectations clés adr. disque clés adr. disque

41 41 Hachage:Traitement des doubles affectations n On doit détecter les doubles affectations, et sil y en a, un des deux enregistrements doit être mis ailleurs u ce qui complique lalgorithme clés adr. disque adr. alternative disque

42 42 Adressage Indexé séquentiel (index sequential) n Un index permet darriver directement à lenregistrement désiré, ou en sa proximité u Chaque enregistrement contient un champ clé u Un fichier index contient des repères (pointeurs) à certain points importants dans le fichier principal (p.ex. début de la lettre S, début des Lalande, début des matricules qui commencent par 8) u Le fichier index pourra être organisé en niveaux (p.ex. dans lindex de S on trouve lindex de tous ceux qui commencent par S) u Le fichier index permet darriver au point de repère dans le fichier principal, puis la recherche est séquentielle

43 43 Exemples dindex et fichiers relatifs Pointe au début des Smiths (il y en aura plusieurs) Le fichier index est à accès direct, le fichier relatif est à accès séquentiel

44 44 Comparaison : Séquentiel et index séquentiel n P.ex. Un fichier contient 1 million denregistrements n En moyenne, accès sont nécessaires pour trouver un enregistrement si laccès est séquentiel! n Mais dans un séquentiel indexé, sil y a un seul niveau dindices avec 1000 entrées (et chaque entrée pointe donc à 1000 autres), n En moyenne, ça prend 1 accès pour trouver le repère approprié dans le fichier index n Puis 500 accès pour trouver séquentiellement le bon enregistrement dans le fichier relatif

45 45 Utilisation des 4 méthodes n Séquentiel (rubans ou disques): lecture ou écriture des enregistrements dans un ordre fixe n Pour travaux par lots: salaires, comptabilité périodique… n Indexé séquentiel (disques): accès séquentiel ou accès direct par lutilisation dindex n Pour fichiers qui doivent être consultés parfois de façon séquentielle, parfois de façon directe (p.ex. par nom détudiant) n Indexée: multiplicité dindex selon les besoins, accès direct par lindex n Pour fichiers qui doivent être consultés de façon directe selon des critères différents (p.ex. pouvoir accéder aux infos concernant les étudiants par la côte du cours auquel ils sont inscrits) n Direct ou hachée: accès direct à travers tableau dhachage n Pour fichiers qui doivent être consultés de façon directe par une clé uniforme (p.ex. accès aux information des étudiants par No. de matricule)

46 46 Répertoires

47 47 Structures de répertoires (directories) n Une collection de structures de données contenant infos sur les fichiers. F 1 F 2 F 3 F 4 F n Répertoires Fichiers n Tant les répertoires, que les fichiers, sont sur disques n À lexception dun répértoire racine en mémoire centrale

48 48 Organisation typique de système de fichiers

49 49 Information dans un répertoire n Nom du fichier n Type n Adresse sur disque, sur ruban... n Longueur courante n Longueur maximale n Date de dernier accès n Date de dernière mise à jour n Propriétaire n Protection

50 50 Opérations sur répertoires n Recherche de fichier n Création de fichier n Suppression de fichier n Lister un répertoire n Rénommer un fichier n Traverser un système de fichier

51 51 Organisation de répertoires n Efficacité: arriver rapidement à un enregistrement n Structure de noms: convenable pour usager u deux usagers peuvent avoir le même noms pour fichiers différents u Le même fichier peut avoir différents noms n Groupement de fichiers par type: u tous les programmes Java u tous les programmes objet

52 52 Structure à un niveau n Un seul répertoire pour tous les usagers n Ambiguïté de noms n Problèmes de groupement n Primitif, pas pratique

53 53 Répertoires à deux niveaux n Répertoire séparé pour chaque usager n path name, nom de chemin n même nom de fichier pour usagers différents est permis n recherche efficace n Pas de groupements

54 54 Répertoires à arbres (normal aujourdhui)

55 55 Caractéristiques des répertoires à arbres n Recherche efficace n Possibilité de grouper n Repertoire courant (working directory) u cd /spell/mail/prog

56 56 Graphes sans cycles: permettent de partager fichiers Unix: symbolic link donne un chemin à un fichier ou sous- répertoire

57 57 Partage de fichiers n Désirable sur les réseaux n Nécessité de protection

58 58 Protection n Types d accès permis u lecture u écriture u exécution u append (annexation) u effacement u listage: lister les noms et les attributs d un fichier

59 59 Listes et groupes daccès - UNIX n Modes daccès: R W E n Trois classes dusager: u propriétaire u groupe u public n Demander à ladministrateur de créer un nouveau groupe avec un certain usager et un certain propriétaire

60 60 Listes et groupes daccès n Mode daccès: read, write, execute n Trois catégories dusagers: RWX a) owner access RWX b) group access RWX c) others access n Demander au gestionnaire de créer un groupe, disons G, et ajouter des usagers au groupe n Pour un fichier particulier, disons jeux, définir un accès approprié ownergrouppublic chmod761jeux Changer le groupe dun fichier chgrp G jeux

61 61 Méthodes dallocation

62 62 Structures de systèmes de fichiers n Le système de fichiers réside dans la mémoire secondaire: disques, rubans... n File control block: structure de données contenant de linfo sur un fichier (RAM)

63 63 Structure physique des fichiers n La mémoire secondaire est subdivisée en blocs et chaque opération dE/S seffectue en unités de blocs u Les blocs ruban sont de longueur variable, mais les blocs disque sont de longueur fixe u Sur disque, un bloc est constitué dun multiple de secteurs contiguës (ex: 1, 2, ou 4) F la taille dun secteur est habituellement 512 bytes n Il faut donc insérer les enregistrements dans les blocs et les extraire par la suite u Simple lorsque chaque octet est un enregistrement par lui- même u Plus complexe lorsque les enregistrements possèdent une structure n Les fichiers sont alloués en unité de blocs. Le dernier bloc est donc rarement rempli de données u Fragmentation interne

64 64 Trois méthodes dallocation de fichiers u Allocation contiguë u Allocation enchaînée u Allocation indexée

65 65 Allocation contiguë sur disque répertoire

66 66 Allocation contiguë n Chaque fichier occupe un ensemble de blocs contiguë sur disque n Simple: nous navons besoin que dadresses de début et longueur n Supporte tant laccès séquentiel, que laccès direct n Application des problèmes et méthodes vus dans le chapitre de lallocation de mémoire contiguë n Les fichiers ne peuvent pas grandir n Impossible dajouter au milieu n Exécution périodique dune compression (compaction) pour récupérer lespace libre

67 67 Allocation enchaînée n Le répertoire contient ladresse du premier et dernier bloc, possible le nombre de blocs n Chaque bloc contient un pointeur à ladresse du prochain bloc: pointeur bloc =

68 68 Allocation enchaînée répertoire

69 69 Tableau dallocation de fichiers

70 70 Avantages - désavantages n Pas de fragmentation externe - allocation de mémoire simple, pas besoin de compression n Laccès à lintérieur dun fichier ne peut être que séquentiel u Pas de façon de trouver directement le 4ème enregistrement... n Lintégrité des pointeurs est essentielle n Les pointeurs gaspillent un peu despace

71 71 Allocation indexée: semblable à la pagination n Tous les pointeurs sont regroupés dans un tableau (index block) index table

72 72 Allocation indexée -1: pointeur nul

73 73 Allocation indexée n À la création dun fichier, tous les pointeurs dans le tableau sont nil (-1) n Chaque fois quun nouveau bloc doit être alloué, on trouve de lespace disponible et on ajoute un pointeur avec son adresse n Pas de fragmentation externe, mais les index prennent de lespace n Permet accès direct (aléatoire) n Taille de fichiers limitée par la taille de lindex block u Mais nous pouvons avoir plusieurs niveaux dindex: Unix n Index block peut utiliser beaucoup de mémoire

74 74 UNIX BSD: indexé à niveaux (config. possible) 12 blocs disque de 4K chaque 1024 blocs de 4K chaque 1024x 1024 blocs de 4K Bloc de 4K contient 1024 pointeurs Ce répertoire est en mémoire, tous les autres sont sur disque

75 75 UNIX BSD n Les premiers blocs dun fichier sont accessibles directement n Si le fichier contient des blocs additionnels, les premiers sont accessibles à travers un niveau dindices n Les suivants sont accessibles à travers 2 niveaux dindices, etc. n Donc le plus loin du début un enregistrement se trouve, le plus indirect est son accès n Permet accès rapide à petits fichiers, et au début de tous les fichiers. n Permet laccès à des grands fichier avec un petit répertoire en mémoire

76 76 Gestion despace libre Solution 1: vecteur de bits (solution Macintosh, Windows 2000) n Vecteur de bits (n blocs) … 012n-1 bit[i] = 0 block[i] libre 1 block[i] occupé n Exemple dun vecteur de bits où les blocs 3, 4, 5, 9, 10, 15, 16 sont occupés: u … n Ladresse du premier bloc libre peut être trouvée par un simple calcul

77 77 Gestion despace libre Solution 2: Liste liée de mémoire libre (MS-DOS, Windows 9x) Tous les blocs de mémoire libre sont liés ensemble par des pointeurs

78 78 Comparaison n Bitmap: u si la bitmap de toute la mémoire secondaire est gardée en mémoire principale, la méthode est rapide mais demande de lespace de mémoire principale u si les bitmaps sont gardées en mémoire secondaire, temps de lecture de mémoire secondaire... F Elles pourraient être paginées, p.ex. n Liste liée u Pour trouver plusieurs blocs de mémoire libre, plus daccès disques pourraient être demandés u Pour augmenter lefficacité, nous pouvons garder en mémoire centrale ladresse du 1er bloc libre

79 79 3.Structure de mémoire de masse (disques) Concepts importants : n Fonctionnement et structure des unités disque n Calcul du temps dexécution dune séquence dopérations n Différents algorithmes dordonnancement u Fonctionnement, rendement n Gestion de lespace de permutation u Unix

80 80 Disques magnétiques n Plats rigides couverts de matériaux denregistrement magnétique u surface du disque divisée en pistes (tracks) qui sont divisées en secteurs u le contrôleur disque détermine l`interaction logique entre lunité et lordinateur

81 81 Disques électroniques n Aujourdhui nous trouvons de plus en plus des types de mémoires qui sont adressées comme si elle étaient des disques, mais sont complètement électroniques u P. ex. flash memory u Il ny aura pas les temps de positionnement, latence, etc.

82 82 Ordonnancement disques n Problème: utilisation optimale du matériel n Réduction du temps total de lecture disque u étant donné une file de requêtes de lecture disque, dans quel ordre les exécuter?

83 83 Paramètres à prendre en considération n Temps de positionnement (seek time): u le temps pris par l`unité disque pour se positionner sur le cylindre désiré n Temps de latence de rotation (latency time) u le temps pris par l unité de disque qui est sur le bon cylindre pour se positionner sur le secteur désirée n Temps de lecture u temps nécessaire pour lire la piste n Le temps de positionnement est normalement le plus important, donc il est celui que nous chercherons à minimiser

84 84 File dattente disque n Dans un système multiprogrammé avec mémoire virtuelle, il y aura normalement une file dattente pour lunité disque n Dans quel ordre choisir les requêtes dopérations disques de façon à minimiser les temps de recherche totaux n Nous étudierons différents méthodes par rapport à une file dattente arbitraire: 98, 183, 37, 122, 14, 124, 65, 67 n Chaque chiffre est un numéro séquentiel de cylindre n Il faut aussi prendre en considération le cylindre de départ: 53 n Dans quel ordre exécuter les requêtes de lecture de façon à minimiser les temps totaux de positionnement cylindre n Hypothèse simpliste: un déplacement d`1 cylindre coûte 1 unité de temps

85 85 Premier entré, premier sorti: FIFO Mouvement total: 640 cylindres = (98-53) + (183-98)+... En moyenne: 640/8 = 80 axe de rotation

86 86 SSTF: Shortest Seek Time First Plus Court Temps de Recherche (positionnement) dabord (PCTR) n À chaque moment, choisir la requête avec le temps de recherche le plus court à partir du cylindre courant n Clairement meilleur que le précédent n Mais pas nécessairement optimal! n Peut causer famine

87 87 SSTF: Plus court servi Mouvement total: 236 cylindres (680 pour le précédent) En moyenne: 236/8 = 29.5 (80 pour le précédent)

88 88 SCAN: lalgorithme de lascenseur LOOK: n Scan : La tête balaye le disque dans une direction, puis dans la direction opposée, juquau bout. etc., en desservant les requêtes quand il passe sur le cylindre désiré u Pas de famine n Look : La tête balaye le disque dans une direction jusquil ny aie plus de requête dans cette direction, puis dans la direction opposée de même, etc., en desservant les requêtes quand il passe sur le cylindre désiré

89 89 SCAN: lascenseur Mouvement total: 208 cylindres En moyenne: 208/8 = 26 (29.5 pour SSTF) direction

90 90 Problèmes du SCAN n Peu de travail à faire après le renversement de direction n Les requêtes seront plus denses à lautre extrémité n Arrive inutilement jusquà 0

91 91 C-SCAN n Retour rapide au début (cylindre 0) du disque au lieu de renverser la direction n Hypothèse: le mécanisme de retour est beaucoup plus rapide que le temps de visiter les cylindres u Comme si les disques étaient en forme de beignes! C-LOOK C-LOOK n La même idée, mais au lieu de retourner au cylindre 0, retourner au premier cylindre qui a une requête

92 92C-LOOK 153 sans considérer le retour (19.1 en moyenne) (26 pour SCAN) MAIS 322 avec retour (40.25 en moyenne) Normalement le retour sera rapide donc le coût réel sera entre les deux retour: 169 (??) direction

93 93 C-LOOK avec direction initiale opposée direction Résultats très semblables: 157 sans considérer le retour, 326 avec le retour Retour 169

94 94 Comparaison n Si la file souvent ne contient que très peu déléments, lalgorithme du premier servi devrait être préféré (simplicité) n Sinon, SSTF ou SCAN ou C-SCAN? n En pratique, il faut prendre en considération: u Les temps réels de déplacement et retour au début u L`organisation des fichiers et des répertoires F Les répertoires sont sur disque aussi… u La longueur moyenne de la file u Le débit d arrivée des requêtes

95 95 1) Le SGF dUnix (UFS) 3) Le SGF de Windows NT (NTFS) 4) Comparaison NT vs UNIX 5) Conclusion & références

96 96 2) le SGF dUNIX Structure du disque: 1) Boot Bloc 2) Super Bloc 3) Liste inodes 4) Blocs de données

97 97 Micro$oft en 1988… * Mieux que la FAT du Dos/Windows * Mieux que HPFS de OS/2 New Technology File System (NTFS) 3) le SGF de Windows NT * Logical Cluster Numbers (LCN) * Virtual Cluster Number (VCN)

98 98 Master File Table... 3) le SGF de Windows NT

99 99 File Record... 3) le SGF de Windows NT * Resident * Non Resident * Attribute header * Attribute value

100 100 File Record Sample... 3) le SGF de Windows NT

101 101 n Différence de système de gestion de fichiers, Windows NT File System (NTFS) et File Allocation Table (FAT). n Les fichiers sont stockés dans des clusters n La taille des clusters est déterminée par la taille de la partition du disque dur. Exemple FAT16 : a) NTFS par rapport à FAT

102 102 n FAT32 : u Support des disques durs plus gros que 2048 Go u Fixe le problème de la taille limitée des clusters u Système de fichiers DOS le plus évolué aujourdhui FAT 32


Télécharger ppt "1 Chapitre 4 1. Systèmes dentrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)"

Présentations similaires


Annonces Google