ВУЗ:
Составители:
127
ляется хранилищем данных пользователя, и каталогов или директорий,
которые необходимы для хранения информации о файлах системы.
Взаимодействие прикладной программы с файлом происходит сле-
дующим образом. От прикладной программы к логической подсистеме
поступает запрос на открытие или создание файла. Логическая подси-
стема, используя структуру директорий, проверяет права доступа и вы-
зывает базовую подсистему для получения доступа к блокам файла. По-
сле этого файл считается открытым, содержится в таблице открытых
файлов, прикладная программа получает в свое распоряжение дескрип-
тор (в системах Microsoft – handle) этого файла. Дескриптор файла яв-
ляется ссылкой на файл в таблице открытых файлов и используется в
запросах прикладной программы на чтение-запись из этого файла. За-
пись в таблице открытых файлов указывает через систему кэширования
блоков диска на блоки данного файла. Если к моменту открытия файл
уже используется другим процессом, то есть содержится в таблице от-
крытых файлов, то после проверки прав доступа к файлу может быть
организован совместный доступ. При этом новому процессу также воз-
вращается дескриптор файла.
Прежде чем рассмотреть структуру данных файловой системы на
диске следует рассмотреть алгоритмы выделения дискового простран-
ства и способы учета свободной и занятой дисковой памяти.
5.2.3 Типовая структура файловой системы на диске
Обзор способов работы с дисковым пространством дает общее
представление о совокупности служебных данных, необходимых для
описания файловой системы. Структуры данных типовой файловой си-
стемы, например Unix, на одном из разделов диска, может состоять из 4-
х основных частей (рис. 38).
Суперблок
Структуры данных,
описывающие
свободное дисковое
пространство и
свободные индексные
узлы
Массив индексных
узлов
Блоки диска данных
файлов
Рисунок 38 – Пример структуры файловой системы на диске
В начале раздела находится суперблок, содержащий общее описа-
ние файловой системы, например:
тип файловой системы;
размер файловой системы в блоках;
размер массива индексных узлов;
размер логического блока;
и т.д.
Страницы
- « первая
- ‹ предыдущая
- …
- 125
- 126
- 127
- 128
- 129
- …
- следующая ›
- последняя »
