Файловые системы (курсовая работа), страница 6
Описание файла
PDF-файл из архива "Файловые системы (курсовая работа)", который расположен в категории "". Всё это находится в предмете "операционные системы" из 8 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "операционные системы" в общих файлах.
Просмотр PDF-файла онлайн
Текст 6 страницы из PDF
Онсодержит те же структуры, что и стандартный BPB, но включает несколько дополнительныхполей, которые нужны для FAT32. Изменения, внесенные в BPB для поддержки FAT32,описаны ниже.Таблица 5. Важнейшие записи в загрузочном сектореДлина (вбайтах)382121221222441114118СодержимоеКоманды JMP и NOPНазвание и версия WindowsКоличество байтов на секторКоличество секторов на кластер (всегда кратно двум в степени п)Количество зарезервированных секторов перед первой FATКоличество таблиц FATКоличество элементов в корневом каталоге (максимальный предел)Общее число секторов (00 00 - если размер диска больше 32 Мб)Дескриптор среды; в данном случае F8, что идентифицирует диск как жесткийс любой емкостьюКоличество секторов на элемент таблицы FATКоличество секторов на дорожкуЧисло головокКоличество скрытых секторовОбщее число секторов, если размер диска больше 32 МбНомер диска; в данном случае 80, что идентифицирует основной разделЗарезервированРасширенная сигнатура (всегда 29h)Серийный номер томаМетка томаТип файловой системы (12- или 16-разрядная)Примечание.
Эта часть загрузочного сектора известна как BIOS Parameter Block (BPB) (блокпараметров BIOS). Она содержит физические характеристики диска, которые MS-DOS иWindows используют при поиске определенного участка. Складывая или перемножаязначения этих параметров, операционная система узнает, где находится таблица FAT,корневой каталог, где начинается и кончается область данных.Поле корневого каталога.Этот элемент сообщает количество секторов в корневом каталоге. Для жестких дисков этозначение всегда было равно 512 (0200h) и означало количество строк каталога размещаемыхв тридцати двух секторах. Теперь оно изменено на 0 (0000h) и на FAT32-дискахигнорируется.Количество секторов на элемент таблицы FAT.19Этот элемент заменен нулем и теперь действует как указатель на соответствующий элемент вBF_BPB, когда в процессе загрузки дело доходит до BF_BPB.Описание диска.Новое двухбайтовое поле, используемое как флаг, указывающий количество таблиц FAT надиске - одна или две.
Если флаг установлен, на диске только одна FAT, если сброшен - две.FAT32, созданная командой Format, всегда формирует 2 таблицы FAT.Первый кластер корневого каталога.Максимальное число элементов в корневом каталоге теперь расширено до 65535, а самкорневой каталог может находиться в любом месте. Данное значение указывает номерпервого кластера, занимаемого корневым каталогом на FАТ32-диске.Сектор файловой информации.Указывает на второй загрузочный сектор. В нем содержится информация о том, сколько надиске всего кластеров, сколько из них свободно и какой кластер был выделен самымпоследним. Таким образом, чтобы получить эту часто используемую информацию, теперь ненужно считывать всю таблицу FAT.Резервная копия загрузочного сектора.Еще одно важное новшество в FАТ32.
В прежних версиях файловой системы FATповреждение загрузочного сектора приводило к полной потере всего содержимого диска.FAT32 снимает остроту этой проблемы. Записывая изменения на загрузочный том FAT32,программа FDISK создает резервную копию загрузочного сектора и помещает ее влогический сектор 6 этого тома. Если новая MBR при обращении к загрузочному секторуобнаруживает ошибку чтения или неправильную сигнатуру, она ищет сектор 6 и считываетостальную часть загрузочного кода уже из него.32-разрядная FAT-таблицаПредназначение FAT не изменилось. Она по-прежнему используется как таблица,связывающая отдельные кластеры файла. Элементы каталожной записи, указывающие напервый кластер файла, теперь состоят из четырех байтов, а содержимое этих байтов являетсяномером (адресом) следующего кластера и элемента таблицы FAT, который содержит(указывает) номер следующего кластера файла, а также является номером элемента таблицыFAT и т.
д. до последнего кластера файла. Элементы таблицы FAT теперь в 2 раза длиннее(по 4 байта), так как на FАТ32-диске может быть гораздо больше кластеров, чем на FАТ16диске. В 16-разрядной FAT максимальное число кластеров на диске равно 65 525 (2 - завычетом 10 зарезервированных), а в 32-разрядной FAT старшие 4 бита каждого 32-битногозначения зарезервированы и не участвуют в формировании номера кластера, поэтомумаксимальное число кластеров в 32-разрядной FAT равно 268 435 445. (228 за вычетом 10зарезервированных).Каталог в FAT3220Начальный кластер, указанный в 32-х байтной строке каталога, сообщает операционнойсистеме, где на диске искать первую часть файла и где в таблице FAT32 искать следующийномер кластера. В показанной ниже строке каталога адрес начального кластера выделенполужирным шрифтом.49 4F 20 20 20 20 20 20 - 44 4F 53 07 00 00 00 0000 00 00 00 00 00 80 32 - ЗЕ 1В 02 00 46 9F 00 00IO SYS...........Для указания номера кластера используются 2 дополнительных байта.
Они размещаются взарезервированной области, и в примере, показанном выше, это - 00 00. Объединяя их собычными (существующими в FAT 16) двумя байтами (02 00), операционная системаполучает нужное значение (00 00 00 02) и ищет по нему соответствующий элемент таблицыFAT. Ниже показан пример записи с номерами кластеров файла в 32-разрядной таблице FAT:F8 FF FF 0F FF FF FF 0F - 03 00 00 00 04 00 00 0005 00 00 00 06 00 00 00 - 07 00 00 00 08 00 00 0009 00 00 00 0А 00 00 00 - 0В 00 00 00 0С 00 00 000D 00 00 00 0Е 00 00 00 - 0F 00 00 00 10 00 00 0011 00 00 00 12 00 00 00 - 13 00 00 00 14 00 00 0015 00 00 00 16 00 00 00 - 17 00 00 00 18 00 00 0019 00 00 00 1А 00 00 00 - 1В 00 00 00 FF FF FF F8Как и раньше в FAT 16, F8 - это байт, содержащий дескриптор носителя.
Следующие 7байтов, FF FF 0F FF FF FF 0F, зарезервированы. Номера кластеров записываются какчетырехбайтовые числа. Их следует читать так:03 00 00 000000000304 00 00 000000000405 00 00 000000000506 00 00 0000000006Конец цепочки кластеров для файла помечается новым маркером - FFFFFFF8.Зеркализация FATИсторически сложилось так, что на всех FAT-дисках существуют 2 экземпляра таблицыFAT. Ecли при чтении исходного экземпляра возникает ошибка, файловая система пытаетсясчитать его резервную копию.
На дисках с 12-и 16-разрядной FAT первая таблица FATвсегда является основной, и все изменения автоматически записываются в ее копию.Создание резервной копии второй таблицы FAT называется зеркализацией (mirroring). ВFAT32 зеркализацию второй таблицы FAT можно отключить. Тогда операции чтения/записиускоряются, а если первая FAT оказывается поврежденной, используется ее второйэкземпляр (он становится основным).
На FAT32-дисках таблица FAT может достигатьогромных размеров, и отключение зеркализации способно заметно ускорить доступ кфайлам. В самой Windows 9х/Me нет механизма, позволяющего это сделать. Зеркализациявсегда включена. Но ничто не мешает разработчикам реализовать в своих дисковых утилитахотключение зеркализации на дисках очень большого объема.Корневой каталог21Корневой каталог в FAT32 может содержать до 65 535 элементов. В загрузочном секторепоявился новый элемент, который указывает на первый кластер корневого каталога. Поэтомукорневой каталог больше не привязан к строго определенному участка на диске (раньше ондолжен был находиться непосредственно за второй таблицей FAT) и может расширятьсяточно так же, как и любой подкаталог.
Однако при наличии большого количества элементовв корневом каталоге поиск нужных данных занимает довольно много времени.Производительность файловой системы из-за этого падает. Поэтому лучше ограничиватьчисло элементов в корневом каталоге до какого-то разумного предела.В любых файловых системах Windows 9х/Me пользователи могут присваивать файлам именадлиной до 255 символов и более чем с одной точкой. Имя файла считается длинным, еслионо превышает размеры, допускаемые форматом "8.3", или, если в нем содержатся строчныебуквы и другие символы, недопустимые в пространстве имен формата "8.3".Поддержка длинных имен файловС целью поддержки совместимости для каждого длинного имени файла автоматическигенерируется псевдоним, удовлетворяющий формату "8.3".
Этот псевдоним составляется изпервых шести символов имени файла, дополняемых знаками ~n (где n - порядковый номер),и первых трех символов за последней точкой. Таким образом, файл DnisIsAdpg.File.Nameполучит псевдоним DNISIS~1.NAM. Если в каталоге уже есть такой псевдоним, порядковыйномер увеличивается на единицу до тех пор, пока не получится уникальное имя. Нипользователь, ни приложение не могут повлиять на процесс автоматического формированияпсевдонима. В псевдониме используются только допустимые символы, а все буквы должныбыть заглавными, чтобы соответствовать правилам формата "8.3". Для имен формата "8.3" (ипсевдонимов) допустима любая комбинация букв и цифр, пробел (ASCII-код 20h), символыASCII с кодами больше 127, а также знаки:$ %'-_@ ~`!()^#&.Следующие символы допустимы в длинных именах файлов, но недопустимы в псевдонимахили именах формата "8.3":+,;=[]Кроме того, файловые системы Windows 9х/Me подчиняются таким правилам:максимальная длина имени файла - 255 знаков, включая символ NULL;максимальная длина пути - 260 знаков, включая символ NULL (сравните с 80 знакамидля краткого имени);набор символов OEM, используемый устанавливаемой файловой системой,определяется реестром и содержимым файла Unicode.bin;при хранении длинных имен файлов в записях каталогов на диске используетсяUnicode.Имя файла и псевдоним одинаковы, если имя соответствует формату "8.3" (т.
е. содержиттолько допустимые для псевдонима символы, и все буквы заглавные). Отсюда следует, чтоимя файла, во всем совпадающее с псевдонимом за исключением того, что содержитстрочные буквы, все равно считается длинным. В таком случае псевдоним формируетсяпростым преобразованием строчных букв в заглавные - например, Examples.Txtтрансформируется в EXAMPLES .TXT. (при поиске в файловой системе Windows 98 регистрбукв не учитывается).Чтобы увидеть псевдоним файла, щелкните имя файла правой кнопкой мыши в любойоболочке типа Windows Explorer и выберите из контекстного меню команду Properties(Свойства). Псевдоним будет показан как параметр MS-DOS Name (Имя MS-DOS) в окне22свойств на вкладке General (Общие).
Команда dir, введенная в командной строке, отображаеттолько длинные имена файлов.Размещение длинных имен в каталожной записиВ начале тома FAT12 или FAT16 заранее выделяется место для корневого каталога,достаточное для хранения 256 записей (элементов), что ограничивает число файлов икаталогов в корневом каталоге (в FAT32 такого ограничения нет). Элемент каталога FAT,размер которого составляет 32 байта, хранит имя файла, его размер, начальный кластер иметку времени (время создания, последнего доступа и т.д.). Если имя файла состоит изUnicode-символов или не соответствует правилам именования по формуле "8.3", принятым вMS-DOS, оно считается длинным, и для его хранения выделяются дополнительные элементыкаталога.Вспомогательные элементы предшествуют главному элементу для файла.
На рисункепоказан пример элемента каталога для файла с именем "The quick brown fox". Системасоздала представление этого имени в формате "8.3", THEQUI~1.FOX (в элементе каталоганет "точки", поскольку предполагается, что точка следует после восьмого символа), ииспользовала два дополнительных 32-х байтных элемента для хранения длинного Unicodeимени. Каждая строка на рисунке состоит из 16 байт.Второй (и последний) элемент для длинного имени0х42w0x0000n0xFFFF.0xFFFFf0xFFFFo0xFFFFКонтр.сумма0xFFFF0x01 0x000x0000x0xFFFFПервый элемент для длинного имени0x01Tihceqkb0x0F 0x000x0000Контр.суммаruoЭлемент для краткого имениTHEQUI~1FOX 0x20 NTВремяВремяДатаДатаПервыйпоследнего 0x0000последнейпоследнейсозданиякластердоступамодификации модификацииВремя созданияРазмер файлаNTFSNTFS (New Technology File System) - наиболее предпочтительная файловая система приработе с ОС Windows NT (Windows 2000 и XP также являются NT системами), поскольку онабыла специально разработана для данной системы.