raw(8) Attacher un périphérique caractère brut Linux

SYNOPSIS

raw /dev/raw/rawN majeur mineur

raw /dev/raw/rawN /dev/périphérique_bloc

raw -q /dev/raw/rawN

raw -qa

DESCRIPTION

raw permet d'attacher un périphérique caractère brut Linux à un périphérique bloc. N'importe quel périphérique bloc pourrait être utilisé ; au moment de l'attachement, le pilote du périphérique n'a pas besoin d'être accessible (il pourrait être chargé plus tard à la demande comme un module du noyau).

raw est utilisé en deux modes : soit il définit les attachements de périphériques bruts, soit il fait une requête sur les attachements existants. Lors de la définition d'un périphérique brut, /dev/raw/rawN est le nom du périphérique d'un nœud de périphérique brut existant du système de fichiers. Le périphérique bloc auquel il est attaché peut être indiqué soit par ses numéros de périphérique majeur et mineur, soit comme un nom de chemin /dev/périphérique_bloc vers un fichier de périphérique bloc existant.

Une requête peut être faite sur les attachements existants avec l'option -q, utilisée soit avec un nom de fichier de périphérique brut, soit avec l'option -a pour faire une requête sur tous les périphériques bruts liés.

Le détachement peut être réalisé en indiquant 0 pour les majeur et mineur.

Une fois attaché à un périphérique bloc, un périphérique brut peut être ouvert, lu et écrit, tout comme le périphérique bloc auquel il est attaché. En particulier, l'accès au périphérique brut contourne complètement la mémoire cache de bloc du noyau ; toutes les entrées et sorties sont faites directement vers et depuis l'espace d'adresse du processus réalisant les entrées et sorties. Si le pilote du périphérique bloc sous-jacent prend en charge l'accès direct à la mémoire (DMA), alors aucune copie de données n'est nécessaire pour terminer les entrées et sorties.

Puisque les entrées et sorties brutes impliquent un accès matériel direct à la mémoire du processus, quelques restrictions supplémentaires doivent être respectées. Toutes les entrées et sorties doivent être correctement alignées en mémoire et sur le disque ; elles doivent commencer à une position de secteur sur le disque, doivent être longues d'un nombre entier de secteurs, et le tampon de données en mémoire virtuelle doit aussi être aligné sur un multiple de la taille de secteur. La taille d'un secteur est de 512 octets sur la plupart des périphériques.

OPTIONS

-q, --query
Définir le mode de requête. raw fera une requête sur un attachement existant plutôt que d'en définir un nouveau.
-a, --all
Avec -q, indiquer que tous les périphériques bruts attachés devraient être concernés par la requête.
-h, --help
Afficher un texte d'aide puis quitter.
-V, --version
Afficher les informations sur la version et quitter.

BOGUES

La commande Linux dd(1) devrait être utilisée sans l'option bs=, ou la taille de bloc doit être un multiple de la taille de secteur du périphérique (512 octets en général), sinon il échouera avec des messages « Invalid Argument » (EINVAL).

Les périphériques bruts d'entrées et sorties ne conservent pas de cohérence de cache avec la mémoire cache de périphérique bloc de Linux. Si vous utilisez des entrées et sorties brutes pour écraser les données déjà dans la mémoire cache, la mémoire cache ne correspondra plus au contenu du véritable périphérique de stockage sous-jacent. C'est intentionnel, mais est considéré comme un bogue ou une fonctionnalité en fonction des points de vue.

AUTEUR

Stephen Tweedie <[email protected]>

DISPONIBILITÉ

La commande raw fait partie du paquet util-linux, elle est disponible sur <ftp://ftp.kernel.org/pub/linux/utils/util-linux/>.