Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_ОС.doc
Скачиваний:
103
Добавлен:
19.03.2015
Размер:
2.18 Mб
Скачать

11.2.5 Операции с каталогами

Основные системные вызовы для работы с каталогами:

  • Create - создать каталог

  • Delete - удалить каталог

  • OpenDir - закрыть каталог

  • CloseDir - закрыть каталог

  • ReadDir - прочитать следующий элемент открытого каталога

  • Rename - переименование каталога

  • Link - создание жесткой ссылки, позволяет файлу присутствовать сразу в нескольких каталогах.

  • Unlink - удаление ссылки из каталога

 

 

 

 

  Лекция 12

Реализация файловой системы

12.1 Структура файловой системы

 

Возможная структура файловой системы

 

Все что до "Загрузочного блока" и включая его одинаково у всех ОС. Дальше начинаются различия.

Суперблок - содержит ключевые параметры файловой системы.

 

12.2 Реализация файлов

Основная проблема - сколько, и какие блоки диска принадлежат тому или иному файлу.

 

12.2.1 Непрерывные файлы

Выделяется каждому файлу последовательность соседних блоков.

 

5 непрерывных файлов на диске и состояние после удаления двух файлов

 

Преимущества такой системы:

  • Простота - нужно знать всего два числа, это номер первого блока и число блоков.

  • Высокая производительность - требуется только одна операция поиска, и файл может быть прочитан за одну операцию

Недостатки:

  • Диск сильно фрагментируется

Сейчас такая запись почти не используется, только на CD-дисках и магнитных лентах.

 

12.2.2 Связные списки

Файлы хранятся в разных не последовательных блоках, и с помощью связных списков можно собрать последовательно файл.

 

Размещение файла в виде связного списка блоков диска

 

Номер следующего блока хранится в текущем блоке.

 

Преимущества:

  • Нет потерь дискового пространства на фрагментацию

  • Нужно хранить информацию только о первом блоке

Недостатки:

  • Уменьшение быстродействия - для того чтобы получить информацию о всех блоках надо перебрать все блоки.

  • Уменьшается размер блока из-за хранения служебной информации

 

12.2.3 Связные списки при помощи таблиц в памяти

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

FAT (File Allocation Table) - таблица размещения файлов загружаемая в память.

Рассмотри предыдущий пример, но в виде таблицы.

Таблица размещения файлов

 

Здесь тоже надо собирать блоки по указателям, но работает быстрее, т.к. таблица загружена в память.

Основной не достаток этого метода - всю таблицу надо хранить в памяти. Например, для 20Гбайт диска, с блоком 1Кбайт (20 млн. блоков), потребовалась бы таблица в 80 Мбайт (при записи в таблице в 4 байта).

 

Такие таблицы используются в MS-DOS и Windows.

 

12.2.4 I - узлы

С каждым файлом связывается структура данных, называемая i-узлом (index-node- индекс узел), содержащие атрибуты файла и адреса всех блоков файла.

 

 

Примеры i-узла

 

Преимущества:

  • Быстродействие - имея i-узел можно получить информацию о всех блоках файла, не надо собирать указатели.

  • Меньший объем, занимаемый в памяти. В память нужно загружать только те узлы, файлы которых используются.

Если каждому файлу выделять фиксированное количество адресов на диске, то со временем этого может не хватить, поэтому последняя запись в узле является указателем на дополнительный блок адресов и т.д..

 

Такие узлы используются в UNIX.