Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Mécanisme d'accès du système de fichier au disques

3 réponses
Avatar
at
Salut,
Il y a qq chose qui m'échappe dans le mécanisme de gestion des
périphériques sous Unix.
Le répertoire /dev, qui fait partie d'un système de fichier, contient
les fichiers spéciaux permettant au système d'accéder aux périphériques.
Mais comme le système de fichier accède-t-il au disque dur ?
En utilisant les fichiers spéciaux correspondants au disque dur et
présents dans ce même système de fichier ? ( mais à ce moment là, c'est
un peu le pb de le poule et l'oeuf !! ) En gros, quand le système de
fichier ordonne une écriture sur le disque, quel est le cheminement
exact de la requête et le rôle du noyau dans tout ça ?
Si vous connaissez des liens clairs à ce sujet ou si vous pouvez
m'expliquer clairement, je suis preneur.
Par avance merci.

3 réponses

Avatar
Eric Lévénez
Le 14/02/05 22:19, dans <421115e8$0$14529$, « at »
<"sargon(at)no-log.org.nospam"> a écrit :

Le répertoire /dev, qui fait partie d'un système de fichier, contient
les fichiers spéciaux permettant au système d'accéder aux périphériques.
Mais comme le système de fichier accède-t-il au disque dur ?
En utilisant les fichiers spéciaux correspondants au disque dur et
présents dans ce même système de fichier ? ( mais à ce moment là, c'est
un peu le pb de le poule et l'oeuf !! ) En gros, quand le système de
fichier ordonne une écriture sur le disque, quel est le cheminement
exact de la requête et le rôle du noyau dans tout ça ?


Dans /dev se trouvent des fichiers spéciaux (caractère ou bloc). Ces
fichiers sont virtuels et ne représentent pas de fichiers réels. Ces
fichiers sont caractérisés pas un numéro majeur et un numéro mineur. Le
numéro majeur indique le numéro du driver et le mineur donne un sous
périphérique pour le driver.

Au boot, le noyau est chargé en RAM et commence à s'exécuter. Là il connaît
la structure du système de fichiers /. Tout programme lancé après (comme
init) sait lire/écrire sur le système de fichier. Tout accès d'un programme
à un fichier spécial dans /dev renvoie cet accès au driver référencé. Ainsi
en écrivant dans /dev/xyz (maj, minB) on envoie en fait des données au
driver 12 en lui disant que c'est pour son périphérique 42.

Le fait qu'il existe des fichiers spéciaux pour les disques et les
partitions n'est qu'une astuce pour gérer le partitionnement, les
sauvegardes... Les accès "normaux" ne les utilisent pas car ils passent pas
des accès fichier "normaux" (par opposition aux fichiers spéciaux).

Parfois /dev est lui-même un système de fichier spécial et les fichiers dans
/dev n'ont même pas de présence physique dans le système de fichiers /.

Les fichiers spéciaux sont généralement dans /dev, mais on peut en avoir
partout, seuls les numéros de mineur/majeur comptent car ce sont eux qui
servent d'aiguillage et non pas le nom du fichier en lui-même.

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.

Avatar
Jérôme
Ok, merci pour ces explications claires. Le sujet de l'accès du système
de fichier aux disques n'est pas abordé dans les ouvrages
d'administration Unix que j'ai consultés. Seul l'accès aux périphériques
est évoqué. Existe-t-il des liens ou des ouvrages traitant plus en
détails les méthodes et mécanismes d'accès du système de fichier aux
disques ?


Dans /dev se trouvent des fichiers spéciaux (caractère ou bloc). Ces
fichiers sont virtuels et ne représentent pas de fichiers réels. Ces
fichiers sont caractérisés pas un numéro majeur et un numéro mineur. Le
numéro majeur indique le numéro du driver et le mineur donne un sous
périphérique pour le driver.

Au boot, le noyau est chargé en RAM et commence à s'exécuter. Là il connaît
la structure du système de fichiers /. Tout programme lancé après (comme
init) sait lire/écrire sur le système de fichier. Tout accès d'un programme
à un fichier spécial dans /dev renvoie cet accès au driver référencé. Ainsi
en écrivant dans /dev/xyz (maj, minB) on envoie en fait des données au
driver 12 en lui disant que c'est pour son périphérique 42.

Le fait qu'il existe des fichiers spéciaux pour les disques et les
partitions n'est qu'une astuce pour gérer le partitionnement, les
sauvegardes... Les accès "normaux" ne les utilisent pas car ils passent pas
des accès fichier "normaux" (par opposition aux fichiers spéciaux).

Parfois /dev est lui-même un système de fichier spécial et les fichiers dans
/dev n'ont même pas de présence physique dans le système de fichiers /.

Les fichiers spéciaux sont généralement dans /dev, mais on peut en avoir
partout, seuls les numéros de mineur/majeur comptent car ce sont eux qui
servent d'aiguillage et non pas le nom du fichier en lui-même.



Avatar
Eric Lévénez
Le 15/02/05 15:08, dans <42120272$0$21718$, « Jérôme »
a écrit :

Existe-t-il des liens ou des ouvrages traitant plus en
détails les méthodes et mécanismes d'accès du système de fichier aux
disques ?


Tout livre sur les internes du système parlent de cela. Par exemple pour
Unix : "Conception du système Unix" de M.J. Bach (aka LE bach). Pour Unix
System V release 4 : "The magic garden explained" de Goodheart & Cox. Pour
le monde BSD il y a "Conception et implémentation du système 4.4BSD" chez
Addison Wesley.

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.