Selon la documentation de rasbery pi , vous pouvez charger votre système d’exploitation sur une carte flash avec / dev / disk ou / dev / rdisk.
rdisk est synonyme de disque brut.
/ dev / disk est un périphérique de niveau bloc, pourquoi rdisk serait-il 20 fois plus rapide?
Utiliser Mac OSX
Remarque: Sous OS X, chaque disque peut avoir deux références de chemin dans / dev: / dev / disk # est un périphérique mis en mémoire tampon, ce qui signifie que toute donnée envoyée subit un traitement supplémentaire. / dev / rdisk # est un chemin brut, beaucoup plus rapide et parfaitement correct lorsque vous utilisez le programme dd. Sur une carte SD de classe 4, la différence était environ 20 fois plus rapide avec le chemin d'accès au disque dur.
sd-card
dd
disk-utility
dev
spuder
la source
la source
Réponses:
De
man hdiutil
:En termes simples,
/dev/rdisk
presque directement sur disque et/dev/disk
passe par un itinéraire plus long et plus coûteuxla source
La réponse acceptée est correcte, mais elle n’entre pas dans les détails.
L'une des principales différences entre
/dev/disk
et/dev/rdisk
, lorsque vous y accédez à partir de l'espace utilisateur,/dev/disk
est la mise en mémoire tampon. Le chemin de lecture / écriture pour/dev/disk
divise les E / S en blocs de 4 Ko, qu'il lit dans le cache de la mémoire tampon, puis copie dans le tampon de l'espace utilisateur (puis émet la lecture suivante de 4 Ko ...). C'est bien en ce sens que vous pouvez faire des lectures et des écritures non alignées, et que cela fonctionne. En revanche,/dev/rdisk
la lecture ou l'écriture est directement transmise au périphérique, ce qui signifie que le début et la fin de l'E / S doivent être alignés sur les limites du secteur.Si vous faites une lecture ou écrivez plus grand qu'un secteur
/dev/rdisk
, cette demande sera transmise directement. Les couches inférieures peuvent le casser (par exemple, USB le divise en 128 Ko en raison de la taille maximale de la charge utile dans le protocole USB), mais vous pouvez généralement obtenir des E / S plus grandes et plus efficaces. Lors de la diffusion, comme viadd
, 128 Ko à 1 Mo sont de très bonnes tailles pour obtenir des performances quasi optimales sur du matériel non RAID actuel.La mise en cache effectuée par
/dev/disk
les chemins de lecture et d'écriture est très simple et presque morte. Il cache même si pas strictement nécessaire; comme si l'appareil pouvait faire une carte mémoire et transférer directement dans le tampon de votre application. Il fait de petites entrées / sorties (4 Ko), ce qui entraîne beaucoup de frais généraux par entrée / sortie. Il ne fait aucune lecture en avant ou écrit en arrière.la source
Il semble
/dev/disk
et/dev/rdisk
fonctionne différemment pour les disques durs et SSD. Vous voulez vérifier pour la carte MicroSD. Je viens d'écrire une image disque de 2 Go sur Sandisk Ultra MicroSD 64 Go ( https://www.amazon.com/gp/product/B073JYVKNX ).Des tests répétés à plusieurs reprises, mais les résultats sont stables: 17Mo / s pour
/dev/disk
vs 20 Mo / s pour/dev/rdisk
. Passerbs=1m
à nebs=16m
donne aucune différence de vitesse d’écriture.Ecrire à
/dev/disk2
Ecrire à
/dev/rdisk2
Ensuite, j'ai décidé de tester la vitesse de lecture: 26 Mo / s pour
/dev/disk
vs 87 Mo / s pour/dev/rdisk
. Passerbs=1m
à nebs=16m
donne aucune différence de vitesse de lecture.Lecture de
/dev/disk2
Lecture de
/dev/rdisk2
la source
Je sais que c'est un vieux fil, mais d'autres personnes pourraient être intéressées par les implications en termes de vitesse de ce que j'ai essayé. Je souhaite sauvegarder mon disque SSD interne dans mon MacBook Pro 13 "Retina (avec un disque SSD Silicon Power 1 To) sur un disque dur externe USB 3.0 2,5", dans le but de capturer les partitions macOS et BOOTCAMP. Ma ligne de commande initiale était:
Les résultats étaient un taux de copie d'environ 31,3 Mo / seconde. C'était trop long pour me faire attendre. Ainsi, à la deuxième tentative, la ligne de commande était la suivante:
Utiliser
/dev/rdisk
au lieu d'/dev/disk
accélérer considérablement, jusqu'à environ 98,4 Mo / seconde! Cependant, ça va encore mieux. Donc, pour la troisième tentative, j'ai utilisé cette ligne de commande:L'option sparse indique à DD de ne pas se soucier d'écrire dans des blocs de sortie qui sont tous des 0 sur l'entrée. Ce qui est bien, c’est que cela devient beaucoup plus rapide que vous ne le pensez, même au milieu de zones "pleines" du disque. Sur tout lecteur qui n'est pas plein, vous aurez d'énormes morceaux de 0, ce qui accélérera encore la DD. Jusqu'à présent, au moins, DD ne fait que tourner à la vitesse de transfert théorique de mon disque dur: ~ 116,4 Mo / seconde, et il n'a pas encore atteint ces grandes zones vierges.
Essayez ces options - elles fonctionnent! Remarque: Modifiez ATTENTIVEMENT
if=
etof=
pointez correctement sur les lecteurs appropriés répertoriés par (pour les Mac):la source
conv=sparse
est formidable lorsque vous copiez des fichiers. Je crains que cela ne crée une corruption lors de la copie d' un disque entier, d' une partition ou d' un système de fichiers , à moins que vous ne sachiez avec une certitude à 100% que le disque de destination ne contient que des zéros.Pour mémoire, dans macOS High Sierra au moins, / dev / disk semble être beaucoup plus rapide que / dev / rdisk. En utilisant dd ou ddrescue, ma copie de comparaison de débit d’un disque dur magnétique à un disque SSD s’élevait à 3,7 Mbps avec / dev / rdisk et 45 Mbps avec / dev / disk. Ainsi, sur les versions ultérieures de macOS, il peut être préférable d’utiliser / dev / disk au lieu de / dev / rdisk pour de meilleures performances.
la source
Je pense qu'avant de discuter quel nœud de chemin est le plus rapide ou plonger dans des tests en série. Nous devrions envisager un autre facteur qui affectera considérablement la vitesse de lecture / écriture finale.
comme la spéc. de la carte Micro SD, classe 4/10 / HC I ... puce de lecteur de carte SD et interface, usb 1.1 / 2.0 / 3.0 / 3.1 mémoire totale / mémoire disponible, charge, type de disque dur, disque dur / SSD, disque dur vitesse de rotation et taille du cache, taille du SSD / cache / espace libre / interface du disque dur os, ata / sata / esata,
si un facteur devenait un goulot d'étranglement, nous aurions une fausse conclusion.
voici mon résultat: osx 10.12.6, ssd,
lire la carte microSD 16G avec une carte USB 2.0 en lecture et en écriture sur un disque dur externe de 3,5 pouces avec une clé USB 3.0,
écrire microSD 32G à travers la lecture de la carte interne et la source de données est un disque dur externe de 3,5 pouces par USB 3.0,
vous pouvez voir, vitesse d'écriture> vitesse de lecture !!
la source