03 SGF
03 SGF
03 SGF
Jean Privat
Université du Québec à Montréal
Rôles d’un SE
Gestion des processus
Gestion de l’espace mémoire
Gestion de l’espace disque
Gestion des entrées-sorties
Objectifs
Gérer l’espace, répondre aux demandes d’allocation
et de libération de l’espace
Donner à l’utilisateur une abstraction cohérente et
indépendante du mode de gestion de l’espace
Sous Unix
La racine s’appelle / (slash) et elle est unique
Sous Windows
Plusieurs racines possibles (C :, etc.)
Fichiers spéciaux
Répertoires, fichiers physiques (dans /dev), liens
symboliques, tubes nommés...
Manipulation par des appels systèmes spécifiques
Règles au cas par cas
Jean Privat (UQAM) 03 — SGF INF3172 — Automne 2016 8 / 54
Partitions
Montage et démontage
Une partition est montée dans un répertoire
Espace de gestion
Table des i-nodes (i-nœuds) : matricule des fichiers
Un moyen de connaître les blocs libres
Espace de données
Contient les contenus des fichiers
Utilisation de blocs de taille identique (en général)
Système utilisateur-groupe-autres
Chaque utilisateur et associé à une identité (uid) et
à un groupe (gid)
Chaque processus lancé par un utilisateur est associé
à son uid et son gid
Chaque fichier du système possède un utilisateur
propriétaire et un groupe propriétaire
Contenu répertoires
/ repus /
2 .. 2 ..
795 . 2 .
1450 fifre 795 repus
Représentation
Stockées en temps Unix
Définition
Des entrées dans un ou plusieurs répertoires (avec
possiblement des noms de fichiers distincts) qui
référencent un même inode
Le champ nombre de liens durs de la table des
inodes compte le nombre de références
Piège
Les liens durs ne sont pas des liens
Attention :
pas de distinction entre l’original et le lien
Tous les deux « sont » le même fichier
Objectif
Résoudre les limitations des liens durs
Comportement
Le nombre de liens dur de l’orginal reste inchangé
Accéder au lien symbolique revient à manipuler le
fichier lié
Le SE fait le travail automatiquement
Commandes ls et stat
$ ls −li monfichier
4965657 −rwx−−−−−− 1 p r i v a t p r o f 2975
2007−08−29 1 7 : 1 5 m o n f i c h i e r
Droits d’accès
chmod et chmod()
Propriétaires
chown, chgrp et chown()
Dates
touch et utime()
Déplacer, renommer
Commande mv, appel système rename()
Copier
Commande cp, pas d’appel système
Question
Quel est la taille maximale d’un fichier ?
Jean Privat (UQAM) 03 — SGF INF3172 — Automne 2016 37 / 54
Plan
1 Systèmes de fichiers
2 Table des inodes
3 Liens durs et liens symboliques
4 Accès et modification des fichiers
5 Adressage des fichiers
6 Traitement des fichiers ouverts
7 Fiabilité de l’espace disque
Exemple
Deux processus font un open() d’un même fichier
Chacun a un descripteur
Chaque descripteur pointe vers une entrée de la
table des fichiers ouverts
Chaque entrée de la table des fichiers ouvert pointe
vers le même inode en mémoire
Exemple
Entrée et sorties standard
Descripteurs synonymes
Deux descripteurs d’un même processus peuvent
pointer une même entrée dans la table des fichiers
ouverts
Appels systèmes dup() et dup2()
Le SE nettoie
Lors de la terminaison d’un processus, le SE ferme
tous les descripteurs restés ouverts.
Administrateur système
Un des rôle d’un administrateur système est de
garantir que les données ne sont ni perdues ni
corrompues
Moyens
Dupliquer les données
Conserver un historique
Stocker le double ailleurs
Deux approches
Sauvegarde physique vs. sauvegarde logique
Cohérence
L’incohérence d’un système de fichier peut amener à
des pertes de données
Dans l’idéal, la cohérence doit pouvoir être garantie
par le SGF