Що таке fat-таблиця і кластер

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

Одна частина жорсткого диска містить власне дані, а друга частина - відомості про місце зберігання цих даних (своєрідна картотека). Для створення логічної структури вінчестера служать програми FDISK (створює розділи і логічні диски) і FORMAT (організовує структуру розміщення даних).

Дисковий простір ділиться на розділи декількох типів:

  • Primary DOS Partition (первинний розділ) - область, в якій розміщується ядро ​​ОС і звідки здійснюється її завантаження. Вільне місце може бути використано для зберігання даних. В цьому розділі знаходиться тільки один логічний диск - C: /.
  • Extended DOS Partition (розширений розділ) - додаткова область для розміщення даних. Системні файли тут розміщувати не можуть. Розділ може містити кілька логічних дисків - D: /, E: /, F: / ...
  • Non-DOS Partition (НЕ-ДОС розділ) - це область, в якій можуть розміщувати інші операційні системи.
  • кластер може бути вільним;
  • кластер може бути зіпсованим - непридатним для зберігання даних;
  • кластер може зберігати частину файлу, файл цілком або останню частину файлу.

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

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

Це означає, що розмір кластера жорсткого диска об'ємом 2 Гб системи FAT16 буде дорівнює: 2 Гб / 64 Кб = 32 Кб (2 31/2 16 = 2 15), при цьому кластер буде займати 64 сектора (нагадаємо, що сектор є мінімальною одиницею зберігання інформації будь-якого вінчестера і містить, як правило, 512 байт).

Найцікавіше в цій ситуації, що жорсткий диск об'ємом більше 1 Гб, але до 2 Гб буде мати точно такий же розмір кластера, але їх кількість буде менше.

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

Вихід з ситуації, що склалася шукали шляхом розбиття жорсткого диска на декілька логічних дисків. Кожен логічний диск при цьому утримував свою FAT-таблицю. Наприклад, розбивши вінчестер ємністю 2 Гб на два логічних диска, розмір кластера знижується вдвічі - з 32 Кб до 16 Кб.