При монтаже, когда я должен использовать петлевое устройство?

18

По следующему вопросу:
что такое «петлевое устройство» при монтаже?
Устройство цикла - это файл, который действует как блочное устройство. Хотя я могу понять это концептуально, как это отличается от монтирования любого другого файла? Например, если я беру dd-образ файловой системы ext2 и затем монтирую его, мне не нужно использовать параметр цикла - mount -t ext2 file.dd /mnt/mount-pointуспешно.

Когда следует использовать опцию петли и какая разница между монтажом с использованием петли и монтированием без него?

Suchipi
источник

Ответы:

8

Если вам не нужно использовать параметр цикла для монтирования обычного файла, это потому, что mountон обнаруживает это и активирует его для вас автоматически. Раньше вам приходилось указывать это вручную.

psusi
источник
Я все еще делаю. Я никогда не замечал, что mount может делать это неявно.
Bananguin
@ user1129682 Интересно, есть ли у этой версии разные версии ядра или разные дистрибутивы?
Сучипи
22

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

Так много для прямого ответа. Может быть, это служит объяснением:

Ядро реализует несколько уровней абстракции, чтобы оно могло одинаково обрабатывать разные аппаратные средства. Представьте себе, если вам пришлось перестраивать драйвер ext2 для каждого существующего контроллера. Никто не хочет этого, но мы хотим относиться к каждому жесткому диску одинаково. Вот почему мы создаем слои абстракции.

Блочные устройства являются такой абстракцией. Блочные устройства имеют определенные атрибуты и предоставляют определенные функции, которые могут использоваться другим программным обеспечением. Неважно, есть ли у вас жесткий диск ATA, жесткий диск SCSI или накопитель на магнитной ленте, вы всегда используете одни и те же структуры и функции для взаимодействия с ним. В этом случае задача ядра и, более точно, уровня абстракции состоит в том, чтобы делать правильные вещи при обращении к блочному устройству. В случае интерфейса блочного устройства правильнее всего передавать вызовы и данные в и из правильного драйвера устройства. Этим драйвером устройства может быть, например, подсистема SCSI или драйвер для устройства петли.

Драйвер устройства циклического преобразования преобразует операции на связанном блочном устройстве в файловые (системные) операции, таким образом данные / разделы оказываются в файле.

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

Bananguin
источник