6. Файловая система ОС семейства UNIX
Файл в операционной системе UNIX представляет собой множество символов с произвольным доступом. В файле могут содержаться любые данные, и файл не имеет никакой иной структуры, кроме той какую создаст в нем пользователь. В семействе UNIX трактуют понятие файла более широко — там файлом называется любой объект, имеющий имя в файловой системе. Однако файлы, не являющиеся совокупностями данных (каталоги, внешние устройства, псевдоустройства, именованные программные каналы, семафоры Xenix), часто называют не простыми файлами, а "специальными".
Информация на диске размещается блоками. Минимальный размер блока 512 байт. В современных файловых системах, разработанных для конкретной версии UNIX размер блока несколько больше. Это позволяет повысить быстродействие файловых операций. Раздел на диске разделяется на следующие области (рис.4): загрузочный блок; управляющий блок (суперблок) в котором хранится размер логического диска и границы других областей; i-список, состоящий из описаний файлов; область для хранения содержимого файлов.
Загрузочный блок |
Суперблок |
i-узел 1 |
i-узел 2 |
i-узел 3 |
. |
i-узел n |
Блок с данными файла |
Блок с данными файла |
Блок с данными файла |
Свободный блок |
Файл |
Свободный блок |
Рис. 4 Организация файловой системы в UNIX
Каждый i-узел содержит: идентификатор владельца, идентификатор группы владельца, биты защиты, физические адреса на диске, время создания файла, время его последнего изменения, время последнего изменения атрибутов файла, число связей-ссылок указывающих на файл, идентификатор типа файла – каталог, обычный или специальный файл. За i-списком расположены блоки для хранения содержимого файлов. Пространство, не заполненное файлами, образует связанный список свободных блоков.
Таким образом, файловая система UNIX содержит управляющий суперблок с описанием файловой системы в целом, массив
i-узлов, в котором определены все файлы, сами файлы и совокупность свободных блоков.
Каталоги также как и в других системах имеют древовидную структуру. Файл, не являющийся каталогом, может встречаться в различных каталогах, под разными именами. Это называется связыванием. В UNIX-системах файлы не принадлежат каталогам, а существуют как бы независимо от каталогов. Связи в каталогах указывают на реальные физические файлы. Файл “исчезает”, когда удаляется последняя связь, указывающая на него. От файловой системы не требуется, чтобы она полностью размещалась на диске содержащий корневой каталог. Имеется возможность подключения файловой подсистемы к системе таким образом, что её содержимое заменяет собой содержимое заданного каталога. Поэтому для монтирования существующего тома необходимо использовать пустой каталог. Размонтирование – обратная операция, отсоединяющая файловую систему, после чего диск можно физически извлечь из системы. Монтирование файловых систем позволяет получить единое логическое файловое пространство, в то время как реальные файлы могут находиться в разных разделах или на разных жестких дисках. Также важно, что сами файловые системы для монтируемых разделов могут быть различными.
При повреждении файловой системы могут возникнуть следующие нарушения в ее структуре:
1- некоторый блок может оказаться вне системы, то есть не являться частью файла и не быть в списке свободных блоков;
2- могут появиться дубли i-узлов – записи, описывающие один и тот же файл дважды;
3- какой-либо блок может быть частью файла и быть в списке свободных блоков;
4- некоторый файл может существовать, не будучи включенным ни в один каталог.
Но файловая система имеет некоторую избыточность, позволяющую исправить эти ошибки:
1- блок данных, являющийся каталогом, содержит имена файлов и номера i-узлов. То есть существует i-узел, соответствующий этому каталогу, и этот i-узел должен быть каталогом, а не обычным файлом;
2- блок, включенный в список свободных блоков, не может быть частью файла. Для проверки этого достаточно сравнить список занятых и свободных блоков.
3- блок, принадлежащий файлу должен принадлежать только одному файлу.
При проверке файловой системы производятся: проверка целостности i-узлов; проверка каталогов указывающих на i-узлы, содержащие ошибки; проверка каталогов на которые нет ссылок; проверка счетчиков связи в каталогах и файлах; проверка неверных и дублированных блоков в списках – свободных и неиспользуемых блоков, которые не включены в список свободных блоков; проверка общего числа свободных блоков.
Список литературы
1. Гордеев А.В., “Операционные системы”, СПб: Питер, 2006 г.
2. Попов И.И., “Операционные системы, среды и оболочки”, Москва: Инфра-М, 2003 г.
3. Бойс Д., “От установки до оптимизации работы Windows XP”, Москва: НТ Пресс, 2007 г.
4. Столлингс В., “Операционные системы”, Москва: Вильямс, 2002 г.
... символов Любые символы Юникода, кроме NUL 32767 символов Юникода; каждая компонента пути (каталог или имя файла) – до 255 символов 16 EiB 16 EiB 12 8.3. Особенности файловых систем Файловая система Жесткие ссылки Мягкие ссылки Журнали-рование блоков Журнали-рование только метаданных Чувстви-тельно к регистру Case-preser-ving Логизм файлов ...
... информационная система должна будет выбрать все записи о сотрудниках отдела и посчитать соответствующие общие значения. Таким образом мы видим, что даже для такой простой системы ее реализация на базе файловой системы, во-первых, требует создания достаточно сложной надстройки для многоключевого доступа к файлам, и, во-вторых, вызывает требование существенной избыточности хранения (для каждого ...
... и установлены 80 G ATA/IDE дисководы . Постановка задачи Целью данного проекта является, разработка методики для проведения установки эффективной системы защиты и восстановления данных, а также обучение сотрудников фирмы методам администрирования различных PC в организации для осуществления технического обслуживания. Данная задача должна осуществляться специальными приспособлениями и стандартным ...
... и, по большому счету, пользователям совершенно все равно, на каком именно диске или разделе диска расположены его файлы /usr/spool/moshkow или /home1/moshkow/bin/mcopy... Файловая система Unix кэшируется буферным кэшем. Операция записи на диск выполняется не тогда, когда это приказывает выполняемый процесс, а когда операционная система сочтет нужным это сделать. Это резко поднимает эффективность ...
0 комментариев