• Aucun résultat trouvé

Chap. 2 Systèmes de gestion de fichiers

N/A
N/A
Protected

Academic year: 2022

Partager "Chap. 2 Systèmes de gestion de fichiers"

Copied!
12
0
0

Texte intégral

(1)

ASR04 – 2005 – Christophe Cruz

1

Systèmes d’exploitation

Chap. 2

Systèmes de gestion de fichiers

ASR04 – 2005 – Christophe Cruz

2

Problématique

Enregistrer une grande quantité d’informations Persistance des données après l’arrêt de la machine Accès simultané par plusieurs processus

ASR04 – 2005 – Christophe Cruz

3

Solutions

Structurer les données sur un support physique Mécanisme d’abstraction - « fichier »

Suite d’octets Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

4

Solutions

«Notion de droits »

Suite d’octets

Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

5

Solutions

Les fichiers sont gérés par le « système de gestion de fichiers »

Noyau

S.G.F. différent en fonction des besoins Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

6

Plan

Partie 1 : interface utilisateur des SGF courants 1. Les fichiers

2. Les répertoires

Partie 2 : implémentation des systèmes de gestion de fichiers 1. Organisation des systèmes de fichiers

2. Implémentation des fichiers 3. Implémentation des répertoires Partie 3 : Les appels systèmes

Chap. 2 - SGF

(2)

ASR04 – 2005 – Christophe Cruz

7

Plan

Partie 1 : interface utilisateur des SGF courants 1. Les fichiers

2. Les répertoires

Partie 2 : implémentation des systèmes de gestion de fichiers 1. Organisation des systèmes de fichiers

2. Implémentation des fichiers 3. Implémentation des répertoires Partie 3 : Les appels systèmes

ASR04 – 2005 – Christophe Cruz

8

1.1. Les fichiers

a) Le nommage des fichiers :

• Les fichiers possèdent un nom et un extension

• Les règles de nommage varient selon le SGF.

MS-Dos : 8 caractères et une extension facultative de 3 caractères jean.cpp, Jean.cpp, JEAN.Cpp même fichiers UNIX : 255 caractères, ToTo, toto, Urgent!, prog.c.tar.gz

NTFS et Windows : gestion UNICODE des noms, mais pas de gestion des majuscules.

ASR04 – 2005 – Christophe Cruz

9

1.1. Les fichiers

b) Les structures des fichiers :

Trois sortes de structures de fichiers

Arbre avec la notion de clé Ane Faon Poule

Casoar Daim Ecureuil Girafe Loup

Hase Ibis Séquence

d’octets 1 octet

Séquence d’enregistrement 1 Enregistrement Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

10

1.1. Les fichiers

c) Les types de fichiers:

• Les fichiers ordinaires contenant les informations utilisateur. (ASCII, retour chariot et changement de ligne)

• Les répertoires sont des fichiers conservant la structure du SGF.

• Les fichiers spéciaux caractères liés aux E/S pour modéliser les E/S séries comme les terminaux.

• Les fichiers spéciaux blocs pour modéliser les disques durs.

Sous UNIX tout est fichier !!!

Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

11

1.1. Les fichiers

d) Les accès aux fichiers :

• Accès séquentiel : lecture de tous les octets ou de tous les enregistrements dans l’ordre.

Chap. 2 - SGF

Bande magnétique Sauvegarde de 1 à 90 Go

~ 20€

ASR04 – 2005 – Christophe Cruz

12

1.1. Les fichiers

d) Les accès aux fichiers :

• Accès aléatoires : (random access file) Lecture dans n’importe quel ordre.

Chap. 2 - SGF

En deux étapes : positionnement (seek) puis lecture (read).

(3)

ASR04 – 2005 – Christophe Cruz

13

1.1. Les fichiers

e) Les attributs des fichiers :

• Le nombre d’attributs varie selon le S.E.

Date et heure

Attributs liés à la protection du fichier

Fichier caché, système, archivage, temporaire, verrouillage, etc.

• Droits sous Unix

3 groupes d’utilisateurs (u:user, g:group, o:others)

3 droits pour les fichiers (r: lecture, w: modification, x: exécution) 3 droits pour les répertoires (r: lecture, w: modification, x: traverser) Ex: /home/toto/, toto:etudiant, drwxr--r--

ASR04 – 2005 – Christophe Cruz

14

Plan

Partie 1 : interface utilisateur des SGF courants 1. Les fichiers

2. Les répertoires

Partie 2 : implémentation des systèmes de gestion de fichiers 1. Organisation des systèmes de fichiers

2. Implémentation des fichiers 3. Implémentation des répertoires Partie 3 : Les appels systèmes

ASR04 – 2005 – Christophe Cruz

15

1.2. Les répertoires

a) Les systèmes à un seul niveau

Ex : CDC 6600 premier superordinateur

A A B C

Répertoire racine

Quatre fichiers possédés par trois propriétaires IMAGE CDC

Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

16

1.2. Les répertoires

b) Les systèmes à deux niveaux de répertoire Les répertoires privés évitent les conflits.

C

A A B C

Répertoire racine

C C

A B Répertoires utilisateurs Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

17

1.2. Les répertoires

c) Les systèmes à répertoire hiérarchique Les répertoires privés évitent les conflits.

Les utilisateurs peuvent créer des arbres arbitraires.

C

A

B

Répertoire racine

C C

C A

Sous-répertoires A

A Répertoires utilisateurs

Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

18

1.2. Les répertoires

d) Les chemins d’accès

• Quel que soit le séparateur employé, si le premier caractère est le séparateur alors le chemin est « absolu ».

Windows : \MesDocuments\courrier\

UNIX : /usr/toto/courriers/

MULTICS : >usr>toto>courrier>

Il existe aussi le « chemins d’accès relatif » fonctionnant avec le

« répertoire de travail » ( ou « répertoire courant » ).

Chap. 2 - SGF

(4)

ASR04 – 2005 – Christophe Cruz

19

1.2. Les répertoires

Répertoire courant

bash$ cp /usr/toto/courrier/caf.txt /usr/toto/courrier/caf.txt.bak bash$ cp ./caf.txt ./caf.txt.bak

Sont les mêmes commandes si le répertoire courant est /usr/toto/courrier/

Les répertoires particuliers « . » et « .. »

« . » répertoire courant

« .. » répertoire père

bash$ cp ../lib/dictionnaire.dat . bash$ cp ./toto.txt ../toto/toto.txt

ASR04 – 2005 – Christophe Cruz

20

1.2. Les répertoires

e) Arborescence typique UNIX

Les « liens symboliques » sont des raccourcis vers un autre fichier : bash$ ls -l ./imprimer/lettre.txt

lrwxrwxrwx 1 Olivier etudiant 31 jan 14:16 ./imprimer/lettre.txt ->

/home/olivier/lettre.txt /

bin dev etc home lib sbin temp usr var

lib

bin local

ASR04 – 2005 – Christophe Cruz

21

1.2. Les répertoires

/bin: commandes de base UNIX (ls, cat, cp, mv, etc.) /dev: fichiers spéciaux représentants les périphériques

/dev/lp0 : lecteur de disquette /dev/hda0 : première partition du disque dur /dev/cdrom : lecteur cd-rom

/etc: fichiers d’initialisation, de configuration, etc.

/etc/passwd : contient les mots de passe cryptés

/etc/fstab: contient les systèmes de fichiers à monter au démarage /home: racine des répertoires utilisateurs

Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

22

1.2. Les répertoires

/lib: bibliothèques de programmes /sbin: commandes d’administration, fsck, mkfs /tmp: fichiers temporaires du SGF et des utilisateurs

/usr: programmes et utilitaires mis à la disposition des utilisateurs /usr/src: contient les sources des programmes linux

/var: contient des données qui varient comme des fichiers en attente d’impression, courriers électroniques, fichiers de caches

Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

23

Partie 2

Implémentation des systèmes de fichiers

Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

24

Plan

Partie 1 : interface utilisateur des SGF courants 1. Les fichiers

2. Les répertoires

Partie 2 : implémentation des systèmes de gestion de fichiers 1. Organisation des systèmes de fichiers

2. Implémentation des fichiers 3. Implémentation des répertoires Partie 3 : Les appels systèmes

Chap. 2 - SGF

(5)

ASR04 – 2005 – Christophe Cruz

25

2.1. Organisation du système de fichiers

Organisation d’un disque dur

MBR Partition NTFS Partition ext2 Partition swap

Table de partition Partition du disque dur

ASR04 – 2005 – Christophe Cruz

26

Plan

Partie 1 : interface utilisateur des SGF courants 1. Les fichiers

2. Les répertoires

Partie 2 : Implémentation des systèmes de gestion de fichiers 1. Organisation des systèmes de fichiers

2. Implémentation des fichiers 3. Implémentation des répertoires Partie 3 : Les appels systèmes

ASR04 – 2005 – Christophe Cruz

27

2.2. Implémentation des fichiers

a) Allocation contiguë

• Méthode la plus simple

• Notion de blocs

Pour une partition avec des blocs de 1Ko Un fichier de 50Ko aura 50 blocs consécutifs

• Avantages : Simple à mettre en place

Seulement deux nombres à connaître (adresse de bloc et taille du fichier) Les performances de lecture sont optimales

Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

28

2.2. Implémentation des fichiers

Fichier A (7 blocs) Fichier C (6 blocs) Fichier E (9 blocs) Fichier B (9 blocs) Fichier D (4 blocs) Fichier F (3 blocs)

Fichier A Fichier C (6 blocs) 9 blocs libre 9 blocs libres Fichier D Fichier F

Problèmes :

• Avec le temps le disque se fragmente (le disque n’est plus compacté)

• On doit connaître la taille du fichier avant de tout enregistrement (Word)

• CD-ROM Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

29

2.2. Implémentation des fichiers

b) Allocation par liste chaînée

• Le premier mot de chaque bloc sert de pointeur sur le bloc suivant.

• Chaque bloc peut être utilisé dans cette méthode

• Aucun espace est perdu dans une fragmentation

• Pour le répertoire, seule l’adresse du 1erblocs est nécessaire Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

30

2.2. Implémentation des fichiers

Bloc 0 du Fichier

Bloc 1 du Fichier

Bloc 2 du Fichier

Bloc 3 du Fichier

Bloc 4 du Fichier

Bloc 5 du Fichier

null

Bloc physique: 34 502 366 800 42 420

Problème :

• L’accès aléatoire est très lent

• La taille des blocs n’est pas en puissance de 2 Chap. 2 - SGF

(6)

ASR04 – 2005 – Christophe Cruz

31

2.2. Implémentation des fichiers

c) Allocation par liste chaînée utilisant une table en mémoire

• Les deux inconvénients d’une liste chaînée sont éliminés avec une table en mémoire (liste des pointeurs)

• Cette table est nommée la FAT (File Allocation Table ou table d’allocation de fichiers)

• Avantages :

La totalité des blocs est disponible L’accès aléatoire est facilité

ASR04 – 2005 – Christophe Cruz

32

2.2. Implémentation des fichiers

Bloc physique

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

10 11 7 3 2

12 14 -1 -1

Début du fichier A Début du fichier B

Bloc inutilisé Fin du fichier A Fin du fichier B

FAT Inconvénient :

• Toute la table doit se trouver en mémoire

• Pour 20 Go de disque, il faut gérer 20 millions de bloc 1Ko

• Chaque entrée utilise au minimum 3 à 4 octets

• Cette table prend 60 à 80 Mo en mémoire

ASR04 – 2005 – Christophe Cruz

33

2.2. Implémentation des fichiers

d) I-nodes (nœuds d’informations)

• Définition d’un i-node par fichier.

• L’avantage est que l’i-node a uniquement besoin d’être en mémoire quand le fichier correspondant à besoin d’être ouvert.

• Ex : Chaque i-node occupe n octets en mémoire et k fichiers doivent être ouverts, alors le tableau est de taille kn.

Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

34

2.2. Implémentation des fichiers

d) I-nodes (nœuds d’informations) Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

35

2.2. Implémentation des fichiers

d) I-nodes (nœuds d’informations) Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

36

2.2. Implémentation des fichiers

d) I-nodes (nœuds d’informations)

Association chemin-inode

Les répertoires sont des fichiers Chap. 2 - SGF

(7)

ASR04 – 2005 – Christophe Cruz

37

Plan

Partie 1 : interface utilisateur des SGF courants 1. Les fichiers

2. Les répertoires

Partie 2 : Implémentation des systèmes de gestion de fichiers 1. Organisation des systèmes de fichiers

2. Implémentation des fichiers 3. Implémentation des répertoires Partie 3 : Les appels systèmes

ASR04 – 2005 – Christophe Cruz

38

2.3. Implémentation des répertoires

Informations générales :

• L’entrée du répertoire fournit les informations nécessaires pour trouver les blocs de disque.

• Il fait correspondre un nom ASCII du fichier à une information pour localiser les données.

• Chaque SGF gère les attributs différemment.

ASR04 – 2005 – Christophe Cruz

39

2.3. Implémentation des répertoires

Type de répertoire : jeux

Courrier informations Travail

Attributs Attributs Attributs Attributs (a)

Liste d’entrées de taille fixe.

• Chaque « entrée du répertoire » contient un nom de fichier (tout est fichier), une structure (des attributs et une entrée dans la FAT).

jeux Courrier informations Travail

(b)

Les attributs sont stockés dans le i- node plutôt que dans l’entrée du répertoire.

• Les entrées du répertoire sont plus petites et sont constituée du nom de fichier et d’un i-node.

Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

40

2.3. Implémentation des répertoires

Gestion des noms longs:

• Jusqu’à maintenant, il était supposé que les noms de fichier étaient fixes.

MS-DOS : 8 octets pour le nom et 3 pour l’extension) UNIX v7 : 14 octets pour le nom et l’extension

• L’approche la plus simple consiste à définir une taille fixe de 255 et ensuite utiliser les concepts présentés précédemment. Gaspillage de beaucoup d’espace répertoire.

• Deux approches pour une taille non fixe du nom.

Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

41

2.3. Implémentation des répertoires

Fichier 1: Attributs Fichier 1 : longueur de l’entrée

p r o j e t - t u t \0

Fichier 2 : Attributs Fichier 2 : longueur de l’entrée

d o c s \0 Entrée

d’un fichier

(a) fixe

(b) Non fixe

Fichier 1: Attributs Fichier 1 : Pointeur vers le nom

Fichier 2 : Attributs Fichier 2 : Pointeur vers le nom

s \0

p r o j e t - t u t \0

Entrée d’un fichier

d o c Tas Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

42

Blocs logiques

0 1 2 3 4 5

Ex : Systèmes de fichiers des CD-ROM

Octets physiques

Fichier A Fichier B Fichier C

Le fichier A est un répertoire

Fichier B Fichier C

3 1

4 2

Nom Adresse Taille Chap. 2 - SGF

(8)

ASR04 – 2005 – Christophe Cruz

43

Partie 3

Les appels systèmes

ASR04 – 2005 – Christophe Cruz

44

3.1 Accès aux fichiers

Tous les processus gèrent une table de descripteur de fichier

Les fichiers seront géré par les descripteurs

Tous les fichiers se manipulent de la même manière (open, close, read, write)

Le nombre de descripteur pour chaque fichier est limité 5

554 monfichier.o

4

324 monfichier.c

3

112 /dev/stderr

2

254 /dev/stdout

1

234 /dev/stdin

0

i-node fichier

descripteur

ASR04 – 2005 – Christophe Cruz

45

3.1 Accès aux fichiers

Ouverture d’un fichier (1)

int open ( const char* chemin, int drapeaux )

chemin : chemin relatif ou absolu du fichier à ouvrir

drapeaux : mode d’accès au fichier (lecture, écriture, etc.)

Ex: int desc = open( "monfichier.c“, O_RDWR | O_CREAT )

• Le méthode retourne le numéro de descripteur ou -1 en cas d’erreur Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

46

3.1 Accès aux fichiers

Ouverture d’un fichier (2)

int open ( const char* chemin, int drapeaux, mode_t mode )

chemin : chemin relatif ou absolu du fichier à ouvrir

drapeaux : mode d’accès au fichier (lecture, écriture, etc.)

mode : droits d’accès au fichier s’il doit être créé

Ex: int desc = open( "monfichier.c“, O_RDWR | O_CREAT, 0777 )

• Les droits effectifs sont calculés en retirant la valeur du mask (umask) Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

47

3.1 Accès aux fichiers

Traitement des erreurs

• Quand une erreur survient lors d’un appel système, la variable globale errnoest fixé

• La fonction void perror( const char * s ); permet d’exploiter la valeur de errno pour afficher un message expliquant la dernière erreur survenue.

• A chaque utilisation d’un appel système, vous devrez traiter le cas d’erreur Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

48

3.1 Accès aux fichiers

Lecture d’un fichier (2)

int read ( int fd, char* buf, int nb )

fd : descripteur d’un fichier ouvert au moins en lecture

buf : adresse d’une zone mémoire où les octets lues seront stockés

nb : le nombre d’octets que l’on veut lire La fonction retourne :

• -1 en cas d’erreur

• 0 si la fin du fichier est atteint

• Le nombre d’octet lu Chap. 2 - SGF

Les lecture se font de manière séquentielle

(9)

ASR04 – 2005 – Christophe Cruz

49

monfichier 3

/dev/stderr 2

/dev/stdout 1

/dev/stdin 0

i-node fichier desc

tab[0] tab[1] tab[2] tab[3] tab[4] tab[5] tab[6] tab[7] tab[8] tab[9]

o b

b o n j

o u r j

n u or u

3.1 Accès aux fichiers

ASR04 – 2005 – Christophe Cruz

50

3.1 Accès aux fichiers

Écriture dans un fichier (2)

int write ( int fd, char* buf, int nb )

fd : descripteur d’un fichier ouvert au moins en écriture

buf : adresse d’une zone mémoire où les octets à écrire sont stockés

nb : le nombre d’octets que l’on veut écrire La fonction retourne :

-1 en cas d’erreur

• Le nombre d’octet écrit sinon

Les écritures se font de manière séquentielle

ASR04 – 2005 – Christophe Cruz

51

3.1 Accès aux fichiers

Positionnement dans un fichier (2)

long lseek ( int fd, long offset, int mode )

fd : descripteur d’un fichier ouvert au moins en écriture

offset : nombre d’octets de déplacement du pointeur (peut être <0)

mode : fixe les conditions de déplacement

0 : positionnement par rapport au début du fichier 1 : positionnement par rapport à la position courante 2 : positionnement par rapport à la fin du fichier.

La fonction retourne :

-1 en cas d’erreur

Sinon la position Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

52

3.1 Accès aux fichiers

Fermeture d’un fichier (2)

int close ( int fd )

fd : descripteur d’un fichier ouvert au moins en écriture La fonction retourne :

• -1 en cas d’erreur

• 0 sinon

• Les fichiers sont automatiquement fermés par le système lorsque le processus qui à ouvert les fichiers se termine

Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

53

3.1 Accès aux fichiers

Entrée/sortie de données quelconques

Il est possible de lire et d’écrire autre chose que des octets en respectant quelques règles :

• Contrôle du formatage des données

• Prendre garde à la taille des données à manipuler Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

54

3.2 Manipulations de répertoires

Création de répertoire vide

int mkdir ( const char* chemin, mode_t mode )

Suppression de répertoire vide

int rmdir ( const char* chemin ) Chap. 2 - SGF

(10)

ASR04 – 2005 – Christophe Cruz

55

Entête du conteneur Nom fichier 1 Nom fichier 2 Nom fichier 3

Pt de block Pt de block Pt de block

Espace libre

Fichier 1

Fichier 2

Fichier 3 Entrées du

répertoire racine

Définition d’un système de fichier

• Le fichier a une taille de 128 Mo

• Définir la taille des blocs logiques

• Les blocs logiques des fichiers sont contigus

• Un seul répertoire racine

• Définition des champs des entrées du répertoire

• Les entrées de fichier sont empilées en haut

• Les fichiers sont empilés en bas

• Définir les mécanismes de gestions

ASR04 – 2005 – Christophe Cruz

56

ASR04 – 2005 – Christophe Cruz

57

1. Partitions du disque

Chap. 2 - SGF

Organisation d’un disque dur

MBR Partition NTFS Partition ext2 Partition swap

Table de partition Partition du disque dur

ASR04 – 2005 – Christophe Cruz

58

2. Implémentation du SGF

Détails d’un partition : ex I-nœud Chap. 2 - SGF

Index des blocs

Liste des blocs

ASR04 – 2005 – Christophe Cruz

59

3. Notion de blocs

Liste des blocs :

Blocde 512 octets = 1 Secteur 1024 octets = 2 Secteurs

2048 octets = 4 Secteurs (toujours en puissance de deux) Index des blocs : FAT et I-nœud

Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

60

3.1. Gestion des blocs FAT32 MsDos

Bloc physique

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

10 11 7 3 2

12 14 -1 -1

Début du fichier A Début du fichier B

Bloc inutilisé Fin du fichier A Fin du fichier B

FAT Inconvénient :

• Toute la table doit se trouver en mémoire

• Pour 20 Go de disque, il faut gérer 20 millions de bloc 1Ko

• Chaque entrée utilise au minimum 3 à 4 octets

• Cette table prend 60 à 80 Mo en mémoire

Chap. 2 - SGF

(11)

ASR04 – 2005 – Christophe Cruz

61

3.2. Gestion des blocs par Unix

I-nodes (nœuds d’informations)

ASR04 – 2005 – Christophe Cruz

62

2. Implémentation du SGF

Index des blocs

ASR04 – 2005 – Christophe Cruz

63

4. Gestion des répertoires

Un répertoire est un fichier qui contient une liste de fichier Chap. 2 - SGF

Répertoire

ASR04 – 2005 – Christophe Cruz

64

4.1. Gestion des répertoires par Unix

I-nodes (nœuds d’informations)

Association chemin-inode

Les répertoires sont des fichiers Chap. 2 - SGF

ASR04 – 2005 – Christophe Cruz

65

3.1. Gestion des blocs FAT32 MsDos

Bloc physique

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

10 11 7 3 2

12 14 -1 -1

Début du fichier A Début du fichier B

Bloc inutilisé Fin du fichier A Fin du fichier B FAT

Chap. 2 - SGF

. ..

B Test.c

Attributs Attributs Attributs Attributs

Entrée FAT Entrée FAT Entrée FAT Entrée FAT Répertoire A

6 3 11 14

ASR04 – 2005 – Christophe Cruz

66

4.2. Comparaison du contenu d’un répertoire

Répertoire FAT32 Répertoire I-noeud

(a)

Liste d’entrées de taille fixe.

• Chaque « entrée du répertoire » contient un nom de fichier, une structure (des attributs et une entrée dans la FAT).

Chap. 2 - SGF

jeux Courrier.doc informations Travail

Attributs Attributs Attributs Attributs

Entrée FAT Entrée FAT Entrée FAT Entrée FAT

jeux Courrier informations Travail

(b)

Les attributs sont stockés dans le i- node plutôt que dans l’entrée du répertoire.

• Les entrées du répertoire sont plus petites et sont constituée du nom de fichier et d’un i-node.

I-node

I-node

I-node

I-node

(12)

ASR04 – 2005 – Christophe Cruz

67

4.3. Implémentation des répertoires

Gestion des noms longs:

• Jusqu’à maintenant, il était supposé que les noms de fichier étaient fixes.

MS-DOS : 8 octets pour le nom et 3 pour l’extension) UNIX v7 : 14 octets pour le nom et l’extension

jeux Courrier.doc informations Travail

Attributs Attributs Attributs Attributs

Entrée FAT Entrée FAT Entrée FAT Entrée FAT

ASR04 – 2005 – Christophe Cruz

68

4.3. Implémentation des répertoires

Fichier 1: Attributs Fichier 1 : longueur de l’entrée

p r o j e t - t u t \0

Fichier 2 : Attributs Fichier 2 : longueur de l’entrée

d o c s \0 Entrée

d’un fichier

(a) fixe

(b) Non fixe

Fichier 1: Attributs Fichier 1 : Pointeur vers le nom

Fichier 2 : Attributs Fichier 2 : Pointeur vers le nom

s \0

p r o j e t - t u t \0

Entrée d’un fichier

d o c Tas

ASR04 – 2005 – Christophe Cruz

69

- Exercice -

Entête du conteneur Nom fichier 1 Nom fichier 2 Nom fichier 3

Pt de block Pt de block Pt de block

Espace libre

Fichier 1

Fichier 2

Fichier 3 Entrées du

répertoire racine

Définition d’un système de fichier

• Le fichier a une taille de 128 Mo

• Définir la taille des blocs logiques

• Les blocs logiques des fichiers sont contigus

• Un seul répertoire racine

• Définition des champs des entrées du répertoire

• Les entrées de fichier sont empilées en haut

• Les fichiers sont empilés en bas

• Définir les mécanismes de gestions Chap. 2 - SGF

Références

Documents relatifs

La commande ci-dessus placera tous les fichiers dans les sous-répertoires /work et /school dans un nouveau fichier appelé foo.tar dans le répertoire dans lequel vous

Le répertoire d’accueil (home directory) est le répertoire dans lequel on se trouve au début. Par exemple, la commande cd ~ ramène dans le répertoire d’accueil. Le

¦ Étape suivante : on ouvre à nou- veau le fichier, en mode ajout (avec a ) ce qui permet d’écrire dedans en ajoutant les données à la fin du fi- chier existant. On lit chaque

Test d’une seule entrée : la technique consiste à effectuer un « masquage » (ET logique bit par bit) du registre d’entrée (pour neutraliser l’état des autres entrées), puis à

$ cp toto /tmp/ Copie le fichier local toto dans /tmp (toujours nomm´ e toto ). $ cp toto /tmp/tata Copie le fichier local toto dans /tmp en le nom-

– mode ne doit contenir que des droits d’accès – on ne peut détruire qu’un répertoire vide.

Petit Titre: TD Unix demarrage-admin de base Version: 1.1 Date: 24/11/2010 Licence: Gnu Free Documentation Licence Durée: 3h00.. Unix: gestion des systèmes de fichiers et des

file_exists($file) : indique si le fichier $file existe filesize($file) : retourne la taille du fichier $file filetype($file) : retourne le type du fichier $file unlink($file)