Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС / Тема_4.ppt
Скачиваний:
252
Добавлен:
11.04.2015
Размер:
5.04 Mб
Скачать
Перечень номеров кластеров, занимаемых файлом

Связный список индексов

Указатели на следующие кластеры хранятся в

отдельной таблице, загружаемой в ОП. Номер Этот перечень и есть адрес файла. первого кластера хранится в записи каталога.

3

5

6

Область

 

 

 

 

 

 

индексов

 

 

 

1

 

 

 

 

2

 

В)

3

 

4

 

 

5

 

Файл

6

1, 3, 5, 6

7

 

 

8

 

 

9

 

 

Все достоинства варианта А), быстрый доступ к произвольному кластеру файла, полное заполнение кластера, кратное степени двойки

Недостаток: рост адресной информации с увеличением емкости диска

1

 

2

 

3

Файл

4

2, 4, 5

5

 

6

Г)

7

8

 

9

 

Достоинства: высокая скорость доступа

к произвольному кластеру благодаря прямой адресации, отсутствие внешней фрагментации.

Недостаток: длина адреса зависит от размера файла и может быть значительной.

Операционные системы

213

Связный список индексов - FAT

Примером такой таблицы индексов является FAT- таблица (File Allocation Table), используемая в файловых системах MS DOS и Windows (FAT 16 и FAT 32).

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

Индексы располагаются в FAT-таблице в отдельной области диска. Когда память свободна, все индексы равны нулю. Если некоторый кластер N назначен файлу, то индекс этого кластера либо становится равным номеру М следующего кластера файла, либо принимает специальное значение, являющееся признаком того, что кластер является последним для файла.

Операционные системы

214

Связный список индексов - FAT

Вообще индексы могут содержать следующую информацию о кластере диска (для FAT 32):

не используется (Unused) - 0000.0000;

используется файлом (Cluster in us by a file) - значение, отличное от 000.000, FFFF.FFFF и FFFF.FFF7;

плохой кластер (Bad cluster) - FFFF.FFF7;

последний кластер файла (Last cluster in a file) - FFFF.FFFF.

Операционные системы

215

I- узел (index node)

Содержит атрибуты файла и адреса кластеров файла

Атрибуты файла

Адрес кластера 1

Адрес кластера 2

Адрес кластера 3

Адрес кластера указателей

Достоинства: каждый конкретный I-узел находится в памяти только при открытии файла, что сокращает объем адресной информации; объем адресной информации не зависит от емкости диска, а лишь от числа открытых файлов; высокая скорость доступа к произвольному кластеру файла благодаря прямой адресации.

Недостатки: фиксированного количества адресов может оказаться недостаточным для адресации файла, отсюда необходимость сочетания прямой и косвенной адресации (пример – ufs).

Кластер,

содержащий

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

Операционные системы

216

Файловая система ОС UNIX ufs

 

 

 

 

А д р е с н а я и н ф о р м а ц и я ф а й л а

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

2

3

 

4

5

6

7

8

9

10

11

12

13

14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Непосредственная адресация

 

 

 

 

 

 

 

2048

 

 

2048

 

 

 

записей

 

 

записей

 

2048

 

 

 

 

 

 

записей

 

 

 

 

 

 

 

2048

2048

2048

2048

2048

 

записей

записей

записей

 

записей

записей

 

 

 

 

 

Простая косвенная адресация

 

 

 

 

 

 

Максимальный размер

 

 

 

2048

2048

2048

файла 7,0403*10 13 байт

 

 

 

записей

записей

записей

Объем адресной

Двойная косвенная

 

 

 

 

адресация

 

 

 

 

 

информации – 0,05 % от

 

 

 

 

 

 

 

 

 

 

 

адресуемых данных

Размер кластера 8 Кбайт

 

 

 

 

 

 

 

 

Тройная косвенная адресация

 

Операционные системы

 

217

Файловая система ОС UNIX ufs

Для хранения адреса файла выделено 15 полей, каждое из которых состоит из 4 байт.

Если размер файлов меньше или равен 12 кластерам, то номера этих кластеров непосредственно перечисляются в первых двенадцати полях адреса.

Если кластер имеет размер 8 Кбайт, то можно адресовать файл размером до 8 Кбайт * 12 = 98304 байт.

Если размер кластера превышает 12 кластеров, то следующее, 13-е поле содержит адрес кластера, в котором могут быть расположены номера следующих кластеров и размер файла может возрасти до

8192 * (12 + 2048) = 16.875.520 байт. Следующий уровень адресации, обеспечиваемый 14-

м полем, позволяет адресовать до 8192 * (12 + 2048 + 20482) - 3,43766*1020 байт.

Тройная косвенная адресация

Операционные системы

218

Файловая система ОС UNIX ufs

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

8192 * (12 + 2048 + 20482 +20483) = 7,0403*1013 байт. Метод перечисления адресов кластеров файла

задействован и в файловой системе NTFS, используемой в Windows NT/2000/2003.

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

Каждая такая область называется экстентом (extent) и описывается двумя числами: номером начального кластера и количеством кластеров.

Тройная косвенная адресация

Операционные системы

219

Физическая организация FAT

Для обеспечения доступа приложений к файлам операционная система с файловой системой FAT использует следующие структуры:

загрузочные сектора главного и дополнительных разделов;

загрузочные сектора логических дисков (разделов);

корневой каталог;

область данных;

цилиндр для выполнения диагностических операций чтения-записи.

На дискетах, в отличие от жесткого диска, нет загрузочных секторов главного и дополнительных разделов и диагностического цилиндра.

Эти структуры создаются программой Fdisk, которая не применяется для дискет, так как они на разделы не разбиваются.

Операционные системы

220

Физическая организация FAT

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

Операционные системы

221

Физическая организация FAT

Загрузочный сектор главного раздела (называемый главной загрузочной записью - Master Boot Record - MBR) является первым сектором на жестком диске (цилиндр 0, головка 0, сектор 1) и состоит из двух элементов:

таблица главного раздела, содержащая список разделов (максимум четыре) и расположение загрузочных секторов соответствующих логических дисков (первая и последняя головки, первый и последний цилиндры с соответствующими значениями секторов, а также количество секторов);

главный загрузочный код - небольшая программа, которая выполняется системой BIOS. Основная функция этого кода - передача управления в раздел, который обозначен как активный (загрузочный).

Операционные системы

222

Соседние файлы в папке ОС