Дипломная работа: Програма для роботи з файловою системою
OF9H 5,25-дюймовий, 2-сторонній, 15-секторний 3.x |
OFCH 5,25-дюймовий, 1-сторонній, 9-секторний 2.x,3.x |
OFDH 5,25-дюймовий, 2-сторонній, 9-секторний 2.x,3.x |
OFEH 5,25-дюймовий, 1-сторонній, 8-секторний 1.x,2.x,3.x |
OFFH 5,25-дюймовий, 2-сторонній, 8-секторний 1.x(крім 1.0)|
OFEH 8-дюймової, 1-сторонній, одинарної щільності 2.3 |
OFDH 8-дюймової, 2-сторонній, одинарної щільності |
OFEH 8-дюймової, 1-сторонній, подвійної щільності |
OFDH 8-дюймової, 2-сторонній, подвійної щільності |
____________________________________________________________________|
Таблиця розміщення файлів
Таблиця розміщення файлів представляє схему розміщення файлів в дискової пам'яті за допомогою вказівки того, які кластери й у якому порядку включаються в кожен файл. Для того, щоб MS DOS могла опредилити місце розташування файлу, опис даного файлу в каталозі містить номер його початкового входу в FAT. Цей вхід FAT у свою чергу, включає номер входу наступного кластера, якщо файл складається більш ніж з одного кластера, або номер останнього кластера, якщо файл містить єдиний кластер. Файл, що складається з 10 кластерів, повинен мати 10 входів в FAT й 9 зв'язків між входами FAT(безліч зв'язків для одного файлу називається ланцюжком - (chain)).
Додаткові копії FAT є резервними й використаються в випадку ушкодження первинної FAT; типові гнучкі й жорсткі диски тримають звичайно 2 FAT. Ці таблиці розташовуються послідовно за сектором початкового завантаження, а між ними іноді є резервна копія. Як правило, MS DOS використає первинну FAT, однак, при появлені в ній змін коректуються всі таблиці. Крім того, MS DOS порівнює всі таблиці при першому звертанні до диска, щоб переконатися, що вони відповідають один одному.
MS DOS підтримує два типи FAT: один використає 12-бітові посилання; іншої застосовується у версії 3.0 для включення в більші фіксовані диски більше 4087 кластерів і використає 16-бітові посилання.
Два перших входи FAT завжди резервуються й містять копію дескриптора носія даних (1 байт) і два (для 12-бітової FAT) або три (для 16-бітової FAТ) байти OFFH, як показано на прикладі наступних дампів перших 16 байтів FAT:
12-бітова FAT:
F9 FF FF 03 40 00 FF 6F-00 07 F0 FF 00 00 00 00
16-бітова FAT:
F8 FF FF FF 03 00 40 00-FF FF 06 00 07 00 FF FF
Інші входи FAT перебувають у взаємо-однозначній відповідності с кластерами в області файлів даних. Стан кожного кластера відмічається відповідним значенням в FAT (програма FORMAT спочатку позначає вхід FAT для кожного кластера, як вільний). Стан кластера може приймати одне з наступних значень:
Якщо вхід FAT містить ненульове значення, що відповідає кластер вже зайнятий. Вільний кластер можна знайти, скануючи FAT з початку до виявлення першого нульового значення. Дефектні кластери звичайно идентифицируются в процесі форматування. На мал.3-8 зображена типова ланцюжок FAT.
Вільні входи FAT містять нульове значення посилання; одиниця, як значення посилання, ніколи не використається. Таким чином, першим номером посилання, пов'язаним з першим доступним кластером в області файлів даних, є 2; цей номер ставиться до першого фізичного кластеру в області файлів даних. На мал.3-9 показаний зв'язок між файлами, входи FAT і кластери в області файлів даних.
Не існує логічного розходження між обробкою 12-бітових й 16-бітових входів FAT; розходження ставляться тільки до пам'яті й методів доступу. Оскільки процесор 8086 особливо призначений для эфективний обробки 8- або 16-бітових величин, то процедура доступу для 12-бітової FAT є більше складної, чим для 16-бітової.
_____________________________________________________________________
12-бітовий 16-бітовий Значення |
-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і|
000H 0000H Вільний кластер |
001H 0001H Код не використається |
FF0-FF6H FFF0-FFF6H Резерв |
FF7H FFF7H Дефектний кластер |