RAW(8) | Administration Système | RAW(8) |
raw - Attacher un périphérique caractère brut Linux
raw /dev/raw/rawN majeur mineur
raw /dev/raw/rawN /dev/périphérique_bloc
raw -q /dev/raw/rawN
raw -qa
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'adressage 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.
Plutôt que d’utiliser des périphériques bruts, les applications devraient préférer des périphériques open(2), tels que /dev/sda1, avec l’indicateur O_DIRECT.
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 « Argument non valable » (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 peut être considéré comme un bogue ou une fonctionnalité selon les points de vue.
Stephen Tweedie <sct@redhat.com>
La commande raw fait partie du paquet util-linux, elle est disponible sur <https:/www.kernel.org/pub/linux/utils/util-linux/>.
La traduction française de cette page de manuel a été créée par Christophe Blaess <ccb@club-internet.fr>, Michel Quercia <quercia AT cal DOT enst DOT fr>, Thierry Vignaud <tvignaud@mandriva.com>, Frédéric Delanoy <delanoy_f@yahoo.com>, Thierry Vignaud <tvignaud@mandriva.com>, Christophe Sauthier <christophe@sauthier.com>, Sébastien Blanchet, Jérôme Perzyna <jperzyna@yahoo.fr>, Aymeric Nys <aymeric AT nnx POINT com>, Alain Portal <aportal@univ-montp2.fr>, Thomas Huriaux <thomas.huriaux@gmail.com>, Yves Rütschlé <l10n@rutschle.net>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Philippe Piette <foudre-blanche@skynet.be>, Jean-Baka Domelevo-Entfellner <domelevo@gmail.com>, Nicolas Haller <nicolas@boiteameuh.org>, Sylvain Archenault <sylvain.archenault@laposte.net>, Valéry Perrin <valery.perrin.debian@free.fr>, Jade Alglave <jade.alglave@ens-lyon.org>, Nicolas François <nicolas.francois@centraliens.net>, Alexandre Kuoch <alex.kuoch@gmail.com>, Lyes Zemmouche <iliaas@hotmail.fr>, Florentin Duneau <fduneau@gmail.com>, Alexandre Normand <aj.normand@free.fr> et David Prévot <david@tilapin.org>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.
août 1999 | util-linux |