Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОСИ.docx
Скачиваний:
14
Добавлен:
29.10.2018
Размер:
434.23 Кб
Скачать

20. Способы выделения дискового пространства. Управление дисковым пространством. Размер логического блока

Способы выделения дискового пространства

  • Выделение непрерывной последовательностью блоков

Простейший способ, дает хорошую производительность, но в нем затруднен поиск места для нового файла. Распределение памяти не применимо, пока не известен максимальный размер файла. Присутствует внешняя фрагментация. Файл представлен непрерывной последовательностью блоков диска и характеризуется адресом и длинной (в блоках).

  • Выделение связным списком

Не используется в чистом виде. Отсутствует внешняя фрагментация. Файл представлен связным списком блоков диска. Запись в директории содержит указатель на первый и последний блоки файла.

Недостатки: при прямом доступе к файлу, для поиска i-го блока надо совершить от 1 до i-1 обращений. Ненадежность.

  • Распределение связным списком с использованием индекса

В отличии от распределения связным списком, в данном способе, блоки не содержат указатели, все указатели собраны в таблице размещения файлов. Строки таблицы, которые соответствуют концам файлов, ставится EOF. Достоинство метода в том, что по таблице можно легко судить о физическом соседстве блоков, расположенных на диске, и при выделении нового блока можно легко найти свободный блок.

Недостаток: вероятность хранения в памяти довольно большой таблицы.

  • Индексные узлы

С каждым файлом связывается маленькая таблица, называемая индексным узлом (перечисляет атрибуты и дисковые адреса блоков файла). Каждый файл имеет свой собственный индексный блок, в котором содержатся адреса блоков данных. Поддерживается прямой доступ к файлу, без ущерба от внешней фрагментации.

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

Управление дисковым пространством

Способы учета используемого места на диске:

  • Учет при помощи организации битового вектора

Каждый блок представлен одним битом, принимающем 0 или 1, в зависимости от того, занят он или свободен. (001111001111000…).

  • Учет при помощи организации связного списка

Все свободные блоки связываются в связный список, указатель на первый свободный блок содержится в специальном месте диска. Попутно происходит кэширование этой информации в памяти.

Размер логического блока

Является ключевым фактором эффективности работы ФС. Чем меньше размер блока, тем больше время чтения файла (тк файл начинает содержать большее число блоков). Чем больше размер блока, тем быстрее скорость обмена с дисками и тем выше внутренняя фрагментация. Обычный компромисс – выбор блока 512байт, 1 Кб, 2 Кб.