Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Системное программное обеспечение

.pdf
Скачиваний:
68
Добавлен:
01.05.2014
Размер:
444.39 Кб
Скачать

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

Системная область состоит из следующих компонентов, расположенных в логиче­ ском адресном пространстве подряд:

загрузочной записи (boot record; BR);

зарезервированных секторов (reserved sector, ResSecs);

таблицы размещения файлов (file allocation table, FAT);

корневого каталога (root directory, RDir).

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

Таблица размещения файлов является очень важной информационной структурой. Можно сказать, что она представляет собой карту (образ) области данных, в которой опи­ сывается состояние каждого участка области данных. Область данных разбивают на так называемые кластеры. Кластер представляет собой один или несколько смежных секторов в логическом дисковом адресном пространстве (точнее – только в области данных). В та­ блице FAT кластеры, принадлежащие одному файлу, связываются в цепочки. Для указа­ ния номера кластера в системе управления файлами FAT16 используется 16-битовое сло­

во, следовательно, можно иметь до 216 = 65536 кластеров (с номерами от 0 до 65536).

Кластер – это минимальная адресуемая единица дисковой памяти, выделяемая файлу (или некорневому каталогу). Файл или каталог занимает целое число кластеров. Последний кластер при этом может быть задействован не полностью, что приведет к за­ метной потере дискового пространства при большом размере кластера. На дисках кластер занимает один или два сектора, а на жестких дисках – в зависимости от объема раздела (табл. 9.1)

 

 

 

 

Таблица 9.1

 

Соотношения между размером раздела и размером кластеров в FAT16

 

Емкость раздела, Мбайт

Количество секторов в кла­

 

Размер кластеров, Кбайт

 

 

 

 

 

 

стере

 

 

 

 

16-127

4

 

2

 

 

128-255

8

 

4

 

 

256-511

16

 

8

 

 

512-1023

32

 

16

 

 

1024-2047

64

 

32

 

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

51

00

10

Однако слишком большой размер кластера ведет к неэффективному использованию области данных, особенно в случае большого количества маленьких файлов, так как в среднем на каждый файл теряется около половины кластера. Поэтому в современных файловых системах HPFS, NTFS, FAT32 размеры кластеров ограничиваются (обычно – от 512 байт до 4 Кбайт). В FAT32 проблема решается за счет того , что собственно сама FAT

в этой файловой системе может содержать до 228 кластеров.

Идея файловой системы с использованием таблицы размещения файлов FAT проиллюстрирована на рис. 9.3

На этом рисунке показано, что файл с именем MYFILE.TXT размещается, начиная с восьмого кластера. Всего файл MYFILE.TXT занимает 12 кластеров. Цепочка кластеров для этого примера может быть записана следующим образом: 8, 9, 0А, 0В, 15, 16, 17, 19, 1А, 1В, 1C, 1D. Кластер с номером 18 помечен специальным кодом F7 как плохой (bad), он не может быть использован для размещения данных. При формировании обычно про­ веряется поверхность магнитного диска, и те секторы, при контрольном чтении с которых происходили ошибки, помечаются в FAT как плохие. Кластер 1D помечен кодом FF как конечный (последний в цепочке кластер, принадлежащий данному файлу). Свободные (незанятые) кластеры помечаются кодом 00; при выделении нового кластера для записи файла берется первый свободный кластер.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

начальный номер кластера

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MYFILE.TXT

 

 

 

 

 

 

 

 

 

Time

 

 

 

 

Date

 

 

 

 

 

08

 

 

 

 

Size

 

 

 

 

00

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

01

 

 

02

 

03

 

04

 

05

 

06

 

 

07

 

08

 

 

09

 

 

 

0B

 

0C

 

 

0D

 

 

0E

 

 

0F

1D

 

FF

 

 

03

 

04

 

05

 

FF

 

00

 

 

00

 

09

 

 

 

0A

 

0B

 

 

15

 

00

 

 

00

 

 

00

 

 

 

00

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00

 

00

 

 

00

 

00

 

00

 

16

 

17

 

 

19

 

1D

 

 

1A

 

1B

 

 

1C

 

1D

 

 

 

FF

 

 

00

 

 

 

00

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 9.3 Основная концепция FAT.

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

Так как FAT используется при доступе к диску очень интенсивно, она обычно за­ гружается в ОЗУ (в буфера ввода/вывода или кэш) и остается там настолько долго, на­ сколько это возможно.

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

52

FAT одновременно. Используется же только первый экземпляр. Если он по каким-либо причинам окажется разрушенным, то произойдет обращение ко второму экземпляру.

Структура системы файлов FAT является иерархической, то есть элементом катало­ га может быть такой файл, который сам, в свою очередь, является каталогом.

9.7.2. Файловые системы VFAT и FAT32.

Одной из важнейших характеристик исходной FAT было использование имен файлов формата «8.3», в котором 8 символов отводится на указание имени файла и 3 сим­ вола – для расширения имени. К стандартной FAT (имеется ввиду прежде всего реализа­ ция FAT16) добавились еще две разновидности, используемые в широко распространен­ ных операционных системах Microsoft (конкретно – в Windows95 и WindowsNT): VFAT (виртуальная FAT) и FAT32, используемая в одной из редакций ОС Windows95 и Win­ dows98.

Ныне эта файловая система (FAT32) поддерживается и такими ОС, как Windows Millennium Edition, и всеми ОС семейства Windows 2000. Имеются реализации систем управления файлами FAT32 для WindowsNT и ОС Linux.

Файловая система VFAT впервые появилась в Windows for Workgroups 3.11 и была предназначена для выполнения файлового ввода/вывода в защищенном режиме. С выхо­ дом Windows95 в VFAT добавилась поддержка длинных имен файлов. Тем не менее, VFAT сохраняет совместимость с исходным вариантом FAT; это означает, что, наряду с длинными именами, в ней поддерживаются имена формата 8.3,а также существует специ­ альный механизм для преобразования имен «8.3» в длинные имена и наоборот. При рабо­ те с VFAT крайне важно использовать файловые утилиты, поддерживающие VFAT вооб­ ще и длинные имена в частности. Дело в том, что более ранние файловые утилиты DOS запросто модифицируют то, что кажется им исходной структурой FAT. Это может приве­ сти к потере или порче длинных имен из таблицы VFAT.

Основными недостатками файловых систем FAT и VFAT являются большие потери на кластеризацию при больших размерах логического доска и ограничения на сам размер логического диска. Это привело к разработке новой реализации файловой системы с ис­ пользованием той же идеи использования таблицы FAT. Таким образом в Windows95 OSR2 (OEM Servise Releasez) на смену системе VFAT пришла файловая система FAT32. FAT32 является полностью самостоятельной 32-разрядной файловой системой и содержит многочисленные усовершенствования и дополнения по сравнению с предыдущими реали­ зациями FAT.

Принципиальное отличие заключается в том, что FAT32 намного эффективнее рас­ ходует дисковое пространство. Прежде всего, система FAT32 использует кластеры мень­ шего размера по сравнению с предыдущими версиями, которые ограничивались 65535 кластерами на логический диск. Следовательно, даже для дисков размером 8 Гбайт FAT32 может использовать 4-килобайтные кластеры. В результате, по сравнению с дисками FAT16, экономится значительное дисковое пространство (в среднем 10-15%).

FAT32 также может перемещать корневой каталог и использовать резервную ко­ пию FAT вместо стандартной. Расширенная загрузочная запись FAT32 позволяет созда­ вать копии критических структур данных; это повышает устойчивость дисков FAT32 к на­

53

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

9.8. Файловая система HPFS

Сокращение HPFS расшифровывается как High Performance File System - высоко­ производительная файловая система. HPFS впервые появилась в OS/2 1.2 и LAN Manager. HPFS была разработана совместными усилиями лучших специалистов компаний IBM и Microsoft на основе опыта IBM по созданию файловых систем MVS, VM/CMS и виртуаль­ ного метода доступа.

Принципы размещения файлов на диске, положенные в основу HPFS, увеличивают как производительность файла системы, так и ее надежность и отказоустойчивость. Для достижения этих целей предложено несколько методов: размещение каталогов в середине дискового пространства, использование методов бинарных сбалансированных деревьев для ускорения поиска информации о файле, рассредоточение информации о местоположе­ нии записей файлов по всему диску, при том, что записи каждого конкретного файла раз­ мещаются (по возможности) в смежных секторах и поблизости от данных об их местопо­ ложении. Файловая система HPFS стремится, прежде всего, к тому, чтобы расположить файл в смежных кластерах, или, если такой возможности нет, расширить его на диске та­ ким образом, чтобы фрагменты файла физически были как можно ближе друг к другу. Та­ кой подход существенно уменьшает время позиционирования головок чтения/записи жесткого диска и время ожидания – задержки между установкой головки чтения/записи на нужную дорожку диска и началом чтения данных с диска (эта задержка обусловлена тем, что система вынуждена ждать. Пока диск не повернется таким образом, что нужный сек­ тор окажется под головкой чтения/записи).

Можно сказать, что файловая система HPFS имеет по сравнению с FAT следующие основные преимущества: высокую производительность; надежность; работа с расширен­ ными атрибутами, что позволяет управлять доступом к файлам и каталогам; Эффективное использование дискового пространства.

9.9. Файловая система NTFS (New Technology File System).

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

- Надежность. Высокопроизводительные компьютеры и системы совместного поль­ зования (серверы) должны обладать повышенной надежностью, которая является ключе­ вым элементом структуры и поведения NTFS. Одним из способов увеличения надежности является введение механизма журналирования файловых операций. При журналировании файловых операций система УФ фиксирует в специальном служебном файле происходя­ щие изменения. В начале операции, связанной с изменением файловой структуры, делает­ ся соответствующая пометка. Если во время операций над файлами происходит какой-ни­ будь сбой, то упомянутая отметка о начале операции остается указанной как незавершен­ ная. При выполнении процедуры проверки целостности файловой системы после переза­

54

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

-Расширенная функциональность. NTFS проектировалась с учетом возможного расширения. В ней были воплощены многие дополнительные возможности – эмуляция других файловых систем, мощная модель безопасности, параллельная обработка потоков данных и создание файловых атрибутов, определяемых пользователем.

-Поддержка POSIX. К числу базовых средств файловой системы POSIX относится необязательное использование имен файлов с учетом регистра, хранение времени послед­ него обращения к файлу и механизм т.н. «жестких ссылок» - альтернативных имен, позво­ ляющих ссылаться на один и тот же файл по двум и более именам.

-Гибкость. Модель распределения дискового пространства в NTFS отличается чрезвычайной гибкостью. Размер кластера может изменяться от 512 байт до 64 кбайт: NTFSподдерживает длинные имена файлов и альтернативные имена формата 8.3 для сов­ мещения с FAT. NTFS превосходно справляется в обращением больших массивов дан­ ных. Количество файлов в корневом и некорневом каталогах не ограничено. Поскольку в основу структуры каталогов NTFS заложена эффективная структура данных , называемая «бинарным деревом», время поиска файлов в NTFS ( в отличие от систем на базе FAT )не связано линейной зависимостью с их количеством.

55