Основы операционных систем. Практикум

       

Операции над файловыми системами. Монтирование файловых систем


В материалах семинаров 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 используются при вызове команды без параметров и служат для следующих целей:

  • -h – вывести краткую инструкцию по пользованию командой;
  • -V – вывести информацию о версии команды mount;


Команда mount без опций и без параметров выводит информацию обо всех уже смонтированных файловых системах.



Команда mount с параметрами служит для выполнения операции монтирования файловой системы.

Параметр device задает имя специального файла для устройства, содержащего файловую систему.

Параметр dir задает имя точки монтирования (имя некоторой уже существующей пустой директории). При монтировании могут использоваться следующие опции:

  • -r — смонтировать файловую систему только для чтения (read only);
  • -w — смонтировать файловую систему для чтения и для записи (read/write). Используется по умолчанию;
  • -t fstype — задать тип монтируемой файловой системы как fstype. Поддерживаемые типы файловых систем в операционной системе Linux: adfs, affs, autofs, coda, coherent, cramfs, devpts, efs, ext, ext2, ext3, hfs, hpfs, iso9660 (для CD), minix, msdos, ncpfs, nfs, ntfs, proc, qnx4, reiserfs, romfs, smbfs, sysv, udf, ufs, umsdos, vfat, xenix, xfs, xiafs. При отсутствии явно заданного типа команда для большинства типов файловых систем способна опознать его автоматически.


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


Для пользователя обычно доступна команда отмонтирования файловой системы на дискете в форме

umount <имя точки монтирования>

где <имя точки монтирования> – это <имя пустой директории>, использованное ранее в команде mount, или в форме

umount /dev/fd0

где /dev/fd0 – специальный файл устройства, соответствующего первому накопителю на гибких магнитных дисках.

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



Команда umount

Синтаксис команды

umount [-hV] umount device umount dir

Описание команды

Настоящее описание не является полным описанием команды umount, а описывает только те ее опции (очень малую часть), которые используются в данном курсе. Для получения полного описания следует обратиться к UNIX Manual (команда man).

Команда umount предназначена для выполнения операции логического разъединения ранее смонтированных файловых систем.

Опции -h, -V используются при вызове команды без параметров и служат для следующих целей:

  • -h – вывести краткую инструкцию по пользованию командой;
  • -V – вывести информацию о версии команды umount.


Команда umount с параметром служит для выполнения операции логического разъединения файловых систем. В качестве параметра может быть задано либо имя устройства, содержащего файловую систему – device, либо имя точки монтирования файловой системы (т.е. имя директории, которое указывалось в качестве параметра при вызове команды mount) – dir.

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

Содержание раздела