Je connais à peu près les fichiers situés sous / dev.
Je sais qu'il existe deux types (caractère / bloc), l'accès à ces fichiers communique avec un pilote dans le noyau.
Je veux savoir ce qui se passe si j'en supprime un - spécifiquement pour les deux types de fichiers. Si je supprime un fichier de périphérique de bloc, disons /dev/sda
, quel effet - le cas échéant - cela a-t-il? Est-ce que je viens de démonter le disque?
De même, /dev/mouse/mouse0
que se passe-t-il si je supprime - que se passe-t-il? La souris cesse-t-elle de fonctionner? Se remplace-t-il automatiquement?
Puis-je même supprimer ces fichiers? Si j'avais une VM configurée, je l'essayerais.
Réponses:
Ce sont simplement des fichiers (spéciaux). Ils ne servent que de «pointeurs» vers l'appareil réel. (c'est-à-dire le module du pilote à l'intérieur du noyau.)
Si une commande / un service a déjà ouvert ce fichier, il possède déjà un handle vers le périphérique et continuera de fonctionner.
Si une commande / un service tente d'ouvrir une nouvelle connexion, il essaiera d'accéder à ce fichier et échouera en raison de «fichier introuvable».
Habituellement, ces fichiers sont remplis par
udev
, ce qui les crée automatiquement au démarrage du système et lors d'événements spéciaux comme le branchement d'un périphérique USB, mais vous pouvez également les créer manuellement à l'aidemknod
.la source
makedev
commande qui fait généralement le travail, et contrairement àudev
elle, elle semble être présente parmi la plupart des systèmes d'exploitation de type Unix.linux
etudev
/etc/init.d/makedev
. Le manuel freebsd mentionne MAKEDEV paru dans 4.2BSD (à partir de 1983). Je pense qu'en 1983, il serait tout aussi logique de rendreMAKEDEV
automatisé via init qu'en 06Les fichiers de périphérique sont en fait un alias de système de fichiers pour une entrée dans la table des périphériques du noyau. Si vous regardez les fichiers / dev avec "ls -l", vous verrez qu'ils ont un numéro de périphérique majeur et un numéro de périphérique mineur. Si vous supprimez les fichiers du système de fichiers, vous pouvez toujours les recréer à l'aide des outils appropriés pour relier le fichier spécial à l'entrée de la table des périphériques du noyau - voir mknod (1).
la source
À partir de ce moment, ils ne sont accessibles que par des programmes sur lesquels ces appareils étaient déjà ouverts. Il n'est donc pas possible de démonter les systèmes de fichiers. Et avec udev, un redémarrage peut restaurer ces appareils. Une étrange façon d'apprendre Unix.
la source