Розробка програмного забезпечення файлового менеджера
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
6SerialNumber4311Label548FAT(">я03Команда JMP на код завантажникаjmpcode38Назва операційної системи, у якій виконано форматування дискуos112Кількість байт у секторіBytePerSector131Кількість секторів у кластеріSectorPerCluster142Кількість резервних секторівSizeReserv161Кількість копій FATNumberCopiesFAT172Кількість елементів кореневого каталогуMaxDirElem192Розмір диску в секторах для дисків 32MBBigSize361Тип пристрою(для першого диску в системі 80h, для інших 0)--371Резерв--381Сигнатура 29h.Code394Серійний номерSerialNumber4311Метка дискуLabel548Ідентифікатор FAT (FAT12 або FAT16)FATID622Код завантажника--
Таблиця 2.4 Структура BOOT сектору для FAT32
ЗсувРозмір, байтОписІмя03Команда JMP на код завантажникаjmpcode38Назва операційної системи, у якій виконано форматування дискуos112Кількість байт у секторіBytePerSector131Кількість секторів у кластеріSectorPerCluster142Кількість резервних секторівSizeReserv161Кількість копій FATNumberCopiesFAT174Резерв---211Описувач середовищаMediaDescriptor222Резерв---242Секторів на доріжціSectorPerTrack262Кількість голівокHeads284Кількість схованих секторівNumberHiddenSectors324Резерв---386Резервreserv1444Початковий кластер кореневого каталогуStartCluster482Початковий сектор структури FS INFOBegFS502Номер сектору з копією BOOT-розділуBootCopy5212Резервreserv2641Фізичний номер пристроюPhysNum651Резервreserv3661Розширена сігнатураExtSign674Серійний номер пристроюSerialNumber7111Метка дискуLabel828Ідентифікатор (FAT32)FATID90255AA---
Дана структура дозволяє отримати доступ до інформаційних полів BOOT-сектора необхідного логічного диска.
BOOT-область в файлових системах FAT12,16 займає 1 сектор, а в ФС FAT32 3 сектори. Другий сектор містить додаткові параметри та сигнатури, а третій продовження програми завантаження. За завантажувальною областю розташовані таблиці FAT таблиці кластерів. Їх кількість визначається у BOOT-секторі. У файлових системах FAT12,16 за таблицями кластерів знаходиться кореневий каталог. Його розмір обмежений кількістю елементів, вказаних в BOOT-секторі. Кореневий каталог FAT32 може не розміщатися відразу ж за таблицями кластерів та не має меж щодо свого розміру. За всіма цими службовими областями знаходиться область даних.
Таблиця FAT містить інформацію про розподілення дискового простору під обєкти ФС. Ця таблиця масив елементів із розмірністю 12, 16 або 32 біти в залежності від версії ФС. Номер елементу таблиці FAT відповідає номеру кластера в області даних. У таблиці 2.5 наведені можливі значення одного елементу FAT.
Таблиця 2.5 Значення елементу FAT
FAT12FAT16FAT32Пояснення000Вільний кластерFF0-FF6FFF0-FFF60FFFFFF0-0FFFFFF6Зарезервований кластерFF7FFF70FFFFFF7BAD-кластерFF8-FFFFFF8-FFFF0FFFFFF8-0FFFFFFFОстанній кластер обєктуУсі інші значення вказують на наступний кластер.
Послідовність кластерів, яка може належати одному обєкту в таблиці ФАТ, представляє собою односпрямований список, голова якого в явному виді відсутня, а кінець визначається ознакою кінця ланцюжка.
- Структура елемента каталогу
Кожен каталог представляє собою послідовність дескрипторів. Структура дескриптора обєкта з коротким імям наведена у табл. 2.6 для FAT13/FAT16 та у табл. 2.8 для FAT32. Структура байту атрибуту у табл. 2.7.
Таблиця 2.6 Структура дескриптора для FAT12 / FAT16
ЗсувРозмір, байтОписІмя01Ознака дескриптору: 0 вільний; E5h - видалений; інше-перший символ імені обєктуfn177 символів імені обєктуname83Розширення обєктуext111Байт атрибутів attr1210Резервreserv222Час створення або останньої модифікаціїTimeMade242Дата створення або останньої модифікаціїDateMade262Молодша частина початкового кластеру обєктаFirstCluster284Розмір обєкта в байтахSizeFileInBytes
Таблиця 2.7 Байт атрибутів обєкта
НомербітуЗначення бітуОпис01Обєкт тільки для читання11Обєкт схованого типу21Обєкт системного типу31Мітка тому41Директорія51Архівний файл6Не використовуєтьсяТаблиця 2.8 Структура дескриптора для FAT32
ЗсувРозмір, байтОписІмя01Ознака дескриптору: 0 вільний; E5h - видалений; інше-перший символ імені обєктуfn177 символів імені обєктуname83Розширення обєктуext111Байт атрибутів attr121Резервreserv132Час створення (0.1 секунд)TimeMadeSec142Час створенняTimeMade162Дата створення або останньої модифікаціїDateMade182Дата останнього звертанняDateLast202Старший байт номеру першого кластеру, який був виділений обєкту FirstClusterHigh22 2Час останньої модифікації обєкту TimeLast24 2Дата останнього запису обєктуDateLastWrite262Молодший байт номеру першого кластеру, який був виділений обєктуFirstClusterLow284Розмір файлу в байтахSizeFileInBytes
Якщо обєкт іменується довгим імям, то під нього виділяється декілька дескрипторів стандартного розміру (32б). Кількість дескрипторів визначається довжиною імені обєкта. Максимальна довжина імені обєкта 255 символів, які зберігаються в форматі UNICODE (по два байти на один символ). У кожному дескриптору може зберігатися 13 символів імені обєкту. Структура дескриптора для довгого імені наведена у табл. 2.9.
Таблиця 2.9 Структура дескриптора для довгого імені
ЗсувРозмір, байтОписІмя01Номер порції іменіfn1105 символів імені обєктуFiveSymb111Байт атрибутів, дорівнює 0Fhattr121Завжди дорівнює 0reserv131Контрольна сума короткого імяCRC14126 символів імені обєктуSixSymb262Резервreserv22842 символа імені обєктуTwoSymbІмя в останній порції довгого імені може бути меншим за 13 символів. У такому випадку значима частина імені завершується нулем. усі інші поля імені заповнюються FFFF.