Операции над файловыми системами. Монтирование файловых систем
В материалах семинаров 11–12 рассматривалась только одна файловая система, расположенная в одном разделе физического носителя. Как только мы переходим к сосуществованию нескольких файловых систем в рамках одной операционной системы, встает вопрос о логическом объединении структур этих файловых систем. При работе операционной системы нам изначально доступна лишь одна, так называемая корневая, файловая система. Прежде, чем приступить к работе с файлом, лежащим в некоторой другой файловой системе, мы должны встроить ее в уже существующий ациклический граф файлов. Эта операция – операция над файловой системой – называется монтированием файловой системы (mount).
Для монтирования файловой системы (см. лекцию 12, раздел "Монтирование файловых систем") в существующем графе должна быть найдена или создана некоторая пустая директория – точка монтирования, к которой и присоединится корень монтируемой файловой системы. При операции монтирования в ядре заводятся структуры данных, описывающие файловую систему, а в vnode для точки монтирования файловой системы помещается специальная информация.
Монтирование файловых систем обычно является прерогативой системного администратора и осуществляется командой операционной системы mount в ручном режиме, либо автоматически при старте операционной системы. Использование этой команды без параметров не требует специальных полномочий и позволяет пользователю получить информацию обо всех смонтированных файловых системах и соответствующих им физических устройствах. Для пользователя также обычно разрешается монтирование файловых систем, расположенных на гибких магнитных дисках. Для первого накопителя на гибких магнитных дисках такая команда в Linux будет выглядеть следующим образом:
mount /dev/fd0 <имя пустой директории>
где <имя пустой директории> описывает точку монтирования, а /dev/fd0 – специальный файл устройства, соответствующего этому накопителю (о специальных файлах устройств будет подробно рассказано в следующем разделе).
Команда mount Синтаксис команды mount [-hV] mount [-rw] [-t fstype] device dir Описание команды Настоящее описание не является полным описанием команды mount, а описывает только те ее опции (очень малую часть), которые используются в данном курсе. Для получения полного описания следует обратиться к UNIX Manual. Команда mount предназначена для выполнения операции монтирования файловой системы и получения информации об уже смонтированных файловых системах. Опции -h, -V используются при вызове команды без параметров и служат для следующих целей:
Команда mount без опций и без параметров выводит информацию обо всех уже смонтированных файловых системах. Команда mount с параметрами служит для выполнения операции монтирования файловой системы. Параметр device задает имя специального файла для устройства, содержащего файловую систему. Параметр dir задает имя точки монтирования (имя некоторой уже существующей пустой директории). При монтировании могут использоваться следующие опции:
|
Для пользователя обычно доступна команда отмонтирования файловой системы на дискете в форме
umount <имя точки монтирования>
где <имя точки монтирования> – это <имя пустой директории>, использованное ранее в команде mount, или в форме
umount /dev/fd0
где /dev/fd0 – специальный файл устройства, соответствующего первому накопителю на гибких магнитных дисках.
Заметим, что для последующей корректной работы операционной системы при удалении физического носителя информации обязательно необходимо предварительное логическое разъединение файловых систем, если они перед этим были объединены.
Команда umount Синтаксис команды umount [-hV] umount device umount dir Описание команды Настоящее описание не является полным описанием команды umount, а описывает только те ее опции (очень малую часть), которые используются в данном курсе. Для получения полного описания следует обратиться к UNIX Manual (команда man). Команда umount предназначена для выполнения операции логического разъединения ранее смонтированных файловых систем. Опции -h, -V используются при вызове команды без параметров и служат для следующих целей:
Команда umount с параметром служит для выполнения операции логического разъединения файловых систем. В качестве параметра может быть задано либо имя устройства, содержащего файловую систему – device, либо имя точки монтирования файловой системы (т.е. имя директории, которое указывалось в качестве параметра при вызове команды mount) – dir. Заметим, что файловая система не может быть отмонтирована до тех пор, пока она находится в использовании (busy) – например, когда в ней существуют открытые файлы, какой-либо процесс имеет в качестве рабочей директории директорию в этой файловой системе и т.д. |