ЛАБОРАТОРНАЯ РАБОТА № 7 (время выполнения -- 2 часа)
Тема: ”Файловые системы”
Файлы в UNIX играют ключевую роль, что не всегда справедливо для ОС. Именно файлы в UNIX определяют привилегии пользователей, т.к. права пользователя контролируются в большинстве случаев путем прав доступа к файлам. Файлы обеспечивают доступ к периферийным устройствам компьютера, включая диски, накопители на МЛ, принтеры, терминалы, сетевые адаптеры и даже память. Для приложения UNIX доступ к файлу устройства неотличим от доступа к обычному файлу.
В UNIX файлы организованы в виде древовидной структуры, называемой файловой системой. В UNIX все файловые системы имеют два основных компонента -- файл и каталог.
Корнем дерева файловой системы является корневой каталог (/).
В большинстве случаев файловое дерево (в том виде, как видит его пользователь), составлено из нескольких отдельных файловых систем, которые могут иметь различную файловую структуру, а файлы, принадлежащие этим файловым системам, могут располагаться на различных устройствах. Объединение нескольких файловых систем в единое целое -- монтирование.
Имя файла в UNIX является атрибутом файловой системы, но не набора данных на диске. Каждый файл имеет связанные с ним метаданные (хранящиеся в индексных дескрипторах -- inode), содержащие все характеристики файла.
1. Типы файлов
В UNIX существует 6 типов файлов, различающихся по функциональному назначению и действиям ОС при выполнении тех или иных действий над файлами.
-
обычный файл -- (regular file)
-
каталог (directory)
-
специальный файл устройства (special device file)
-
именованный каталог (named pipe)
-
связь (link)
-
сокет (socket)
2. Типы файловых систем
ОС Solaris 10 использует 4 типа файловых систем: UFS, HSFS, PCFS, UDFS, и сетевую файловую систему NFS, причем UFS используется в UNIX по умолчанию.
При создании системы UFS часть диска (slice) диска делится на несколько цилиндров (указанием номеров цилиндров). Затем данная часть делится на блоки для контроля и организации структуры файлов внутри данной группы цилиндров.
3. Структура ufs
Элемент |
Описание |
Disk label (VTOC) |
Содержит таблицу разделов жесткого диска, располагается в первом секторе диска. |
Boot block (bootblk) |
Содержит программу загрузки, располагается в 15 первых секторах диска. |
Primary Superblock |
Содержит описание файловой системы, располагается в одном секторе и содержит: Число блоков данных Число групп цилиндров Размер блока данных и размер фрагмента данных Название точки монтирования Флаги состояния файловой системы |
Backup Superblock |
Резервная копия суперблока |
Cylimder Group Block |
Блок данных, описывающий состояние группы цилиндров и содержащий информацию: Число inode Число блоков данных в группе Число каталогов в группе Число свободных блоков, inode, фрагментов Карту свободных блоков Карту свободных inode |
Inode Table |
Список inode для группы цилиндров |
Data Block |
Блоки данных. Размер блока по умолчанию 8192 байта |
Структура inode
-
Тип файла
-
Права доступа
-
UID владельца файла
-
GID группы владельца файла
-
Размер файла
-
Дата создания файла
-
Число жестких ссылок на файл
-
Число занятых блоков на файл
-
12 прямых указателей на блоки данных
-
1 косвенный указатель первого рода на блок данных (содержит 2048 прямых указателей)
-
1 косвенный указатель второго рода на блок данных (содержит 2048 косвенных указателей первого рода)
-
1 косвенный указатель третьего рода на блок данных (содержит 2048 косвенных указателей второго рода)
-
указатель на shadow inode, который содержит ACL для файла
4. Создание файловой системы ufs
mkfs -- трудна для использования, много параметров нужно задавать вручную
newfs -- определяет параметры диска на основе метки диска и задаваемых опций, формирует параметры для mkfs
5. Форматирование диска
Форматирование файловой системы выполняется при инсталляции ОС. Форматирование файловой системы уменьшает размер реально доступного пространства на 5-10% (за счет записи информации о форматировании и информации о дефектах).
Необходимость в создании (или пересоздании) файловой системы может возникнуть при
-
добавлении или замене диска
-
изменении части существующего диска
-
полном восстановлении ФС
-
изменении параметров ФС (размера блока, размера свободного пространства)
Для форматирования используется утилита format (предлагает диалог)