cat / dev / zero | pv> / dev / null [закрыто]

cat / dev / zero | pv> / dev / null

Что именно здесь происходит и от чего зависит скорость этого процесса.

Даже на слабом оборудовании скорость передачи данных составляет пару ГБ / с.

-2
задан 24 January 2017 в 15:53
1 ответ

cat / dev / zero дает вам поток нулевых символов. Когда вы открываете его и читаете, вы используете ядро. Ядро реализует / dev / zero в drivers / char / mem.c .

Что касается cat или pv , касаться этого особо нечего. Выбор использования / dev / zero ничем не отличается от чтения / etc / passwd . Единственное отличие состоит в том, что вы читаете виртуальный файл, а не настоящий файл. Таким образом, ядро ​​выполняет другую работу - т.е. ему не нужно ничего делать с файловой системой и т. Д.

Запись в / dev / null в значительной степени аналогична. pv не заботится о цели (в данном случае это ваша оболочка из-за перенаправления), и снова единственная разница состоит в том, что запись отбрасывается, потому что это то, для чего драйвер ядра / dev / null , опять же в drivers / char / mem.c .

Скорость этого процесса будет зависеть от нагрузки ввода-вывода системы и процессора, так как больше всего на свете.

2
ответ дан 5 December 2019 в 21:15

Теги

Похожие вопросы