Файлова система FAT
Категория реферата: Топики по английскому языку
Теги реферата: доклад по биологии, реферат по математиці
Добавил(а) на сайт: Носачёв.
Предыдущая страница реферата | 1 2 3 4 5 6 | Следующая страница реферата
Для DOS версії 3.0 16-бітовий формат використовується, якщо розмір диска перевищує 4086 кластерів. Це число утворилося виходячи з того, що в 12 розрядах може бути подане максимальне число 4096, крім того, значення, більші 0ff6, зарезервовані.
Для DOS версії 3.2 16-бітовий формат FAT використовується в тому випадку, коли розмір диска перевищує 20790 секторів (саме секторів, а не кластерів). Фактично це означає, що 16-бітовий формат використовується тільки для дисків, що мають розмір більш 10 мегабайт.
Сектор завантажувального запису (BOOT-сектор) диска, відформатованого в DOS версії 4.0 у полі зі зсувом 36h містить вісьмибайтовий рядок, що ідентифікує формат FAT. Вона має вигляд "FAT12 " або "FAT16 ". Можна використовувати це поле для визначення формату FAT. У структурі BOOT, описаної у файлі sysp. h, це поле назіваетcя fat_format.
Якщо рзділи на жорсткому диску створювалися утілітою DOS FDISK, формат FAT можна визначити, аналізуючи вміст поля sys головного завантажувального запису (Master Boot Record). Якщо це поле містить значення 1, використовується 12-бітовий формат, якщо 4 - 16-бітовий. Проте диск, підготовлений програмами диск-менеджерів, може мати нестандартний для DOS формат таблиці розділів диска (Partition Table), і поле sys може містити інші розміри, відмінні від 1 і 4.
Формат FAT.
Перший байт FAT називається "Описувач середовища" (Media Descriptor) або байт ID ідентифікації FAT. Він має таке ж значення, як і байт-описувач середовища, що знаходиться в BOOT-секторі логічного диска.
Наступні 5 байтів для 12-бітового формату або 7 байтів для 16-бітового формату завжди містять значення 0ffh.
Вся інша частина FAT складається з 12-бітових або 16-бітових комірок, кожна комірка відповідає одному кластеру диска. Ці комірки можуть містити такі значення: FAT12 FAT16
Що означає 000h0000h – вільний кластер,
ff0h - ff6hfff0h - fff6h – зарезервований кластер,
ff7hfff7h – поганий кластер,
ff8h - fffhfff8h - ffffh – останній кластер у списку,
002h - fefh0002h - ffefh – номер такого кластера в списку.
Безпосередній доступ до FAT може знадобитися для:
організації сканування каталогів для пошуку потрібних файлів;
для читання каталогів як файлів;
для організації захисту інформації від несанкціонованого копіювання.
Загальна схема використання FAT така:
•Читаємо FAT у пам'ять.Як уже зазначалося FAT розташовується відразу після BOOT-сектора (логічний сектор із номером 1). Для точного визначення початкового сектора FAT потрібно прочитати у пам'ять BOOT-сектор і проаналізувати вміст блока параметрів BIOS. У поле ressecs записана кількість зарезервованих секторів, що розташовуються перед FAT. Поле fatsize містить розмір FAT у секторах. Крім того, варто враховувати, що на диску може знаходитися декілька копій FAT. Операційна система використовує тільки першу копію, інші потрібні для утіліт відновлення вмісту диска. Кількість копій FAT знаходиться в полі fatcnt BOOT-сектора.
•Потім необхідно визначити номер першого кластера файла, для якого необхідно визначити його розташування на диску.
•Використовуємо номер першого кластера як індекс у FAT для отримання номера такого кластера.
Повторюємо цю процедуру доти, поки отримане з FAT значення не буде відповідати кінцю файла.
Процедура витягу номера кластера з FAT залежить від формату таблиці розміщення файлів.
16-бітову FAT можна уявити як масив 16-бітових чисел. Для визначення номера такого кластера треба просто отримати 16-бітове значення з FAT, використавши в якості індексу номер попереднього кластера.
Для 12-бітової FAT процедура значно складніша.
Необхідно виконати такі дії:
Рекомендуем скачать другие рефераты по теме: архитектура реферат, проблема дипломной работы, физика и техника.
Предыдущая страница реферата | 1 2 3 4 5 6 | Следующая страница реферата