Реферат: Файлова система FAT

Відразу після завантажувального сектора на логічному диску знаходяться сектори, що містять таблицю розміщення файлів FAT (File Allocation Table).

Для того, щоб призначення цієї таблиці стало більш зрозумілим, розглянемо, як організоване збереження інформації на різноманітних носіях даних.

Магнітні стрічки.

При використанні магнітних стрічок інформація записується у вигляді файлів із послідовним доступом. Послідовний доступ означає, що для читання якогось файла потрібно спочатку прочитати всі попередні файли. При записі інформація може добавлятися в кінець стрічки, після тієї інформації, що була записана востаннє.

Якщо ви спробуєте перезаписати файл, то це може привести до втрати усіх файлів, розташованих на магнітній стрічці після нього (цього файла).

Доступ до інформації, записаної на магнітному диску, може виконуватися або послідовним, або прямим методом доступу. Використання прямого методу доступу дозволяє позиціонувати головки відразу на той файл, що вам потрібний (або на потрібний запис файла). Наприклад, ви можете задати номер сектора на визначеній доріжці і номер голівки.

Але метод доступу – це ще не усе. Важливе значення має засіб розподілу місця на диску для файлів. Від правильного вибору засобу розподілу залежить ефективність роботи програм.

Операційна система дозволяє задати початкову кількість циліндрів диска для розміщення набору даних і розмір області диска, що може бути використана для цього набору додатково. Якщо при записі у файл усе розподілене для файла місце на диску виявиться вичерпаним, програма завершиться аварійно, навіть якщо на диску ще є вільні циліндри.

Операційні системи, такі як DOS, UNIX, OS/2 використовують дисковий простір іншим способом.

У цих операційних системах при створенні файла для нього не задається початковий розподіл пам'яті в доріжках або секторах. У міру того, як файл збільшується в розмірах, операційна система відводить цьому файлу сектори з числа вільних, не використовуваних іншими файлами. При цьому файл розташовується не обов'язково в суміжних областях диска, він може бути розкиданий по різних доріжках і секторах.

Очевидно, що в цьому випадку операційна система повинна вести облік використовуваних ділянок диска. Для кожного файла вона повинна берегти десь інформацію про те, якому файлу які ділянки диска відведені.

Як правило в операційних системах для збереження цієї інформації використовується таблиця розміщення файлів.

Весь диск розбивається операційною системою на ділянки однакового розміру, які називаються кластерами. Кластер може містити декілька секторів. Для кожного кластера FAT має свою індивідуальну комірку , в якій зберігається інформація про використання даного кластера. Іншими словами, таблиця розміщення файлів - це масив, що містить інформацію про кластери. Розмір цього масиву визначається загальною кількістю кластерів на логічному диску. (Саме кластерів, а не секторів!).

Що зберігається в таблиці розміщення файлів?

Всі вільні кластери позначені в ній нулями. Якщо файл займає декілька кластерів, то ці кластери пов'язані в список. Для пов'язаних у список кластерів елементи таблиці FAT містять номера наступних використовуваних даним файлом кластерів. Кінець списку відзначений у таблиці спеціальним значенням. Номер першого кластера, виділеного файлу, зберігається в елементі каталога, що описує даний файл.

Утиліти операційної системи і деякі спеціальні утиліти перевіряють диск на предмет наявності дефектних областей. Кластери, що знаходяться в цих дефектних областях, відзначаються в FAT як погані і не використовуються операційною системою.

Отже, FAT - масив інформації про використання кластерів диска, містить однозв’язані списки кластерів, розподілених між файлами. Номера початкових кластерів файлів зберігаються в каталогах.

Розглянемо спочатку два формати FAT - 12-бітовий і 16-бітовий. Ці формати використовують, відповідно, 12 і 16 бітів для збереження інформації про один кластер диска.

12-бітовий формат зручний для дискет із невеликою кількістю секторів - уся таблиця розміщення файлів поміщається в одномо секторі. Якщо розмір диска такий, що для представлення всіх секторів дванадцятьох розрядів недостатньо, можна збільшити розмір кластера, наприклад до восьми секторів. Проте великий розмір кластера приводить до неефективного використання дискового простору. Це відбувається через те, що мінімальний виділяємий файлу елемент - кластер - має занадто великий розмір. Навіть для файла, що має довжину 1 байт виділяється цілий кластер. Виходить, якщо розмір кластера складає 8 секторів, то для збереження одного байта буде використано 4 кілобайта дискової пам'яті.

При використанні FAT 16-бітового формату операційна система може працювати з диском, що має розмір більш 32 мегабайт. DOS версії 4.0 при використанні 16-бітового формату FAT і кластерів розміром 4 сектори може працювати з розділами, які по розміру досягають 134 мегабайти.

Як програма визначає формат FAT.

Для 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 – зарезервований кластер,

--> ЧИТАТЬ ПОЛНОСТЬЮ <--

К-во Просмотров: 293
Бесплатно скачать Реферат: Файлова система FAT