
- •Лабораторная работа №1 «Моделирование файловых систем»
- •1.1Теоретические сведения Файлы и каталоги
- •Общая модель файловой системы
- •Физическая организация файла на устройстве внешней памяти
- •Права доступа к файлу и каталогу
- •Файловая система fat
- •Файловая система ntfs
- •Файловая система ext2
- •Журналируемые файловые системы
- •1.2Задание на лабораторную работу
- •Варианты заданий
Права доступа к файлу и каталогу
Определить права доступа к файлу или каталогу – значит определить для каждого пользователя набор операций, которые он может применить к данному файлу. В разных файловых системах может быть определен свой список операций доступа. Этот список может включать следующие операции: создание файла, уничтожение файла, открытие файла, закрытие файла, чтение файла, запись в файл, установление новых значений атрибутов и т.д.
В самом общем случае права доступа могут быть описаны матрицей прав доступа, в которой столбцы соответствуют всем файлам системы, строки - всем пользователям, а на пересечении строк и столбцов указываются разрешенные операции. В некоторых системах пользователи могут быть разделены на отдельные категории. Для всех пользователей одной категории определяются единые права доступа. Например, в системе UNIX все пользователи подразделяются на три категории: владельца файла, членов его группы и всех остальных.
Различают два основных подхода к определению прав доступа:
избирательный доступ, когда для каждого файла и каждого пользователя сам владелец может определить допустимые операции;
мандатный подход, когда система наделяет пользователя определенными правами по отношению к каждому разделяемому файлу в зависимости от того, к какой группе пользователь отнесен.
Файловая система fat
FAT применяется для дисков малой емкости. К основным недостаткам FAT могут быть отнесены следующие:
ограничения, налагаемые на размер файлов и дискового пространства;
ограничение длины имени файла;
фрагментация файлов, приводящая к снижению быстродействия системы и износу оборудования;
непроизводительные затраты памяти, вызванные большими размерами кластеров;
подверженность потерям данных.
После форматирования диска в FAT на него наносится следующая служебная информация:
ЗАПИСЬ СТАРТА СИСТЕМЫ (начиная с первого сектора нулевого цилиндра, состоит из таблицы, содержащей информацию о диске; машинного кода, загружающего файлы IO.SYS и MSDOS.SYS
ТАБЛИЦА РАЗМЕЩЕНИЯ ФАЙЛОВ И КОРНЕВОЙ КАТАЛОГ.
Корневой каталог - это таблица-описание содержимого диска. Каждому файлу в таблице соответствует одна запись. Запись занимает 32 байта, разбитых на 8 полей (см. табл. 3.1).
Таблица 3.1. Структура дискриптора
Название поля |
Короткий адрес |
Имя файла |
0-7 |
Расширение |
8-10 |
Атрибуты |
11 |
Для нужд системы |
12-21 |
Метка времени |
22-23 |
Метка даты |
24-25 |
Начальный кластер |
26-27 |
Размер файла |
28-31 |
Корневой каталог занимает непрерывную область фиксированного размера. Размер корневого каталога задается при форматировании и определяет максимальное количество файлов и каталогов, которые могут быть описаны в корневом каталоге.
Таблица размещения файлов FAT представляет собой карту с адресами файлов на диске. Каждому файлу в таблице соответствует группа записей, описывающих его физическое расположение на диске. При форматировании диск разбивается на сектора, сектора объединяются в кластеры. Кластерам присваиваются номера в соответствии с их физическим расположением на диске. Первый кластер расположен непосредственно за корневым каталогом, второй - непосредственно за первым кластером и т.д. Для каждого кластера FAT имеет свою индивидуальную ячейку, в которой хранится информация об использовании данного кластера.
При размещении нового файла или каталога (каталог – это файл специального вида, содержащий записи аналогичные корневому каталогу) ему отводятся последовательно или непоследовательно размещенные кластеры и производится модифицирование FAT. При этом в дескрипторе данного файла или каталога указывается номер первого занятого кластера, а в соответствующей ячейке FAT номер следующего кластера и т.д.
Эти ячейки могут содержать приведенные в таблице значения (см. табл. 3.2).
Таблица 3.2. Значения в ячейках FAT
-
0000H
Свободный кластер
FFF0H - FFF6H
Зарезервированный кластер
FFF7H
Плохой кластер
FFF8H - FFFFH
Последний кластер в списке (признак конца файла)
0002H - FFEFH
Номер следующего кластера в списке
При этом для чтения файла с логического диска необходимо произвести следующие действия:
чтение дескриптора файла и определение номера первого кластера;
чтение кластера;
использование номера прочитанного кластера в качестве индекса в FAT для извлечения номера следующего кластера;
чтение кластера;
повторение действий, начиная с п.3 до тех пор, пока извлеченное из FAT значение не будет соответствовать концу файла.
В зависимости от размера ячейки в FAT различают FAT12, FAT16 и FAT32, что определяет максимальный размер логического диска отформатированного в данной файловой системе. При использовании FAT16 максимальный размер составляет около 2ГБ. При использовании FAT32 можно контролировать более 4 млрд. кластеров, что при использовании кластеров размер в 32 Кб, позволяет использовать диски размером около 4 млн. Гбайт