Гордеев А.В. Операционные системы (2-е изд., 2004) (1186250), страница 45
Текст из файла (страница 45)
Естественно, что это приводит к существенному замедлению работы с файлами.В связи с тем, что таблица FAT используется при доступе к диску очень интенсивно, она обычно загружается в оперативную память (в буферы ввода-вывода или вкэш) и остается там настолько долго, насколько это возможно. Если таблица большая, а файловый кэш, напротив, относительно небольшой, в памяти размещаютсятолько фрагменты этой таблицы, к которым обращались в последнее время.В связи с чрезвычайной важностью таблицы FAT она обычно хранится в двух идентичных экземплярах, второй из которых непосредственно следует за первым. Обновляются копии FAT одновременно, используется же только первый экземпляр.Если он по каким-либо причинам окажется разрушенным, то произойдет обращение ко второму экземпляру.
Так, например, утилита проверки и восстановленияфайловой структуры ScanDisk из ОС Windows 9x при обнаружении несоответствияпервичной и резервной копии FAT предлагает восстановить главную таблицу, используя данные из копии.рневой к а т а л о г отличается от обычного файла-каталога тем, что он помимо разЩения в фиксированном месте логического диска имеет еще и фиксированноепело элементов.
Для каждого файла и каталога в файловой системе хранится инР°рмация в соответствии со структурой, представленной в табл. 6.3.еУработы с данными на магнитных дисках в системах DOS, которые имеют файлосистему FAT, удобно использовать широко известную утилиту Disk Editor из170Глава 6, Файловые с и с т е м ^комплекта утилит Питера Нортона. У нее много достоинств.
Прежде всего, она ком*пактна, легко размещается на системной дискете с MS DOS, снабжена встроеннойсистемой подсказок и необходимой справочной информацией. Используя ее, можносохранять, модифицировать и восстанавливать загрузочную запись, восстанавливатьтаблицу FAT в случае ее повреждения, а также выполнять много других операцийОсновными недостатками этой программы на сегодняшний день являются ограничения на размеры диска и разделов и отсутствие поддержки работы с такими распространенными файловыми системами, как FAT32 и NTFS.
Вместо нее теперь часто используют утилиту Partition Magic, однако наилучшей альтернативой этой программена сегодняшний день можно считать утилиту Администратор дисков от Acronis.Таблица 6 . 3 . Структура элемента каталогаРазмер поля данных, байтСодержание поля11Имя файла или каталога1Атрибуты файла1Резервное поле3Время создания2Дата создания2Дата последнего доступа2Зарезервировано2Время последней модификации2Дата последней модификации2Номер начального кластера в FAT4Размер файлаСтруктура загрузочной записи DOSСектор, содержащий системный загрузчик DOS, является самым первым на логическом диске С:.
Напомним, что на дискете системный загрузчик размещается в самом первом секторе; его физический адрес равен 0-0-1. Загрузочная запись состоит, как мы уже знаем, из двух частей: блока параметров диска (Disk Parameter Block,DPB) и системного загрузчика (System Bootstrap, SB). Блок параметров диска служит для идентификации физического и логического форматов логического диска,а системный загрузчик играет существенную роль в процессе загрузки DOS.
Этаинформационная структура приведена в табл. 6.4.Первые два байта загрузочной записи занимает команда безусловного переходаа(JMP) на программу SB. Третий байт содержит код 90Н (NOP — нет операции). Д "лее располагается восьмибайтовый системный идентификатор, включающий ивеформацию о фирме-разработчике и версии операционной системы. Затем следублок параметров диска, а после него — системный загрузчик.3Для работы с загрузочной записью DOS, как и с другими служебными инфор^ционными структурами, удобно использовать уже упомянутую программу Dis171^ м п о в а я с и с т е м а FATFditor из комплекта утилит Питера Нортона.
Используя ее, можно сохранять, моифицировать и восстанавливать загрузочную запись, а также выполнять многоДругих операций. Достаточно подробно работа с этой утилитой описана в [2].Таблица 6 . 4 . Структура загрузочной записи для FAT16Смещение поля,Длина поля,Обозначениебайт00Н(0)6^13^ИJUMP3EHСодержимое поляОЗН (3)8ОВН (11)2SectSizeРазмер сектора, байт0DH(13)1ClastSizeЧисло секторов в кластере0ЕН(14)2ResSecsЧисло зарезервированных секторов10Н(16)1FATcntЧисло копий FATБезусловный переход на началосистемного загрузчикаСистемный идентификатор11Н(17)2RootSizeМаксимальное число элементов Rdir13Щ19)2TotSecsЧисло секторов на логическом диске,если его размер не превышает32 Мбайт; иначе 0000Н15Щ21)1MediaДескриптор носителя16Н(22)2FATsizeРазмер FAT, секторов18Н(24)2TrkSecsЧисло секторов на дорожке1АН(26)2HeadCntЧисло рабочих поверхностей1СН(28)4HidnSecsЧисло скрытых секторов20Н (32)424H (36)Число секторов на логическом диске,если его размер превышает 32 МбайтТип логического диска (ООН — гибкий,80Н — жесткий)25H (37)1Зарезервировано26H(38)1Маркер с кодом 29Н27H (39)4Серийный номер тома 12BH(43)11Метка тома36H (54)8Имя файловой системы3EH (62)1FEH(510)Системный загрузчик2Сигнатура (слово АА55Н)ом (volume) представляет собой единое логическое адресное пространство.
Томом может быть обычный логический диск либо несколько дисковых, пространств.Файловые системы VFAT и FAT32Дной из важнейших характеристик исходной файловой системы FAT было исользование имен файлов формата 8.3. К стандартной системе FAT (имеется в видуРежде всего реализация FAT16) добавились еще две разновидности, используе-172Глава 6. Файловые системымые в широко распространенных ОС от Microsoft (конкретно — в Windows 95и Windows NT): VFAT (виртуальная система FAT) и система FAT32, используемая в одной из редакций ОС Windows 95 и Windows 98. Ныне файловая системаFAT32 поддерживается и такими последними системами, как Windows MillenniumEdition, Windows 2000 и Windows XP. Имеются реализации FAT32 и для WindowsNT, и для Linux.Файловая система VFAT впервые появилась в Windows 3.11 (Windows for Workgroups).
С выходом Windows 95 в VFAT добавилась поддержка длинных именфайлов (Long File Name, LFN). Тем не менее, VFAT сохраняет совместимость с исходным вариантом FAT; это означает, что наряду с длинными именами в ней поддерживаются имена формата 8.3, а также существует специальный механизм дляпреобразования имен 8.3 в длинные имена, и наоборот. Именно файловая системаVFAT поддерживается исходными версиями Windows 95, Windows NT 4, Windows2000 и Windows XP. При работе с VFAT крайне важно использовать файловыеутилиты, обслуживающие VFAT вообще и длинные имена в частности.
Дело в том,что более ранние файловые утилиты DOS запросто модифицируют то, что кажется им исходной структурой FAT. Это может привести к потере или порче длинныхимен из таблицы размещения файлов, поддерживаемой VFAT (или FAT32). Следовательно, для томов VFAT необходимо пользоваться файловыми утилитами,которые понимают и сохраняют файловую структуру VFAT.Основными недостатками файловых систем FAT и VFAT, которые привели кразработке новой реализации файловой системы, основанной на той же идее (таблице размещения файлов), являются большие потери на кластеризацию при больших размерах логического диска и ограничения на сам размер логического диска.
Поэтому в Microsoft Windows 95 OEM Service Release 21 на смену системеVFAT пришла файловая система FAT32, которая является полностью самостоятельной 32-разрядной файловой системой и содержит многочисленные усовершенствования и дополнения по сравнению с предыдущими реализациями FAT.Самое принципиальное отличие заключается в том, что FAT32 намного эффективнее расходует дисковое пространство. Прежде всего, кластеры в этой системеменьше, чем кластеры в предыдущих версиях, в которых могло быть не более65 535 кластеров на логический диск (соответственно с увеличением размерадиска приходилось увеличивать и размер кластеров). Следовательно, даже длядисков размером до 8 Гбайт FAT32 может использовать 4-килобайтные кластеры.
В результате по сравнению с дисками FAT16 экономится значительное дисковое пространство (в среднем 10-15 %). В FAT32 проблема решается за счеттого, что собственно сама таблица размещения файлов в этой файловой системеможет содержать до 2 2 8 кластеров 2 .FAT32 также может перемещать корневой каталог и использовать резервную копию FAT вместо стандартной. Расширенная загрузочная запись FAT32 позволяет12Эту версию Windows 95 часто называют Windows 95 OSR2.В 32-разрядном слове FAT32, используемом для представления номера кластера, фактически уЧ 'тываются только 28 разрядов, что приводит к тому, что размер таблицы размещения файлов в этосистеме не может превышать 2 28 элементов.173файловая система FATсоздавать копии критически важных структур данных; это повышает устойчивостьдисков FAT32 к нарушениям структуры таблицы размещения файлов по сравнению с предыдущими версиями.
Корневой каталог в FAT32 представлен в виде обычной цепочки кластеров, следовательно, он может находиться в произвольном местелиска, что снимает действовавшее ранее ограничение на размер корневого каталога (512 элементов).Системы Windows 95 OSR2 и Windows 98 могут работать и с разделами VFAT,созданными Windows NT. To, что говорилось ранее об использовании файловыхутилит VFAT с томами VFAT, относится и к FAT32. Поскольку прежние утилиты FAT (для FAT32 в эту категорию входят обе файловые системы, FAT и VFAT)могут повредить или уничтожить важную служебную информацию, для томовFAT32 нельзя пользоваться никакими файловыми утилитами, кроме утилитFAT32.[ 7 [ р I 2 I 3 U I 5 I 6 I 7 I 8 I 9 110111|12|13|14Ц5|16|17|18|19|20|21|22|23|24|25|26|27|28|29130|3113 Уg гогЯ?SkсСОВреКс гога шГ"£га 1ох гофайлтах1*ЗарезервированогоXпеднсиАтр ибуть файИмя файла(8 символов имении 3 символа - расширение)>sФО- гоФ (о2Ном>sгаСогоЭлемент каталога для короткого имени файла (FAT16 и FAT12)Элемент католога для короткого имени файла (FAT32)х5гоQ.1*р файлаайтахОадшее с лово HOWачального кластеДата п эследнейза писиО.Время г оследнеза писиIфаршее слово номачального кластеО.S3Дата последнегсдоступа1*шозданиязйла[XсозданиязйлаИмя файла(8 символов имении 3 символа - расширение)гао.гао .