Как запустить perf в подсистеме Windows для Linux на Windows 10 / Ubuntu 16.04

По умолчанию dd будет считывать данные по одному блоку за раз, возможно, считывая более короткий блок, чем указанный пользователем, либо в конце файла, либо из-за поведения исходного устройства; это называется частичной записью. Затем он выпишет блок, размер которого совпадает с объемом, который он читает.

Dd будет повторять это до тех пор, пока не будет достигнут указанный счет, или он не увидит eof на входе или ошибку на входе или выходе. Когда он заканчивается, dd сообщает количество полных и частичных записей, которые он читал и писал.

Это поведение подходит для копирования обычного файла в файловой системе или по сетевому соединению TCP, поскольку это считается потоком байт. Но для других объектов файловой системы, таких как необработанные DVD-диски и магнитная лента, требуются размеры записи, которые находятся в определенных диапазонах и являются круглыми кратными некоторой суммы (например, 512 или 2048 байтов). Например, если у вас есть образ диска, состоящий из 255 треков из 63 512-байтовых секторов, и вы хотите записать на ленту с размером блока 1024 байта, вам нужно будет сделать что-то вроде

dd if=disk.img of=/dev/rmt0 bs=1k conv=sync

, чтобы убедиться, что dd не пытается записать 512-байтовый блок в конце. Более короткий блок в конце будет дополнен нулями или пробелами. Заполнение с нулями - безопасный, общий выбор. Опция dd для заполнения пробелами полезна в другой ситуации - преобразование файла с линиями переменной длины в один с линиями фиксированной длины.

1
задан 14 May 2017 в 21:04

2 ответа

WSL - это минимальная прокладка, которая переводит вызовы ядра Linux в вызовы времени выполнения Windows. Вы не можете ожидать полной реализации.

Например, это только 64-битные и не будут выполнять 32-битные двоичные файлы, независимо от того, какие библиотеки совместимости вы устанавливаете.

0
ответ дан 18 July 2018 в 13:17

WSL - это минимальная прокладка, которая переводит вызовы ядра Linux в вызовы времени выполнения Windows. Вы не можете ожидать полной реализации.

Например, это только 64-битные и не будут выполнять 32-битные двоичные файлы, независимо от того, какие библиотеки совместимости вы устанавливаете.

0
ответ дан 24 July 2018 в 20:09

Другие вопросы по тегам:

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