I.6)
a) 1 entrée dans le listing du répertoire (nom, infos du fichier: inode)
Attention, l'entrée dans le répertoire n'est pas un inode. Elle contient le nom d'un fichier et le numéro d'inode associé. Elle pointe donc sur un inode qui contient toutes les autres infos du fichiers. Le lien hard ne consomme pas d'inode, il ne consomme qu'une entrée du répertoire qui pointe sur le même inode que le fichier d'origine. C'est cet inode non dupliqué qui voit sont compteur de ref augmenter. Le lien symbolique a son propre inode, c'est pour ça qu'il prend plus d'espace disque. Par contre, il ne consomme pas forcément de bloc de données. En dessous d'une cinquantaine d'octets, les données sont rangées directement dans l'inode.
III.1) les fonctions *dir: opendir, readdir, closedir
Il faut que le répertoire soit accessible par l'utilisateur en Read+eXecute
Non non et non... on n'a pas besoin de traverser un répertoire pour lister ses entrées. Les noms des élements du répertoire sont bien dans les blocs de données du répertoire, et non dans les inodes des fichiers correspondants.
Par contre, on a bien besoin de traverser le répertoire pour lire les inodes (stat) des fichiers qui sont dedans :)
[^] # Re: Trop tard ?!?
Posté par jimee . En réponse au message Questions d'exam. Évalué à 2.
a) 1 entrée dans le listing du répertoire (nom, infos du fichier: inode)
Attention, l'entrée dans le répertoire n'est pas un inode. Elle contient le nom d'un fichier et le numéro d'inode associé. Elle pointe donc sur un inode qui contient toutes les autres infos du fichiers. Le lien hard ne consomme pas d'inode, il ne consomme qu'une entrée du répertoire qui pointe sur le même inode que le fichier d'origine. C'est cet inode non dupliqué qui voit sont compteur de ref augmenter. Le lien symbolique a son propre inode, c'est pour ça qu'il prend plus d'espace disque. Par contre, il ne consomme pas forcément de bloc de données. En dessous d'une cinquantaine d'octets, les données sont rangées directement dans l'inode.
III.1) les fonctions *dir: opendir, readdir, closedir
Il faut que le répertoire soit accessible par l'utilisateur en Read+eXecute
Non non et non... on n'a pas besoin de traverser un répertoire pour lister ses entrées. Les noms des élements du répertoire sont bien dans les blocs de données du répertoire, et non dans les inodes des fichiers correspondants.
Par contre, on a bien besoin de traverser le répertoire pour lire les inodes (stat) des fichiers qui sont dedans :)