46
LES FICHIERS Un exemple : Unix

LES FICHIERS Un exemple : Unix. Le système de fichiers

Embed Size (px)

Citation preview

Page 1: LES FICHIERS Un exemple : Unix. Le système de fichiers

LES FICHIERS

Un exemple : Unix

Page 2: LES FICHIERS Un exemple : Unix. Le système de fichiers

Le système de fichiers

tmp

ut1 ut2

pro

usrbin dev etc lib

/ (root)

fich

/

/users

/users/ut3

/users/ut3/profich1

fich2

../dir1

..

../..

../../..

/users/ut3/pro/fich

fichdir2

ut3

users

dir1

- Structure hiérarchique.- Cohérence des formats.- Création, destruction des fichiers.- Croissance dynamique.- Protection des fichiers.- Traitement des périphériques en tant que

fichiers.

Page 3: LES FICHIERS Un exemple : Unix. Le système de fichiers

Représentation interne d'un fichier Un fichier

– I-node I-node

– description du fichier Nom d’un fichier

– lien vers un i-node– plusieurs noms pour un seul i-node

Page 4: LES FICHIERS Un exemple : Unix. Le système de fichiers

Acces au fichier

Noyau – i-node

Utilisateur– nom du fichier

Le noyau recherche l’i-node correspondant au nom du fichier

Page 5: LES FICHIERS Un exemple : Unix. Le système de fichiers

Les 3 tables internes

Table des i-nodes– structure globale– contient les i-nodes utilisés par le système

Table des fichiers– structure globale– les fichiers de manière unique,

indépendamment de leur nombre d'occurrences ouvertes

Page 6: LES FICHIERS Un exemple : Unix. Le système de fichiers

Les 3 tables internes

Tables des descripteurs– une par processus– alloue un numéro logique à un fichier

• 0 : stdin• 1 : stdout• 2 : stderr• …

– chaque occurrence d’un même fichier ouvert posséde son descripteur

Page 7: LES FICHIERS Un exemple : Unix. Le système de fichiers

Les 3 tables internes

Table desdescrip teurs

Table des fich iers Table des i-nodes

Page 8: LES FICHIERS Un exemple : Unix. Le système de fichiers

Les systèmes de Fichiers : file system Les fichiers sont rangés dans des

systèmes de fichiers Plusieurs systèmes de fichiers pour une

machine Composé d’une suite de blocs

– multiple de 512 octets

Page 9: LES FICHIERS Un exemple : Unix. Le système de fichiers

Structure du file system

Le Bloc Boot– boot strap

Le Super Bloc– décrit l'état du système de fichiers,

son importance, les endroits où se situe la place libre, …

Les i-nodes Les blocs de données

Page 10: LES FICHIERS Un exemple : Unix. Le système de fichiers

Le super bloc

Il contient une liste d ’i-node libre et de blocs de données libre

Permet une attribution rapide d ’i-nodes ou de blocs de données

Il joue le role de cache pour l ’attribution

Page 11: LES FICHIERS Un exemple : Unix. Le système de fichiers

L ’I-node

2 types d ’i-nodes– i-node physique (sur le disque)– i-node logique (en mémoire)

• informations sur les demandes d ’accés sur les fichiers

Page 12: LES FICHIERS Un exemple : Unix. Le système de fichiers

Structure d ’un I-node

L ’identificateur du propiétaire et du groupe

Le type du fichier : ordinaire, répertoire, spécial caractère, spécial bloc ou tube.

Les permissions d'accès – 9 bits de permissions : rwx rwx rwx– les bit set-uid et set-gid : donne au processus

les doits du propriétaire/groupe du programme– le sticky-bit : assure le maintien d'un

programme en zone de swap

Page 13: LES FICHIERS Un exemple : Unix. Le système de fichiers

Structure d ’un I-node

Les dates d'accès au fichier : – du dernier accès au fichier, – de la dernière modification du fichier – de la dernière modification de l'i-node.

Le nombre de liens (ou de nom) du fichier

La table des adresses disques du fichier La taille du fichier

Page 14: LES FICHIERS Un exemple : Unix. Le système de fichiers

Structure d ’un I-node Mémoire Un mot d'état indiquant :

– si l'i-node est verrouillé,

– si un processus attend que l'i-node soit déverrouillé,

– si la représentation mémoire diffère de l'i-node disque à la suite d'un changement de données dans l'i-node,

– si la représentation mémoire diffère de l'i-node disque

– si le fichier est un point de montage.

Page 15: LES FICHIERS Un exemple : Unix. Le système de fichiers

Structure d ’un I-node Mémoire

Le numéro du périphérique logique du système de fichier qui contient le fichier

Le numéro de l'i-node dans la table du noyau

Des pointeurs sur d'autres i-nodes mémoire.

Un compteur indiquant combien d'instances du fichier sont actives

Page 16: LES FICHIERS Un exemple : Unix. Le système de fichiers

Structure d’un Fichier Ordinaire

Gestion de fichiers dynamique– les fichiers peuvent évoluer et

occuper à un instant donné plus ou moins d'espace sur le disque.

– Le nombre de fichiers, leurs places sur le disque ne sont pas figés et les évolutions sont prises en charge par le système.

Page 17: LES FICHIERS Un exemple : Unix. Le système de fichiers

Structure d’un Fichier Ordinaire Exemple de file system Mono-bloc

Solution : un fichier est constitué d’une liste de blocs

40 50 60 70

40 50 60 8170

Fichier A

Fichier A

Fichier B Fichier C

Libre Fichier C Fichier B

Avant l'écriture

Après l'écriture

Adresses de bloc

Adresses de bloc

Page 18: LES FICHIERS Un exemple : Unix. Le système de fichiers

Table d ’adressage Un fichier : suite de blocs de données Blocs de taille fixe : ex : 1Ko La table d ’adressage contient 13

adresses de blocs de 4 types différents– 10 pointeurs directs vers un bloc– 1 pointeur simple-indirection– 1 pointeur double-indirection– 1 pointeur triple-indirection

Page 19: LES FICHIERS Un exemple : Unix. Le système de fichiers

Table d ’adressage

I -n o d e

B lo c s

D ir e c t 0

D i r e c t 1

D i r e c t 2

D i r e c t 3

D i r e c t 9

S im p le

D o u b le

T r ip le

D i r e c t 4

D i r e c t 5

D i r e c t 6

D i r e c t 7

D i r e c t 8

Page 20: LES FICHIERS Un exemple : Unix. Le système de fichiers

Calcul de l'adresse d'un octet Un octet quelconque d'un fichier

est retrouvé à l'aide d'un calcul d'adresse.

Le système transforme l'adresse en :– numéro logique (à partir de 0) puis

physique de bloc – en déplacement dans le bloc.

Page 21: LES FICHIERS Un exemple : Unix. Le système de fichiers

Table d ’adressage

Avantages– Grâce à cette solution, l'i-node a une

taille constante.– Une étude a montré que

• 85% des fichiers font moins de 8 Ko • 48% moins de 1 Ko

Inconvénients– 1 octets peut bloquer un bloc

Page 22: LES FICHIERS Un exemple : Unix. Le système de fichiers

Structure d’un répertoire Liste d’informations :

– <nom de fichier , numéro d'i-node>

2 fichiers particuliers : – . : le répertoire lui même– .. : le répertoire père

Le noyau ne travaille que sur les i-nodes– il transforme le chemin d'accès au fichier en un

numéro d'i-node.

– il parcourt linéairement les sous-répertoires en partant de la racine

Page 23: LES FICHIERS Un exemple : Unix. Le système de fichiers

Les Tubes

fichiers temporaires. gardés si possible en mémoire par

le buffer cache. structure de file "FIFO" (le

premier entré est le premier sorti).

servent à lier deux processus.

Page 24: LES FICHIERS Un exemple : Unix. Le système de fichiers

Les Fichiers Spéciaux

Ils servent à l'interface avec le matériel. Deux informations

– le major number qui indique un type de périphérique

– le minor number qui indique son adresse.

Deux types de fichiers : – les fichiers caractères (flux d ’octets)

– les fichiers blocs.

Page 25: LES FICHIERS Un exemple : Unix. Le système de fichiers

Le Buffer Cache

il se situe entre le sous système de gestion de fichiers et les périphériques en mode bloc.

il gère l'intégrité et la protection des données lorsque plusieurs processus ouvrent simultanément un fichier.

il minimise les entrées-sorties sur les périphériques bloc en cachant les données

Page 26: LES FICHIERS Un exemple : Unix. Le système de fichiers

Le Buffer Cache

seul le buffer cache tient compte des caractéristiques physiques de la mémoire de masse.

le sous système de gestion de fichiers est indépendant de la structure matérielle de la machine

Le buffer cache accomplit ses fonctions en réservant des tampons en mémoire principale qu’il partage entre les fichiers

Page 27: LES FICHIERS Un exemple : Unix. Le système de fichiers

Le Buffer Cache

Avantages :– Accès uniforme aux disques durs, que

l'entrée-sortie concerne un ou un millier de caractères.

– Indépendance du système de gestion de fichier.

– Contrôle la cohérence des données, ...– Optimise les temps d'accès, utilise les

moments de moyenne charge pour enregistrer les données.

Page 28: LES FICHIERS Un exemple : Unix. Le système de fichiers

Le Buffer Cache

Inconvénients :– Occupation mémoire augmentant le

swapping.– Vulnérabilité aux "crashes". – Rajout d'une opération dans le cycle

de lecture/écriture.

Page 29: LES FICHIERS Un exemple : Unix. Le système de fichiers

Structure du Buffer Cache

Page 30: LES FICHIERS Un exemple : Unix. Le système de fichiers

Structure du Buffer Cache

Libre

Page 31: LES FICHIERS Un exemple : Unix. Le système de fichiers

Structure du Buffer Cache

Libre

Page 32: LES FICHIERS Un exemple : Unix. Le système de fichiers

Structure du Buffer Cache

Libre

Page 33: LES FICHIERS Un exemple : Unix. Le système de fichiers

Structure du Buffer Cache

Libre

Page 34: LES FICHIERS Un exemple : Unix. Le système de fichiers

Structure du Buffer Cache

Libre

Page 35: LES FICHIERS Un exemple : Unix. Le système de fichiers

Les Disques

Composé de partitions– Petits disques

4 partitions primaires (au max) Dont une partition primaire « étendue »

– Contenant des partitions logiques Noms des disques

– IDE : /dev/hda, /dev/hdb, /dev/hdc, /dev/hdd– SCSI, SATA, USB : /dev/sda, /dev/sdb, …

Page 36: LES FICHIERS Un exemple : Unix. Le système de fichiers

Les Partitions

Types– Système de fichier– Espace Swap– Espace dédie à une application

Noms– /dev/hda1, /dev/hda2, /dev/hda3,

/dev/hda4 : primaires– /dev/hda5 : première partition logique

Page 37: LES FICHIERS Un exemple : Unix. Le système de fichiers

Les systèmes de fichiers (FS)

L’arborescence globale est composée d’un ou plusieurs systèmes de fichiers (file system)

Chaque FS est une arborescence gérée comme un tout

Page 38: LES FICHIERS Un exemple : Unix. Le système de fichiers

Les systèmes de fichiers (FS)

– Une partition– Un volume logique– Un cdrom– Cle USB– Mémoire (live-cd)– Un fichier Ordinaire

Page 39: LES FICHIERS Un exemple : Unix. Le système de fichiers

swap

Notion de « montage »

/

bin usr etc

/

Page 40: LES FICHIERS Un exemple : Unix. Le système de fichiers

swap

Notion de « montage »

/

bin usr etc

bin local

/

/usr

+ montage

Page 41: LES FICHIERS Un exemple : Unix. Le système de fichiers

Montage d’un FS

Un FS est accessible uniquement si il est « monté »

Association– Racine – répertoire de montage

Le FS est monté automatiquement (phase de démarrage)

Page 42: LES FICHIERS Un exemple : Unix. Le système de fichiers

Les systèmes de fichiers

Différents type de FS– ext2 : ancien standard Linux– ext3 : nouveau FS (plus grand)– iso9660 : FS pour CD et DVD– xfc : FS étendu (Debian)– nfs : FS réseau – …

Page 43: LES FICHIERS Un exemple : Unix. Le système de fichiers

Principales commandes

# fdisk –l : liste les partitions

# fdisk –l /dev/sda

# df –Th : liste des FS montés

# df fichier : a quel FS appartient fichier

Page 44: LES FICHIERS Un exemple : Unix. Le système de fichiers

La commande « mount »

mount –a– Monte « tous » les FS se trouvant dans

/etc/fstab mount /dev/sda2 /home/usr1

Page 45: LES FICHIERS Un exemple : Unix. Le système de fichiers

Le fichier /etc/fstab

Contient un certain nombre de FS. Les FS qui sont dans le fichier seront

montés au démarrage sauf ceux qui ont l’option noauto.

Page 46: LES FICHIERS Un exemple : Unix. Le système de fichiers

Option

Default : rw, suid, exec, auto, nouser Ro Noexec