Таблиці розміщення файлів

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

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

Директорія (або каталог) це список 32-байтних елементів, кожен з яких описує будь-якої файл або каталог. Є лише одна спеціальна директорія, яка завжди має бути присутня на диску, це коренева директорія (Root Directory), яка розташовується відразу після останньої копії FAT. Файлова система має деревоподібну структуру - в кореневому каталозі розташовуються 32-байтові елементи, які містять інформацію про інших (вкладених) каталогах, ті в свою чергу містять вкладені каталоги наступного рівня і так далі.

Розмір кореневого каталогу задається при форматуванні і визначає максимальну кількість файлів і каталогів, які можуть бути описані в кореневому каталозі (У FAT32 кореневої можна вільно нарощувати за потребою, подібно будь-якому іншому каталогу.).

Область файлів і каталогів, поняття кластера

Після кореневого каталогу на диску йдуть сектора, де власне і зберігаються файли і каталоги (всі каталоги крім кореневого теж можна розглядати як особливі файли). Ця область називається областю файлів і каталогів (File and Directory Data Region) або просто областю даних. Область даних призначена для розміщення всіх файлів і всіх каталогів, крім кореневого каталогу.

Вся ця область розділена на так звані кластери. Кластер (cluster) - це логічна одиниця зберігання даних, яка об'єднує групу секторів. Наприклад, на дисках з розміром секторів в 512 байт, 512-байтний кластер містить один сектор, тоді як 4-кілобайтний кластер містить вісім секторів. Це найменше місце на диску, яке може бути виділено для зберігання файлу.

Розмір кластера (число секторів) вибирається кратним ступеня числа 2 (розмір кластера може бути описаний формулою 2 n * 512). Це означає, що кластер може мати розмір 512, 1024, 2048, 4096 і.т.д. байт. Конкретний розмір кластера на диску задається при його форматуванні в залежності oт обсягу диска і розміру FAT Файл на диску займає ціле число кластерів, від одного до всіх кластерів, що входять в область даних. Кількість файлів на диску не може перевищувати кількості кластерів

Кожен кластер має свій номер, який може використовуватися для вказівки місця на диску.

Структура каталогу і дескриптора файлу

Як ми вже говорили, будь-який каталог містить 32-байтові елементи - дескриптори (Descriptor - дослівно описатель, описовий елемент), що описують файли та інші каталоги. Поля дескриптора описують різні характеристики файлу (або каталогу). Наведемо формат дескриптора файлу (Таблиця 6):

Таблиця 6 Формат дескриптора файлу