Vous êtes sur la page 1sur 105

LST Info, FST, Fès

Pr. Mohammed Alaoui Talibi


 Besoins du stockage permanent des informations :

 Les infos peuvent être conservées après la fin du


programme qui les utilise.

 Il faut pouvoir stocker une grande quantité d’informations :

 Mémoire ne suffit pas

 Accès à l’information :
Plusieurs programmes doivent pouvoir accéder
simultanément à une information.

Pr. M. Alaoui Talibi LST Info, FSTF


2
 Stockage des informations sur :

- des disques
ou
- autres supports de stockage permanent

Pr. M. Alaoui Talibi LST Info, FSTF


3
 L’organisation,
le stockage et l’utilisation des
informations sur les disques doivent répondre
à un ensemble de critères :

 L’information doit être organisée et stockée dans des


unités atomiques appelées fichiers.

 L’information enregistrée dans les fichiers doit être


persistante (non volatile).

Pr. M. Alaoui Talibi LST Info, FSTF


4
 Possibilité de lire et d’écrire dans un fichier.

 Possibilité de créer et supprimer un fichier.

Pr. M. Alaoui Talibi LST Info, FSTF


5
Dans un système d’exploitation il y’a deux parties :

 Partie visible du système d'exploitation


– interface
• commandes
• requêtes
– fonctionnalités
– fiabilité

 Partie cachée
– gestion des données : fichiers
• organisation
• accès Pr. M. Alaoui Talibi LST Info, FSTF
6
Notion de fichier :

 Définition : Un fichier est un ensemble


d’informations regroupées en vue de leur
utilisation et de leur conservation.

 Définition : L’organisation logique d’un fichier


décrit son contenu vu par les processus utilisateur.

Pr. M. Alaoui Talibi LST Info, FSTF


7
 Définition : L’organisation physique d’un fichier
décrit son implantation sur le support physique.

 Vudes programmes d’application, les informations


du fichier sont repérées par des adresses logiques.

 Vu
du système d’exploitation, ces informations ont
une adresse physique sur le support.

Pr. M. Alaoui Talibi LST Info, FSTF


8
Les fonctions d’un Système de gestion des fichiers
SGF :

 Fourniture des fonctions d’accès au niveau logique qui


réalisent :

• le passage du niveau logique au niveau physique,


• le partage et la protection des informations.

 Gestion de la mémoire secondaire qui est une


ressource partagée entre tous les fichiers.

Pr. M. Alaoui Talibi LST Info, FSTF


9
 Introduction

 Organisation logique du système de gestion


de fichier

 Organisation physique du système de gestion


de fichier

 Système de gestion de fichier d’Unix

Pr. M. Alaoui Talibi LST Info, FSTF


10
Pr. M. Alaoui Talibi LST Info, FSTF
11
 Noms des fichiers
 La nomination des fichiers est le moyen
d’identification des infos organisées sous forme
d’unités (fichiers).

 Possibilité de lire et d’écrire les informations sur


un disque sans se soucier du stockage physique et
du fonctionnement des disques.

Pr. M. Alaoui Talibi LST Info, FSTF


12
 Lesrègles de nomination dépendent du
système d’exploitation

 Nombre maximum de caractères autorisés varie


de 8 à 255
 Tous les caractères alphanumériques sont
autorisés
 Certains systèmes acceptent les caractères
spéciaux
 Certains systèmes font la différence entre
minuscule et majuscule (UNIX)
Pr. M. Alaoui Talibi LST Info, FSTF
13
 Nom et extension
 L’extension (partie du nom après le point) définit le type de fichier.
 Dans MS-DOS
 Une extension facultative de 1 à 3 caractères

 Dans UNIX
 Aucune limitation de la taille d’extension
 Possibilité d’avoir plusieurs extensions
 Archive.tar.gz

 L’extension peut être


 Facultative:
 L’extension d’un fichier texte qui ne sera pas exploitée par un logiciel approprié
 Aide le propriétaire
 Obligatoire
 Exigée par un logiciel
 Le compilateur C exige que l’extension d’au moins d’un fichier source soit «
.c»

 Sous Windows
 L’extension des fichiers est reconnue et implique une action particulière
 Possibilité de choisir le programme associé à une extension donnée
 Les fichiers d’extension « .mp3 » sont associés au lecteur Media Player

Pr. M. Alaoui Talibi LST Info, FSTF


14
 Structures des fichiers

 Blocs d’enregistrements

 Arbre d’enregistrements

 Suite d’octets

Pr. M. Alaoui Talibi LST Info, FSTF


15
Enregistrement
 Blocs d’enregistrements (structuré)

 Le fichier est une séquence d’enregistrements de


longueur fixe.

 La lecture et l’écriture dans le fichier se fait par


bloc (taille des enregistrements).
 Existence liée à l’ancienne technologie d’E/S par ex :
 Cartes perforées (80 colonnes).
 Imprimantes (132 caractères).
Fichier de 4
enregistrements
 Mode abandonné par les systèmes actuels.
Pr. M. Alaoui Talibi LST Info, FSTF
16
 Arbre d’enregistrements (structuré)

 Un fichier est un arbre d’enregistrements qui ne


sont pas nécessairement de même longueur

 Chaque enregistrement contient une clé

 L’arbre est trié suivant les clés, ce qui permet


une recherche rapide

 Encore utilisé dans les gros systèmes


 Applications de traitement de données commerciales

exemple

Pr. M. Alaoui Talibi LST Info, FSTF


17
Suite d’octets (non structurés)
octet

Fichier vu comme une suite d’octet


 Un fichier est vu comme une séquence d’octets.

 Ce mode donne une flexibilité maximale à l’utilisateur

 Le système ne se préoccupe pas du contenu du fichier


et de son organisation.

 Le mode le plus utilisé actuellement


 Unix, Linux, Windows, …

Pr. M. Alaoui Talibi LST Info, FSTF


18
 Types de fichiers
 Fichiers ordinaires
 Contiennent les données

 Répertoires
 Fichiers systèmes qui conservent la structure du
système de fichier

 Fichiers spéciaux
 Représentent les périphériques d’E/S
 Carte réseau, terminaux, clavier …

Pr. M. Alaoui Talibi LST Info, FSTF


19
 Fichiers ordinaires

 Fichiers texte

 Fichiers binaires

 Fichiers binaires exécutables

Pr. M. Alaoui Talibi LST Info, FSTF


20
 Fichiers ordinaires

 Fichiers texte ASCII

 Dans un fichier ASCII, chaque caractère alphabétique, numérique ou


spécial est représenté par un nombre binaire sur 7 bits

 Ils se composent des lignes de texte

 Dans certains systèmes, chaque ligne se termine par le caractère


retour chariot (Entrée)

 Le grand avantage des fichiers ASCII est que l’on peut :

- les éditer avec n’importe quel éditeur texte.


- les afficher et les imprimer tels quels, et
 …

Pr. M. Alaoui Talibi LST Info, FSTF


21
 Fichiers ordinaires
 Fichiers binaires
 Le contenu de ces fichiers ne peut pas être édité ou
affiché par un simple éditeur de texte
 Une tentative d’impression donnera en général des
symboles illisibles.
 La structure interne d’un fichier binaire est connu par
le programme qui l’exploite
 Fichier multimédia (image, son, vidéo)
 Fichier de données créé par un programme C
 Fichier exécutable
 …

Pr. M. Alaoui Talibi LST Info, FSTF


22
 Fichiers binaires exécutables
 Un fichier binaire est reconnu comme
exécutable s’il est conforme à un
format particulier composé de cinq
éléments :
 En-tête
 Nombre magique
 valeur particulière qui indique que le
fichier est exécutable
 BSS : segment des variables globales
et statiques
 Code du programme
 Données du programme
 Bits de translation (charge en mémoire
et déplace le code et les données).
 Table de symboles
 Est utilisé pour la correction des
erreurs (debuggage).

Format d’un fichier exécutable


d’une version UNIX
Pr. M. Alaoui Talibi LST Info, FSTF
23
 Accès aux fichiers

 Accès séquentiel
 Le fichier est lu dans l’ordre à partir du début
 Mode d’accès des premiers systèmes d’exploitations
 Pratique pour certains supports de stockage (bande
magnétique)

 Accès aléatoire
 Possibilité d’accès direct à n’importe quel octet ou
enregistrement
 Les disques sont appropriés à ce mode d’accès
 Mode d’accès rapide et efficace
 Mode d’accès de tous les systèmes d’exploitation
modernes

Pr. M. Alaoui Talibi LST Info, FSTF


24
 Attributs des fichiers
 En plus du nom et du contenu, le système associe aux
fichiers un certain nombre d’informations appelées
attributs :
 Taille, date création, …
 Ces attributs sont utiles pour l’exploitation des
fichiers.
 Le nombre de ces attributs peut varier d’un système à
l’autre.
exemple

Pr. M. Alaoui Talibi LST Info, FSTF


25
 Appels système de la gestion des fichiers
 Create
 Le fichier est créé sans données. Le but de cet appel est d'indiquer la
création du fichier et de fixer un certain nombre de paramètres.
 Delete
 Quand un fichier n'est plus utilisé, il doit être supprimé pour libérer de
l'espace disque.
 Open
 Avant de se servir d'un fichier, un processus doit l'ouvrir. Le but de cet
appel est de permettre au système de charger les attributs et la liste
des adresses du fichier sur le disque afin d'accélérer les accès
ultérieurs.
 Close
 Quand tous les accès au fichier sont terminés, les attributs et les
adresses du fichier ne sont plus nécessaires, par conséquent le
fichier peut être fermé pour libérer de l'espace.

Pr. M. Alaoui Talibi LST Info, FSTF


26
 Appels système de la gestion des fichiers

 Read
 Les données sont lues à partir du fichier. Généralement,
les octets proviennent de la position courante.
L'appelant doit préciser le nombre d'octets demandés et
prévoir une mémoire tampon de lecture.
 Write
 Les données sont écrites dans un fichier, généralement à
partir de la position courante. Si la position courante est
la fin du fichier, la taille du fichier augmente.
Si la position courante est le milieu du fichier, les données
existantes sont remplacées et définitivement perdues.
 Append
 Cet appel correspond à l'appel d'un write restreint.
On ne peut ajouter des données qu'à la fin du fichier.

Pr. M. Alaoui Talibi LST Info, FSTF


27
 Appels système de la gestion des fichiers
 Seek
 Repositionne le pointeur de fichier à un endroit précis
dans le fichier
 Get attributes
 Retourne les attributs du fichier
 Set attributes
 Spécifie et modifie les attributs des fichiers selon les
préférences de l’utilisateur.
 Rename
 Change le nom d'un fichier existant.

Pr. M. Alaoui Talibi LST Info, FSTF


28
 Remarque
 Les appels système présentés précédemment ne sont
pas forcément implémentés dans tous les systèmes
d’exploitation, mais les fonctionnalités associées sont
toujours assurées.

 Exemples
 L’appel « rename » peut être remplacé par la copie et
la suppression.

 L’appel « append » peut être remplacé par l’appel de «


write ».

Pr. M. Alaoui Talibi LST Info, FSTF


29
 Les répertoires
 Appelés aussi dossier, les répertoires servent à conserver
la trace d’organisation des fichiers.

 Implémentés comme des fichiers dans la plupart des


systèmes d’exploitation.

 Trois utilisations des répertoires dans les systèmes :


 Un seul répertoire

 Deux niveaux de répertoires

 Hiérarchie de répertoires

Pr. M. Alaoui Talibi LST Info, FSTF


30
 Un seul répertoire
 Le système dispose d’un seul répertoire qui contient tous les
fichiers.

 Utilisé dans les anciens systèmes mono-utilisateur

 N’est pas pratique dans le cas des systèmes multi-utilisateurs


 Un utilisateur écraserait accidentellement un fichier d’un autre
utilisateur s’il enregistre le sien avec le même nom.
Exemple
Répertoire
racine

fichier

Pr. M. Alaoui Talibi LST Info, FSTF


31
 Deux niveaux de répertoires
 Un répertoire racine qui contient les répertoires des
utilisateurs (un pour chaque utilisateur).
 Le conflit de nom de fichiers entre utilisateur est résolu
 Ce système peut être utilisé dans le serveur de fichiers d’un
réseau local

Répertoire
racine
Répertoire
U1 U2 U3 utilisateur

A B C B D A
fichier

Pr. M. Alaoui Talibi LST Info, FSTF


32
 Hiérarchie de répertoires
 Le système à deux niveaux de répertoires ne résout pas le conflit de
nom de fichiers chez le même utilisateur.
 Un utilisateur ne peut pas avoir deux fichiers différents qui portent le même nom.
 Organisation qui permet aux utilisateurs d’avoir un arbre de répertoires
 Les fichiers peuvent figurer dans tous les niveaux
 Le système conserve toujours la notion de répertoire racine qui représente la tête de l’arbre global

 Organisation utilisée dans tous les systèmes modernes


Répertoire
racine
Répertoire
utilisateur

Sous Répertoire C
B
utilisateur fichier
A A A C
A B

Pr. M. Alaoui Talibi LST Info, FSTF


33
 Les chemins d’accès :

Puisque le système de fichiers est organisé comme


un arbre de répertoires, il faut trouver un moyen de
spécifier les noms des fichiers : on emploie
couramment deux méthodes.

1ere méthode : donner à chaque fichier un chemin


d’accès absolu qui reprend le chemin de la racine
jusqu’au fichier. C’est un chemin unique.

Pr. M. Alaoui Talibi LST Info, FSTF


34
 Exemple :

Le chemin /usr/jlb/courrier : indique que le


répertoire racine contient le sous-répertoire usr,
qui comprend le sous-répertoire jlb, lequel possède
à son tour le fichier courrier.

Séparateur dans d’autres systèmes :

Windows : \usr\jlb\courrier
Unix : /usr/jlb/courrier
Multics : >usr>jlb>courrier

Pr. M. Alaoui Talibi LST Info, FSTF


35
 2éme méthode : chemin d’accès relatif fonctionne
conjointement avec le concept de répertoire de
travail appelé aussi répertoire courant.

Dans chaque répertoire, la plupart des systèmes qui


possèdent une structure hiérarchique de répertoires
ont deux entrées particulières :

. : fait référence au répertoire courant.


.. : fait référence au répertoire parent.
Pr. M. Alaoui Talibi LST Info, FSTF
36
 Appels systèmes de la gestion des répertoires

 Create.
 Un répertoire est créé. Il est vide, mais comprend
deux répertoires spéciaux : . et .. (répertoire courant
et répertoire parent)
 Delete. (c)
 Supprime un répertoire vide.
 Opendir
 Ouvre un répertoire existant, ce qui implique le
chargement de ses attributs dans les tables internes.
 Closedir
 Quand un répertoire a été lu, il doit être fermé pour
libérer de l'espace dans les tables internes.

Pr. M. Alaoui Talibi LST Info, FSTF


37
 Appels systèmes de la gestion des répertoires :
 Rename
 Renomme un répertoire existant
 Link (c)
 Crée un lien physique sur un fichier existant
 Ce type de lien, qui incrémente le compteur de l’i-node du fichier
(pour garder une trace du nombre de répertoires contenant le fichier)
est parfois appelé lien materiel hard link.

 Unlink
 Supprime un fichier ou un lien physique

Pr. M. Alaoui Talibi LST Info, FSTF


38
 Fichiers partagés
 Un fichier peut « appartenir » à plusieurs
répertoires.
 Une seule copie du fichier original dans le disque

 Les autres entrées dans les autres répertoires font


référence à ce fichier ou directement à ses adresses
disques

 Lien symbolique

 Lien physique
Pr. M. Alaoui Talibi LST Info, FSTF
39
 Lien physique :

 Que se passe t-il si le propriétaire du fichier original le


modifie?

 Ces modifications seront-elles perceptibles dans les autres «


copies »?

 Une seule copie  chaque modification sera répercutée sur


tous les liens.

 La suppression du lien physique n’entraine pas la suppression


physique du fichier. Les autres copies continuent d’exister.
Pr. M. Alaoui Talibi LST Info, FSTF
40
 Lien symbolique :

 Dans la copie du fichier on ne garde pas les adresses


disque du fichier original, mais tout simplement son
chemin d’accès.

 La suppression du fichier original rend le lien


symbolique sans utilité (pointe sur un chemin
inexistant).

 La suppression du lien symbolique n’a aucun effet


sur le fichier d’origine.

Pr. M. Alaoui Talibi LST Info, FSTF


41
 Implantation du système de fichiers
 Un disque peut contenir plusieurs partitions.
 Chaque partition a son propre système de fichier.
 Le secteur 0 du disque, appelé MBR (Master Boot record), sert à booter
(démarrer) la machine.
 La fin du MBR comprend la table de partition, laquelle indique
l’adresse de début et de la fin de chaque partition.
 Une de ces partitions est marquée comme étant la partition active.
 Pour la conformité, chaque partition démarre avec un bloc de boot
même si il n’inclut pas de système d’exploitation.

 Une seule partition active.

Pr. M. Alaoui Talibi LST Info, FSTF


42
 Exemple d’une partition Unix
 Bloc de boot
 Petit programme qui charge le noyau et lui donne le contrôle
 Existe dans les partitions « bootables »
 Super bloc
 Contient les paramètres clés du système de fichiers :
Taille des blocs, le nombre des blocs libres, taille de la table i-nœud, …

 Gestion de l’espace libre : sous la forme de bits ou listes chainées.


 i-nœuds : un tableau de structures de données, une par fichier, donnant
toutes les informations nécessaires d’un fichier.
 Répertoire racine : racine qui contient le haut de l’arborescence du système
de fichiers.
 Répertoires et fichiers : le reste du disque qui renferme tous les répertoires
et les fichiers.

LST Info, FSTF


43
Pr. M. Alaoui Talibi
 Gestion de l’espace disque
 L’organisation physique des fichiers dans le
disque ne reflète pas forcément l’organisation
logique.
 Les systèmes choisissent entre deux possibilités
pour stocker un fichier.
 Allocation contigüe :
 Le fichier occupera une zone contigüe dans le disque.
 Allocation par blocs :
 Le fichier est organisé sous forme d’un ensemble de
blocs de même taille qui peuvent être dispersés
dans le disque.
Pr. M. Alaoui Talibi LST Info, FSTF
44
 Allocation contigüe
 Facile et rapide pour la lecture et l’écriture des fichiers
 Moins de mouvements pour la tête de lecture/écriture du disque
 Pour repérer un fichier sur le disque, il suffit de mémoriser
l’adresse du premier bloc et le nombre de blocs
 Le fichier E commence à partir du bloc 17 et contient 9 blocs

Fichier A Fichier C Fichier E Fichier G


(3 blocs) (6 blocs) ( 9 blocs) (6 blocs)

Fichier B Fichier D Fichier F


(4 blocs) (4 blocs) Bloc 17 (8 blocs)
Bloc 0

Pr. M. Alaoui Talibi LST Info, FSTF


45
 Allocation contigüe
 La suppression d’un fichier entraîne la libération de ses blocs
  Génération des trous
 Complexe pour la modification du fichier
 Si la taille d’un fichier augmente, alors :
 Le fichier utilise les blocs voisins s’ils sont libres
 Chercher un autre espace contigu plus grand pour y conserver le
fichier et libérer la première zone
 Si la taille diminue, cela crée un trou inutilisé

Pr. M. Alaoui Talibi LST Info, FSTF


46
 Allocation contigüe
 Exemple
 Les blocs libérés suite à la suppression des fichiers D et F

Fichier A Fichier C Fichier E Fichier G


(3 blocs) (6 blocs) ( 9 blocs) (6 blocs)

Fichier B Fichier D Fichier F


(4 blocs) (4 blocs) (8 blocs)

Suppression des fichiers D et F

Fichier A Fichier C Fichier E Fichier G


(3 blocs) (6 blocs) ( 9 blocs) (6 blocs)

Fichier B (4 blocs libres) (8 blocs libres)


(4 blocs)
Pr. M. Alaoui Talibi LST Info, FSTF 47
 Allocation contigüe
 Exemple
 La modification du fichier B a augmenté sa taille de 2 blocs
  Transférer le fichier vers une zone libre d’au moins 6 blocs et libérer ses 4 blocs

Fichier A Fichier C Fichier E Fichier G


(3 blocs) (6 blocs) ( 9 blocs) (6 blocs)

Fichier B (4 blocs libres) (8 blocs libres)


(4 blocs)

Modification du fichier B
Augmentation de sa taille de 2
Fichier A Fichier C Fichier blocs
E Fichier B Fichier G
(3 blocs) (6 blocs) ( 9 blocs) (6 blocs) (6 blocs)

(4 blocs libres) (4 blocs libres) (2 blocs libres)

LST Info, FSTF


Pr. M. Alaoui Talibi 48
 Allocation par blocs

 Efficace pour la gestion de l’espace disque


 Pas de perte

 Temps d’accès augmente par rapport à la première


solution, notamment si le fichier contient plusieurs
blocs.

 Trois variantes de l’allocation par blocs


 Liste chaînée de blocs
 Liste chaînée utilisant une table en mémoire
 i-nœuds

Pr. M. Alaoui Talibi LST Info, FSTF


49
 Liste chaînée de blocs
 Un disque est divisé en un ensemble de blocs adressables de même taille
 Un fichier est conservé comme une liste chaînée de blocs qui peuvent être
dispersés dans le disque.
 Il suffit de garder l’adresse du premier bloc du fichier dans le répertoire pour
accéder à tous les autres blocs.
 La nature de la liste chaînée rend l’accès aléatoire très lent.
 La taille des données dans les blocs ne sera pas une puissance de 2
 Taille du pointeur
 Donc, lorsque les premiers octets de chaque bloc sont occupées par le pointeur sur le
prochain bloc, la lecture d’un bloc complet nécessite l’acquisition et la concaténation de
deux blocs du disque, d’où un temps supplémentaire pour la copie.

Bloc 0 Bloc 1 Bloc 2 Bloc 3 Bloc 4

Bloc
physique
Fichier de 5 blocs
Pr. M. Alaoui Talibi LST Info, FSTF
50
 Liste chaînée de blocs utilisant une table en mémoire

 En général, le disque est considéré comme une séquence linéaire de


blocs
 Où Les blocs sont numérotés dans l’ordre en commençant par 0

 Le chaînage des blocs d’un fichier se fait dans une structure


indépendante appelée table ou FAT.
 Cette table est chargée en mémoire
 La table correspond à un vecteur de taille correspondant au nombre
total des blocs dans le disque
 Pour localiser les blocs d’un fichier, il suffit de conserver l’adresse du
premier bloc
 Le bloc suivant est celui correspondant à l’élément indexé dans la table par
rapport au numéro du premier bloc
 De même pour les blocs suivants

Les 2 inconvénients d’une liste d’allocation chainée peuvent être éliminés en


prenant le pointeur de chaque bloc du disque pour le ranger dans une table en
mémoire.
Pr. M. Alaoui Talibi LST Info, FSTF
51
 Exemple
 Le fichier A occupe sur le disque les cinq blocs : 0
1
4 ,7 ,2 , 10 et 12 2 10
 Une telle table en mémoire principale est appelée FAT 3
(Table d’Allocation des fichiers). 4 7
5
6
 L’inconvénient de cette méthode est que la 2 7
8
totalité de la table doit se trouver en mémoire 9
tout le temps. 12 10
11
Avec un disque de 20GO et une taille de bloc de -1 12
1 ko, la table contient 20 millions d’entrée, 13
14
c’est-à-dire une pour chacun des 20 millions des 15
blocs..
 Ainsi, cette table prendra entre 60 Mo et 80 Mo
de mémoire principal en permanence. Table d’allocation des blocs

Pr. M. Alaoui Talibi LST Info, FSTF


52
 i-nœuds (associé à chaque fichier un i-node)

 Les différents blocs d’un fichier sont localisés par une


structure appelée i-nœud.

 Seuls les i-nœuds des fichiers ouverts sont chargés en


mémoire.

 Les premiers blocs sont adressés directement

 Introduire des niveaux d’adressage indirect pour les


fichiers de grande taille.
 Les dernières adresses correspondent à des blocs d’adressages
(et non de données).
Exemple
Pr. M. Alaoui Talibi LST Info, FSTF
53
 Avantage / FAT : l’i-node a uniquement besoin d’ être en mémoire qd le
fichier correspondant est ouvert. Si chaque i-noeud occupe n octets, et
qu’un maximum de k fichiers puissent être ouverts en même temps, la
mémoire totale occupée pour le tableau contenant les i-nodes des fichiers
ouverts est seulement kn octets. Seul cet espace aura besoin d’être
réservé à l’avance.

 Un autre avantage : la taille de la table FAT est proportionnelle à celle du


disque et elle doit toute entière être stocké dans la mémoire.

 Les i-nodes posent cependant un problème: si chacun d’eux à la place pour


un nombre donné d’adresses disque, que se passe t-il lorsqu’un fichier croit
au-delà de cette limite ?

 Une solution est de réserver la dernière adresse disque non pour un bloc de
données mais pour l’adresse d’un bloc comprenant plusieurs adresses
disque.

Pr. M. Alaoui Talibi LST Info, FSTF


54
Gérer l’espace disque :

 Taille des blocs


 La taille des blocs dépend de :
 Taille moyenne des fichiers
 Disque (se servir de cylindre, de cluster, ou de secteur
comme unité d’allocation)
 Choisir une taille très grande pour un bloc
 Sous utilisation de l’espace disque
 Un fichier d’ 1 Ko occupera un bloc de 32 Ko 
gaspillage de 31 Ko (97%)
 Choisir une taille très petite
 Un fichier sera constitué de plusieurs blocs  lenteur
lors de l’utilisation de ce fichier

Pr. M. Alaoui Talibi LST Info, FSTF


55
 Taille des blocs
 La courbe ci-dessous est le résultat de mesures effectuées dans
un service de 1000 utilisateurs et plus d’un million de fichiers.
 Interprétation :
Les petits blocs dégradent les performances mais améliorent l’utilisation de l’espace. Il
faut donc trouver une taille moyenne.

LST Info, FSTF


56
Pr. M. Alaoui Talibi
Une fois que la taille de bloc est choisie, l’étape
suivante consiste à utiliser (mémoriser) l’espace
libre :
 Mémorisation des blocs libres
 Le système maintient en permanence les références des
blocs libres en vue de les attribuer aux programmes qui
ont besoin de stocker des informations.
 Deux techniques sont utilisées :
 Liste chaînée de blocs
 Table de bits

Pr. M. Alaoui Talibi LST Info, FSTF


57
 Mémorisation des blocs libres
 Liste chaînée de blocs
bloc bloc bloc
23 86 42
12 234 136
612 897 210
302 422 97
214 223 41

Un bloc de 1 Ko 180 45 310


peut contenir 256 765
462 516
numéros de blocs
de 32 bits Pr. M. Alaoui Talibi LST Info, FSTF
58
 Avec des blocs de 1ko et des numéros de blocs de 32
bits, chaque bloc de la liste inclut les numéros de 255
espaces libres (un emplacement sur les 256 est
nécessaire pour le pointeur sur le prochain bloc).

 L’autre technique de gestion de l’espace libre fait


appel à la table des bits. Un disque de n blocs a
besoin d’une table de n bits. Les blocs libres sont
représentés par des 1 dans la table (ou vice verça).

 Il n’est pas étonnant que la table de bits requière


moins de place que la liste chainée puisqu’elle
n’utilise qu’un bit par bloc, au lieu de 32 bits pour la
liste chainée.
Pr. M. Alaoui Talibi LST Info, FSTF
59
 Mémorisation des blocs libres
 Table de bits
 Le système maintient une table de bits de taille
équivalente aux nombres de blocs du disque.

 Chaque bit est associé dans l’ordre à un bloc

 Si la valeur du bit vaut 1  le bloc équivalent est


libre

 Si la valeur du bit vaut 0  le bloc équivalent est


occupé

Pr. M. Alaoui Talibi LST Info, FSTF


60
 Mémorisation des blocs libres
 Table de bits
1001101111100110
0001101100100111
Le premier bloc est libre
1111101011100100
1000001110100111
Le deuxième bloc est occupé 1011101011000110

1101100011100110
1110101101101110

Pr. M. Alaoui Talibi LST Info, FSTF


61
 Quotas d’espace disque :

 Motivation :

- Éviter que les utilisateurs n’occupent trop d’espace disque.

- Les SE multi-utilisateurs fournissent souvent un moyen qui


permet d’attribuer des quotas d’espace disque.

- L’idée est que l’administrateur système attribue à chaque


utilisateur une capacité maximale de fichiers et de blocs.
Et que le SE vérifie que les utilisateurs ne dépassent pas
leur quota.

Pr. M. Alaoui Talibi LST Info, FSTF


62
 Quand un utilisateur ouvre un fichier, les attributs
et les adresses disque sont placés en mémoire,
dans une table des fichiers ouverts.

Parmi les attributs, il existe une entrée qui précise


le nom du propriétaire.

Toute augmentation de la taille d’un fichier sera


imputée au quota du propriétaire.

Pr. M. Alaoui Talibi LST Info, FSTF


63
 Une seconde table renferme les quotas de tous les
utilisateurs qui ont un fichier ouvert.

Quand une nouvelle entrée est générée dans la table des


fichiers ouverts, un pointeur sur l’enregistrement du quota
de l’utilisateur est crée afin de retrouver facilement les
valeurs limites.

Explication :

Chaque fois qu’un bloc est ajouté au Fichier, le nombre


total de blocs imputés (accordés) au propriétaire est
augmenté et les limites logicielles et matérielles sont
testées.
Pr. M. Alaoui Talibi LST Info, FSTF
64
 Lalimite logicielle peut être dépassée mais pas la
limite matérielle.

Toute tentative d’ajout à un fichier dont la


limite matérielle a été atteinte générera une
erreur.

Des tests similaires existent pour le nombre de


fichiers.

Pr. M. Alaoui Talibi LST Info, FSTF


65
 Quand un utilisateur essaye de se connecter, le SE examine
son quota de fichiers afin de voir si cet utilisateur dépasse
la limite logicielle pour le nombre de fichiers ou le nombre
de blocs.

 Si une de ces limites a été dépassée, un message


d’avertissement est affiché, et le compteur des
avertissements est diminué d’une unité. Si ce compteur
arrive à 0, l’utilisateur ne peut plus se connecter.

 Cette méthode permet aux utilisateurs de dépasser les


limites logicielles au cours d’une session de travail, à
condition qu’ils suppriment certains fichiers avant de se
déconnecter.

Pr. M. Alaoui Talibi LST Info, FSTF


66
 La fiabilité du système de fichiers

Si un système de fichiers est irrévocablement perdu


à cause :

- D’une panne matérielle


- D’une erreur logicielle

La restauration de toutes les informations sera


difficile, prendra du temps, et dans bien des cas,
sera impossible.

Pr. M. Alaoui Talibi LST Info, FSTF


67
 Ilest difficile de faire une sauvegarde d’un système
de fichiers en activité.

Si des fichiers et des répertoires sont ajoutés,


effacées ou modifiées pendant le traitement de la
copie, elle peut se révéler mauvaise.

Pr. M. Alaoui Talibi LST Info, FSTF


68
Pr. M. Alaoui Talibi LST Info, FSTF
69
UNIX est un système d'exploitation multi-tâches et multi-
utilisateurs.

Il est:

- ouvert, c’est-à-dire il n’y a pas de code propriétaire


(seules certaines implémentations sont propriétaires),

- Portable, c’est-à-dire le code est indépendant de


l’architecture (seulement environ 5% qui dépend de
l’architecture du matériel de l’ordinateur),
Pr. M. Alaoui Talibi LST Info, FSTF
70
- Disponible sur différentes plate-formes. La grande
majorité des serveurs sur Internet fonctionnent sous
UNIX.

- Aujourd’hui, UNIX est très utilisé en informatique


scientifique, et pour les serveurs réseaux.

Pr. M. Alaoui Talibi LST Info, FSTF


71
• Unix est un système d'exploitation multi-tâches ( multi-
threaded en anglais) :

Plusieurs processus (process en anglais), également


appelées « tâches », peuvent être exécutées
simultanément.

A chaque instant, le processeur ne traite qu’un seul


Processus (programme lancé),

la gestion des processus est effectuée


par le système.

Pr. M. Alaoui Talibi LST Info, FSTF


72
• Unix est un système d'exploitation multi-utilisateurs
(multi-user):

-Plusieurs utilisateurs peuvent utiliser le système en


même temps (les ressources sont réparties entre les
différents utilisateurs).

-Chaque utilisateur dispose de l’ensemble des ressources


du système.

Le système Unix se charge de contrôler et de gérer


l'utilisation et l’attribution des ressources entre les
différents utilisateurs.
Pr. M. Alaoui Talibi LST Info, FSTF
73
- Unix présente une interface utilisateur interactive et simple à
utiliser : le shell.

- Cette interface fournit des services de haut niveau.

- Elle intègre un langage de commandes très puissant(scripts).

- Sous Unix, du point de vue utilisateur, il n’y a pas de notion de


disque physique (partition, disque externe, …) contrairement à MS-
DOS, en effet sous Unix, tout est fichier.

-L’utilisateur ne voit qu’une seule arborescence de fichier


hiérarchique .

• Les périphériques sont aussi représentés par des fichiers, ce qui


rend le système indépendant du matériel et par conséquent en
assure la portabilité ; l’accès aux périphériques est donc identique à
l’accès aux fichiers ordinaires. LST Info, FSTF
Pr. M. Alaoui Talibi 74
• La gestion de la mémoire virtuelle :

Un mécanisme d’échange entre la RAM et le disque dur permet de

pallier au manque de RAM.

• Processus réentrants : les processus exécutant le même programme

utilisent une seule copie de celui-ci en RAM.

Exemple : deux utilisateurs qui utilise l’éditeur « vi », dans ce cas

une seule copie qui sera chargée en RAM.

Pr. M. Alaoui Talibi LST Info, FSTF


75
Architecture du système Unix :

Un système informatique sous Unix/Linux est conçu autour d’une


architecture en couche:

• La couche physique (hardware) : c’est la couche la plus interne:


Ressources matérielles (processeur, mémoires, périphériques,. . .).

• Au centre le noyau (en anglais kernel):

Le noyau UNIX est chargé en mémoire lors du démarrage de


l'ordinateur.

Il gère les tâches de base du système à savoir : la gestion de la


mémoire, des processus, des fichiers, des entrées-sorties
principales, et des fonctionnalités de communication.

Pr. M. Alaoui Talibi LST Info, FSTF


76
LST Info, FSTF 2017-2018 77
Bref historique d’Unix :

• UNIX est créé au Laboratoire BELL (AT&T), USA, en 1969 , il est conçu
par Ken Thompson et Dennis Ritchie.

• Et inspiré du système Multics(MULTiplexed Information and Computing


Service ou service multiplexé d'information et de calcul) créé en 1965
au MIT (Massachusetts Institute of Technology).

• Il constitue le premier système d'exploitation multitâches et


multiutilisateurs.

• Initialement nommé Unics (Uniplexed Information and Computing


Service )

• En 1973, le système est réécrit en langage C (langage développé par


Dennis Ritchie) ce qui l’a rendu simple à porter sur de nouvelles
plateforme ce qui lui a donné un véritable succès.

• Depuis la fin des années 70, deux grandes familles d’UNIX sont
générées. Pr. M. Alaoui Talibi LST Info, FSTF
78
• Projet GNU (1983) : objectif de développer un SE libre;

• Linux (1991) : un noyau UNIX libre développé par Linus


Torvald(étudiant à l'université d'Helsinki )

un SE libre est un système qui accorde 4 libertés


essentielles à l'utilisateur :

• liberté d'exécuter le programme pour n'importe quel


usage,

• liberté de le modifier,

• liberté de redistribuer des copies du programme et

• liberté de distribuer des versions modifiées.

Pr. M. Alaoui Talibi LST Info, FSTF


79
Linux (fera l’objet dans la suite pour nos TP …)

• Système d’exploitation de type UNIX pour PC, initialement créé


par Linus Torvalds, ensuite un grand nombre de développeurs
bénévoles ont participé à son développement.

• Linux est gratuit et les codes sources sont disponibles (on a le droit
d'étudier et de modifier le code source).

• Principaux Composants:

– Noyau : cœur du système, fournit aux logiciels une interface pour


utiliser le matériel.

– Interface graphique : shell (interpréteur de commande).

– Nombreux utilitaires et programmes disponibles: compilateur GCC,


éditeur Emacs, ….

• Disponible sur de nombreux ordinateurs (super-calculateur, PC,


PDA).
Pr. M. Alaoui Talibi LST Info, FSTF
80
Connexion et déconnexion :

Puisque Unix est un système multi-utilisateurs, alors il


comporte les mécanismes d’identification et de protection
permettant d’éviter toute interférence entre les différents
utilisateurs.

On distingue deux types d’utilisateurs : les administrateurs


systèmes et les utilisateurs normaux:

– L’administrateur système appelés aussi «root», utilisateur


privilégié ou super utilisateur (super user). Il dispose de tous
les droits sur la machine et le système Unix.

Il s’occupe de l’administration du système, en particulier il


crée les comptes des utilisateurs.

– L'utilisateur normal dispose des droits réduits qui sont définis


par l'administrateur système.
Pr. M. Alaoui Talibi LST Info, FSTF
81
Unix associe à chaque utilisateur (un compte):

– un nom d’utilisateur ou nom de connexion (appelé


”login”)
– un mot de passe (password en anglais),
– un Home Directory(répertoire de travail),
– un langage de commandes (shell).

Donc à chaque connexion, le système demande aux


utilisateurs leur login et leur mot de passe pour pouvoir
travailler sur la machine.

Si les deux sont valides alors Unix initialise


l’environnement et ouvre une session de travail.

Attention: Unix fait la différence entre les minuscules


des MAJUSCULES
Pr. M. Alaoui Talibi LST Info, FSTF
82
Introduction à la notion de système de fichiers (file
system) :

1. Notion de fichier et de répertoire

• Le fichier est la plus petite entité logique de stockage


permanent sur un disque ou d’autre support physiques.

Il peut contenir du texte, des données, programmes


Images, ou des programmes stockés sur un disque.

• Les fichiers sont classés dans des répertoires


(catalogues).

Chaque répertoire peut contenir d'autres sous-répertoires,


formant ainsi une organisation arborescente.

Pr. M. Alaoui Talibi LST Info, FSTF


83
2. Nomenclature des fichiers

Le nom d’un fichier sous Unix est une suite de caractères,


dont la taille peut aller jusqu’à 255 caractères.

La plupart des caractères sont acceptés, y compris l'espace


(très déconseillé).

Cependant quelques caractères sont à éviter * & ; ( ) ~


<espace> \ | ` ? -(en début de nom)

Pr. M. Alaoui Talibi LST Info, FSTF


84
L’extension n’indique pas le type de fichier, par
exemple, un exécutable n'a pas besoin d‘avoir une
extension particulière, un fichier qui a l’extension .exe,
ne veut pas dire que c’est fichier exécutable.

En faite le caractère ”.” est considéré comme étant un


caractère dans le nom de fichier et non pas le caractère
de séparation entre le nom du fichier et son type
(comme le MS-DOS).

Par conséquent, il est possible que le nom d’un fichier


peut contenir plusieurs caractères ”.”

Exemple: nom_fichier.c.java.cpp
Pr. M. Alaoui Talibi LST Info, FSTF
85
3. Les différents types de fichiers

Pour l’utilisateur sous Unix, il n’existe pas la notion de


disques physiques (tout est fichier).

L’utilisateur ne voit qu’une seule arborescence formée de


répertoire et de fichiers. On distingue :

- Les fichiers ordinaires:

Ce sont soit des fichiers contenant du texte, soit des


exécutables (ou binaires), soit des fichiers de données.

Le système n'impose aucun format particulier aux fichiers


et les traite comme des séquences d'octets.

Pour connaître les types des fichiers on utilise par


exemple la commande: file.
Pr. M. Alaoui Talibi LST Info, FSTF
86
-Les répertoires (Les fichiers répertoires) : c’est un
ensemble de fichiers ou d’autre répertoires (sous-
répertoires) de manière récursive. Ils permettent une
organisation hiérarchique.

-Les fichiers spéciaux : Ce sont des fichiers qui servent


d’interface pour les divers périphériques (terminaux,
disques dur, clavier, …).

Les opérations de lecture/écriture sur ces fichiers sont


directement dirigées vers le périphérique associé.

Les fichiers correspondant aux périphériques sont


stockés dans le répertoire «/dev» (devices).

Pr. M. Alaoui Talibi LST Info, FSTF


87
4. Systèmes de fichiers

4.1 Définition : Un système de fichiers (File System en


anglais), appelé aussi système de gestion de fichiers,

- Est une structure de donnée qui définit l’organisation


d'un disque (ou partition d'un disque).

- Il offre à l’utilisateur une vision homogène et structurée


des données et des ressources : disques, mémoires,
périphériques.

- Sous système Unix, tout est fichier, il n’y a pas de


notions de disques, partition de disques, périphériques,.

– les fichiers sont regroupés dans des répertoires.

88
Une telle organisation génère une hiérarchie de répertoires

et de fichiers organisés en arbre:

-la racine est désignée par « / »(slash): « / » est le

répertoire racine.

-les nœuds sont les répertoires non vides

-les feuilles sont les fichiers ou les répertoires "vides".

Pr. M. Alaoui Talibi LST Info, FSTF


89
4.2 Quelques principaux répertoires Unix

Chaque fichier Unix est placé dans l’arborescence de


racine «/» (désigne le répertoire root) qui contient les
sous-répertoires suivants :

/bin: utilitaires de bas-niveau (exécutables essentiels


pour le système).

/home : Répertoire pour les utilisateurs. Chaque


utilisateur possède son propre répertoire qui a le nom de
son login.

/lib : contient des bibliothèques partagées essentielles au


système lors du démarrage.

/media : Certaines distributions montent les


périphériques
Pr. M. Alaoui amovibles
Talibi à cet endroit.
LST Info, FSTF
90
/etc : regroupe tous les fichiers de configurations des
différents logiciels installés sur la machine

ainsi que des fichiers de configuration système utilisés au


démarrage de la machine.

/root: répertoire de l’administrateur root


/tmp : contient les fichiers temporaires
/var : Fichiers dont le contenu varie

/var/spool : Fichiers en cours de traitement (file


d'impression, mails en cours d'envoie...)

/var/tmp : Fichiers temporaires (voir aussi /tmp).

LST Info, FSTF


Pr. M. Alaoui Talibi 91
 Organisation logique
 Structure arborescente
 Répertoires, fichiers

 Organisation physique
 i-noeud

Pr. M. Alaoui Talibi LST Info, FSTF


92
 Fichier
 Contient les données
 Types de fichiers
 Ordinaires
 Texte, exécutable, image, audio, vidéo…
 Spéciaux périphériques
 Correspondant à un périphérique
 Tubes (communication entre processus)
 Sockets

Pr. M. Alaoui Talibi LST Info, FSTF


93
 Répertoire

 nœud contenant
 Des fichiers
 Des sous répertoires
 Répertoire racine nommé : /
 Répertoire père : ..
 Répertoire courant : .

Pr. M. Alaoui Talibi LST Info, FSTF


94
/

sbin user dev bin etc lib usr mnt tmp

michel toto dupont sbin bin spool mail

ls

/bin : programmes exécutables


cours
/dev : drivers des périphériques
/etc : fichiers de configuration du
système
fichier
/sbin : programme de gestion du
répertoire système 95
Pr. M. Alaoui Talibi
/

sbin user dev bin etc lib usr mnt tmp

Montage des cdrom printer scanner


périphériques

Pr. M. Alaoui Talibi LST Info, FSTF


96
A chaque fichier est associée une structure
appelée i-nœud

 Un i-nœud contient
 Des informations de localisation
 13 adresses disques (15 pour certaines versions)
 Des informations générales

Pr. M. Alaoui Talibi LST Info, FSTF 97


 D’Autres informations

 Type de fichier
 Nom du propriétaire et son groupe
 Nombre de liens sur le fichier
 Taille du fichier
 Dates de création, dernière modification et
dernier accès
 Droits d’accès

Pr. M. Alaoui Talibi LST Info, FSTF


98
Structure d’un i-noeud

Adresse 11
Adresse 12
Adresse 13
Adresse 1 -> Adresse 10

Autres infos

Pr. M. Alaoui Talibi LST Info, FSTF


99
 Adresse 1 …10 : adresses simples
 adresses des 10 premiers blocs du fichier
 Un bloc est, en général, de taille 512, 1024 ou
2048 octets

 Adresse 11 : l’adresse d’un bloc A


 Ce bloc contient les adresses d’un certain
nombre de blocs du fichier
 Exemple si la taille des blocs est de 512 octets et que
les adresses sont représentées sur 4 octets alors le
bloc A contient les adresses de 128 blocs (512/4)
 Introduit le premier niveau d’adressage indirect
Pr. M. Alaoui Talibi LST Info, FSTF
100
 Adresse 12 : l’adresse d’un bloc B

 Le bloc B contient les adresses de blocs de type A


 Introduit le deuxième niveau d’adressage indirect

 Adresse 13 : l’adresse d’un bloc D

 Le bloc D contient les adresses de blocs de type B


 Introduit le troisième niveau d’adressage indirect

Pr. M. Alaoui Talibi LST Info, FSTF


101
Bloc de données
Attributs
directes
10 Adresse

1er niveau
d’adressage
indirect
2ème niveau
Adresse 11
Adresse 12 d’adressage
Adresse 13 indirect

3ème niveau
Bloc d’adresses d’adressage
indirect

Pr. M. Alaoui Talibi LST Info, FSTF 102


 Plusieurs références à un seul fichier

 Avantages

 Une seule copie à jour

 Occupe Moins d’espaces

 Deux types de liens

 Lien physique

 Lien symbolique

Pr. M. Alaoui Talibi LST Info, FSTF


103
 Lien physique
 Attribuer un autre nom à un fichier

 Le fichier existe en un seul exemplaire

 Pas de lien physique pour les répertoires

Pr. M. Alaoui Talibi LST Info, FSTF


104
 Lien symbolique
 Une autre référence à un fichier (raccourcis)

 Le fichier existe en un seul exemplaire

 Possible pour les répertoires

Pr. M. Alaoui Talibi LST Info, FSTF


105

Vous aimerez peut-être aussi