Что именно происходит, когда вы «монтируете» диск?

1099
agz

Какие основные вещи происходят, когда вы монтируете диск. Даже если диск не смонтирован, он виден компьютеру (например, sudo fdisk -l / diskutil -list). Когда монтируется диск, происходит ли то, что ОС указывает путь к устройству или происходит какая-то "магия" файловой системы?

2

3 ответа на вопрос

0
davidgo

Существует некоторая «волшебная» файловая система.

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

Когда диск монтируется, программа монтирования совместно с ядром и, возможно, / etc / fstab выясняет, какая файловая система находится на разделе, а затем реализует (посредством вызовов ядра) стандартные вызовы файловой системы, чтобы разрешить манипулирование файловой системой. включая чтение, письмо, листинг, разрешения и т. д.

На самом деле вы можете легко добавить дополнительные слои к этому, и все это работает одинаково. (Одним из распространенных является LVM, который расположен между разделом и файловыми системами и позволяет изменять размеры, добавлять и удалять диски даже в работающей файловой системе). Я упоминаю об этом, потому что это показывает, что есть нечто большее, чем просто указание пути к устройству.

Аналогично, разные ядра будут поддерживать разные файловые системы (например, некоторые могут включать ReiserFS, btrfs и т. Д.). Также возможно реализовать файловую систему (которая все еще может быть смонтирована и размонтирована), используя файлы в «пространстве пользователя» (fuse). Это, например, позволит монтировать виртуальные файловые системы, которые не являются частью ядра, или даже виртуальные файловые системы - у меня есть, например, смонтированные каталоги FTP и даже удаленные пути по ssh как файловые системы (и, конечно, NFS и SAMBA), а также зашифрованные файлы и объединение нескольких каталогов для единой файловой системы - все это «виды магии», осуществляемые через ядро, обычно с помощью команды mount.

0
sourcejedi

Когда файловая система монтируется с блочного устройства, будет сделано несколько приготовлений, включая

  • Чтение информации о файловой системе, такой как тип файловой системы, версия, параметры, объем свободного места ...
  • Проверка, была ли файловая система выключена (размонтирована) должным образом в прошлый раз
  • Проверка, является ли блокирующее устройство доступным только для чтения (переключатель дискеты / SD-карты, CDROM / DVD).
  • Воспроизведение операций, записанных в «журнале» файловой системы, если она есть.
0
Jalal Hajigholamali

когда вы монтируете файловую систему Linux, такую ​​как ext2, ext3, ext4, .. копия суперблока файловой системы будет находиться в памяти для дальнейших действий

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