Диалог для просмотра метаданных FAT32 - Курсовая работа

бесплатно 0
4.5 65
Структура системы FAT. Структура файловой записи. Цепочки кластеров, корневой каталог, файловые атрибуты. Структура построения проекта. Функции и переменные управляющего приложения и DLL-модуля. Ошибка, вызванная некорректным ID контроля диалогового окна.


Аннотация к работе
Файловая система (англ. file system) - порядок, определяющий способ организации, хранения и именования данных на носителях информации в компьютерах, а также в другом электронном оборудовании: цифровых фотоаппаратах, мобильных телефонах и т. п. Конкретная файловая система определяет размер имени файла (папки), максимальный возможный размер файла и раздела, набор атрибутов файла. Файловая система связывает носитель информации с одной стороны и API для доступа к файлам - с другой. Когда прикладная программа обращается к файлу, она не имеет никакого представления о том, каким образом расположена информация в конкретном файле, так же, как и на каком физическом типе носителя (CD, жестком диске, магнитной ленте, блоке флеш-памяти или другом) он записан. Именно файловая система устанавливает, где и как будет записан файл на физическом носителе (например, жестком диске).В файловой системе FAT смежные секторы диска объединяются в единицы, называемые кластерами. Для хранения данных файла отводится целое число кластеров (минимум один), так что, например, если размер файла составляет 40 байт, а размер кластера 4 кбайт, реально занят информацией файла будет лишь 1% отведенного для него места. Так как емкость диска вполне может и не выражаться целым числом кластеров, обычно в конце тома присутствуют т.н. surplus sectors - «остаток» размером менее кластера, который не может отводиться ОС для хранения информации. Содержит служебные структуры, которые принадлежат загрузочной записи раздела (Partition Boot Record - PBR, для отличия от Master Boot Record - главной загрузочной записи диска; также PBR часто некорректно называется загрузочным сектором) и используются при инициализации тома; Если кластер принадлежит файлу, то соответствующая ему ячейка содержит номер следующего кластера этого же файла.BPB в принципе отсутствовал в FAT, обслуживавшей MS-DOS 1.x, так как в то время предполагалось лишь два различных типа тома - одно-и двусторонние пятидюймовые дискеты на 360 кб, причем формат тома определялся по первому байту области FAT. BPB был введен в MS-DOS 2.x в начале 1983 г. как обязательная структура загрузочного сектора, по которой впредь следовало определять формат тома; старая схема определения по первому байту FAT лишилась поддержки. Структура BPB в MS-DOS 2.x содержала 16-битное поле «общего количества секторов», что означало принципиальную неприменимость этой версии FAT для томов объемом более 216 = 65536 секторов, т.е. более 32 Мб при стандартном размере сектора 512 байт. В MS-DOS 4.0 (1988) вышеназванное поле BPB было расширено до 32 бит, что означало увеличение максимального размера тома до 232 = 4294967296 секторов, т.е. до 2 Гб при 512-байтном секторе. Каждый из них содержит сигнатуру 0XAA55 по адресу 0x1FE, т.е. в последних двух байтах при том, что сектор = 512 байт.Определение типа FAT тома (т.е. выбор между FAT12, FAT16 и FAT32) производится ОС по количеству кластеров в томе, которое в свою очередь определяется из полей BPB. Далее определяется, какие из полей BPB_FATSZ16/32 и BPB_TOTSEC16/32 не равны нулю, и они используются при определении количества секторов области данных тома: DATASEC = TOTSEC - По количеству кластеров проводится однозначное соответствие с файловой системой: - COUNTOFCLUSTERS <4085 - FAT12Следующая важная структура тома FAT - это сама таблица FAT, занимающая отдельную логическую область. Между кластерами и индексными указателями таблицы имеется взаимно однозначное соответствие - N-й указатель соответствует кластеру с тем же номером. кластер занят файлом и не является последним кластером файла - значение указателя - это номер следующего кластера файла; кластер является последним кластером файла - указатель содержит метку EOC (End Of Clusterchain), значение которой зависит от версии FAT: для FAT12 меткой EOC считается любое значение, большее или равное 0x0FF8 (по умолчанию 0x0FFF); для FAT16 - большее или равное 0XFFF8 (по умолчанию 0XFFFF); для FAT32 - любое значение, большее или равное 0x0FFFFFF8 (по умолчанию 0x0FFFFFFF); кластер поврежден - указатель содержит специальную метку, значение которой для FAT12 0x0FF7, для FAT16 0XFFF7 и для FAT32 0x0FFFFFF7.Непосредственно после окончания последней таблицы FAT следует область данных, содержащая файлы и папки.В FAT12/FAT16 корневой каталог имеет фиксированный размер в секторах, который вычисляется из значения BPB_ROOTENTCNT, и следует на диске непосредственно после таблицы FAT. В FAT32 корневой каталог, как любой другой, имеет переменный размер и является цепочкой кластеров.Файловая запись FAT32 состоит из следующих структур: - DIR_Name. 11-байтное поле по относительному адресу 0, содержит короткое имя файла (в рамках стандарта 8.3). Байт по адресу 0x0B, отвечающий за атрибуты файла. Байт по адресу 0x0C, используется в Windows NT. Дата последнего доступа к файлу (т.е. последнего чтения или записи - в последнем случае приравнивается DIR_WRTDATE).Поле DIR_Name логически разбивается на первые 8 символов, образующие имя файла, и последние 3, обра

План
СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. АНАЛИЗ СОСТОЯНИЯ ВОПРОСА

1.1 Структура системы FAT

1.2 Анализ области BOOT

1.2.1 Загрузочная запись

1.2.2 FSINFO

1.2.3 Определение типа FAT тома

1.3 Таблица FAT

1.3.1 Цепочки кластеров

1.3.2 Файловые записи

1.4 Корневой каталог ROOT

1.5 Структура файловой записи

1.6 Имя файла в FAT

1.7 Файловые атрибуты

2. ПОСТАНОВКА ЗАДАЧИ

3. РАЗРАБОТКА ПРОГРАММЫ

3.1 Структура построения проекта

3.2 Функции и переменные DLL-модуля

3.3 Функции и переменные управляющего приложения

4. ТЕСТИРОВАНИЕ ПРОГРАММЫ

4.1 Ошибки, выявленные при тестировании

4.1.1 Ошибка вызванная отсутствием выравнивания полей fat_boot_sector

4.1.2 Ошибка, вызванная некорректным ID контроля диалогового окна

4.2 Конечное тестирование приложения

ВЫВОДЫ

СПИСОК ИСТОЧНИКОВ

Приложение А - Графическая часть

Приложение Б - Листинг алгоритма

Приложение В - Листинг управляющего приложения USBDRVREADER.exe
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?