Согласно документации rasbery pi , вы можете загрузить свою ОС на флэш-карту с помощью / dev / disk или / dev / rdisk.
rdisk обозначает сырой диск.
/ dev / disk - это устройство блочного уровня, почему бы rdisk быть в 20 раз быстрее?
Использование Mac OSX
Примечание: В OS X каждый диск может иметь две ссылки на пути в / dev: / dev / disk # является буферизованным устройством, что означает, что любые отправляемые данные подвергаются дополнительной обработке. / dev / rdisk # - это необработанный путь, который намного быстрее и прекрасно работает при использовании программы dd. На SD-карте класса 4 разница была примерно в 20 раз быстрее при использовании пути rdisk.
sd-card
dd
disk-utility
dev
spuder
источник
источник
Ответы:
От
man hdiutil
:С точки зрения непрофессионала
/dev/rdisk
идет почти непосредственно на диск и/dev/disk
идет по более длинному более дорогому маршрутуисточник
Принятый ответ правильный, но не вдаваться в подробности.
Одно из ключевых различий между
/dev/disk
и/dev/rdisk
при обращении к ним из пространства пользователя заключается в том, что они/dev/disk
буферизируются. Путь чтения / записи для/dev/disk
разбивает ввод / вывод на куски 4 КБ, которые он считывает в буферный кеш, а затем копирует в буфер пространства пользователя (а затем выдает следующее чтение 4 КБ…). Это хорошо тем, что вы можете выполнять выравнивание чтения и записи, и это просто работает. Напротив, в/dev/rdisk
основном просто передает чтение или запись прямо на устройство, что означает, что начало и конец ввода / вывода должны быть выровнены по границам сектора.Если вы выполняете чтение или запись в более чем один сектор
/dev/rdisk
, этот запрос будет передан напрямую. Нижние уровни могут разбить его (например, USB разбивает его на куски по 128 КБ из-за максимального размера полезной нагрузки в протоколе USB), но в целом вы можете получить более крупные и эффективные операции ввода-вывода. При потоковой передаче, например, черезdd
, от 128 КБ до 1 МБ достаточно хороших размеров, чтобы получить почти оптимальную производительность на текущем оборудовании без RAID.Кэширование, выполняемое
/dev/disk
путями чтения и записи, очень простое и почти мертвое. Он кэшируется, даже если это не строго необходимо; например, если устройство может отображать карту памяти и напрямую переноситься в буфер вашего приложения. Он выполняет небольшие операции ввода-вывода (4 КБ), что приводит к значительным накладным расходам на ввод-вывод. Это не делает никакого чтения вперед или записи позади.источник
Кажется
/dev/disk
и/dev/rdisk
работает по-разному для HDD и SSD. Хочу проверить это на карту MicroSD. Только что записал образ диска 2 ГБ в Sandisk Ultra MicroSD 64 ГБ ( https://www.amazon.com/gp/product/B073JYVKNX ).Повторные тесты несколько раз, но результаты были стабильными: 17MB / s для
/dev/disk
против 20MB / s для/dev/rdisk
. Переключениеbs=1m
наbs=16m
дает абсолютно никакой разницы в скорости записи.Запись в
/dev/disk2
Запись в
/dev/rdisk2
Тогда я решил проверить скорость чтения: 26MB / s для
/dev/disk
против 87MB / s для/dev/rdisk
. Переключениеbs=1m
наbs=16m
дает абсолютно никакой разницы в скорости чтения.Чтение из
/dev/disk2
Чтение из
/dev/rdisk2
источник
Я знаю, что это старая тема, но другие люди могут быть заинтересованы в том, что я попробовал. Я хочу сделать резервную копию моего внутреннего SSD в Macina Pro 13 "Retina (с твердотельным накопителем Silicon Power 1 ТБ) на внешний жесткий диск USB 3.0 2.5", чтобы захватить разделы macOS и BOOTCAMP. Моя начальная командная строка была:
Результатом была скорость копирования ~ 31,3 МБ / с. Это было слишком долго, чтобы заставить меня ждать. Итак, со второй попытки командная строка была:
Использование
/dev/rdisk
вместо того, чтобы/dev/disk
значительно ускорить, до 98,4 МБ / с! Тем не менее, это становится еще лучше. Итак, для третьей попытки я использовал эту командную строку:Опция sparse указывает DD не беспокоить запись в выходные блоки, которые имеют все 0 на входе. Круто то, что это происходит намного быстрее, чем вы думаете, даже находясь в середине «полных» областей диска. На любом диске, который не заполнен, у вас будут огромные куски 0, что еще больше ускорит DD. Пока, по крайней мере, DD почти работает на теоретической скорости передачи моего жесткого диска: ~ 116,4 МБ / с, и он еще не достиг этих больших пустых областей.
Попробуйте эти варианты - они работают! Пожалуйста, обратите внимание: ВНИМАТЕЛЬНО измените
if=
иof=
правильно укажите правильные диски, перечисленные (для Mac):источник
conv=sparse
отлично, когда вы копируете файлы. Я бы обеспокоен тем , что это могло бы ввести коррупцию при копировании диска целиком, раздела или в файловой системе , если вы не знаете , с 100% уверенностью , что целевой диск не содержит ничего , кроме нулей.Для записи, по крайней мере в macOS High Sierra, / dev / disk оказывается намного быстрее, чем / dev / rdisk. Запустив dd или ddrescue, мое копирование для сравнения пропускной способности с магнитного HD на SSD было 3,7 МБ / с при использовании / dev / rdisk, и 45 МБ / с при использовании / dev / disk. Таким образом, в более поздних версиях macOS может быть лучше использовать / dev / disk вместо / dev / rdisk для лучшей производительности.
источник
Я думаю, прежде чем спорить, какой путь узла быстрее или погрузиться в последовательные тесты. Мы должны рассмотреть другой фактор, который существенно повлияет на конечную скорость чтения / записи.
как спецификация карты Micro SD, класс 4/10 / HC I ... sd чип и интерфейс устройства чтения карт памяти, USB 1.1 / 2.0 / 3.0 / 3.1 для общей памяти / свободной памяти, загрузка под ОС, тип жесткого диска, HDD / SSD, HDD скорость вращения и размер кэша, размер SSD / кэш / свободное пространство / интерфейс жесткого диска os, ata / sata / esata,
если какой-то фактор стал узким местом, то мы получим ложное заключение.
Вот мой результат: OSX 10.12.6, SSD,
чтение microSD 16G с карты памяти USB 2.0 чтение и запись на внешний 3,5-дюймовый жесткий диск USB 3.0
запись microSD 32G через внутреннюю карту для чтения, а источником данных является внешний 3,5-дюймовый жесткий диск USB 3.0,
Вы можете видеть, скорость записи> скорость чтения !!
источник