Тема 11. Файлові системи FAT, VFAT, FAT32, HPFS.


Файлова система FAT.

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

Структура завантажувального запису.

Файлова система VFAT.

Файлова система FAT32.

Атрибути файлів.

Файлова система HPFS.

Файлова система FAT.

Як ми уже відзначали, абревіатура FAT (file allocation table) розшифровується як «таблиця розміщення файлів». Цей термін відноситься до лінійної табличної структури зі зведеннями про файли — іменами файлів, їхніми атрибутами й іншими даними, що визначають місцезнаходження файлів (чи їхніх фрагментів) у середовищі FAT. Елемент FAT визначає фактичну область диска, у якій зберігається початок фізичного файлу.

У файловій системі FAT логічний дисковий простір будь-якого логічного диска поділяється на дві області (рис.10.6): системну область і область даних.

Рис.10.6. Структура логічного диску

 

Системна область логічного диску створюється і ініціалізується при форматуванні, а потім обновляється при маніпулюванні файловою структурою. Область даних логічного диску містить файли і каталоги, підпорядковані кореневому. Вона, на відміну від системної області, доступна через користувацький інтерфейс DOS. Системна область складається з наступних компонентів, розміщених у логічному адресному просторі підряд:

· завантажуючого запису (boot record, BR);

· зарезервованих секторів (reserved sector, ResSecs);

· таблиці розміщення файлів (file allocation table, FAT);

· кореневого каталогу (root directory, Rdir).

 

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

Таблиця розміщення файлів є дуже важливою інформаційною структурою. Можна сказати, що вона представляє собою карту (образ) області даних, у якій описується стан кожної частини області даних. Область даних розбивають на так звані кластери. Кластер представляє собою один або декілька суміжних секторів у логічному дисковому адресному просторі (точніше – тільки в області даних). У таблиці FAT кластери, які належать одному файлу (не кореневому каталогу), зв'язуються в ланцюги. Для вказівки номера кластера в системі управління файлами FAT-16 використовується 16-бітове слово, з цього виходить, що можна мати до 216=65536 кластерів (з номерами від 0 до 65535).

Кластер – це мінімальна адресуєма одиниця дискової пам‘яті, яка виділяється файлу (чи не кореневому каталогу). Файл чи каталог займає ціле число кластерів. Останній кластер при цьому може бути задіяний не цілком, що приведе до помітної втрати дискового простору при великому розмірі кластера. На дискетах кластер займає один чи два сектори, а на жорстких дисках — у залежності від обсягу розділу (див. табл. 10.3).

Таблиця 10.3. Співвідношення між розміром розділу і розміром кластерів у FAT16

Об‘єм розділу, Мбайт Кількість секторів в кластері Розмір кластерів, Кбайт
16-127
128-255
256-511
512-1023
1024-2047

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

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

Однак занадто великий розмір кластера веде до неефективного використання області даних, особливо у випадку великої кількості маленьких файлів. Як ми тільки що помітили, у середньому на кожен файл губиться біля половини кластера. З табл. 4.3 випливає, що при розмірі кластера в 32 сектори (обсяг розділу - від 512 Мбайт до 1023 Мбайт), тобто 16 Кбайт, середня величина втрат на файл складе 8 Кбайт, і при числі файлів у кілька тисяч втрати можуть складати більше 100 Мбайт. Тому в сучасних файлових системах (до них, насамперед, варто віднести HPFS, NTFS, FAT32 і деякі інші, підтримувані ОС сімейства UNIX) розміри кластерів обмежуються (звичайно - від 512 байт до 4 Кбайт). У FAT32 проблема зважується за рахунок того, що власне сама FAT у цій файловій системі може містити до 228 кластерів. Нарешті, помітимо, що системи керування файлами, створені для Windows 9х і Windows NT, можуть працювати з роздачами розміром до 4 Гбайт, на яких встановлена система FAT, тоді як DOS, природно, з такими розділами працювати не зможе.

Досить наочно ідея файлової системи з використанням таблиці розміщення файлів FAT проілюстрована мал. 4.7. З цього малюнка видно, що файл з ім'ям MYFILE.TXT розміщається починаючи з восьмого кластера. Усього файл MYFILE.TXT займає 12 кластерів. Ланцюжок кластерів (chain) для нашого прикладу може бути записаний в такий спосіб: 8, 9, 0А, 0В, 15, 16, 17, 19, 1А, 1В, 1C, ID. Кластер з номером 18 позначений спеціальним кодом F7 як поганий (bad), він неможе бути використаний для розміщення даних. При форматуванні звичайно перевіряється поверхня магнітного диска, і ті сектори, при контрольному читанні з який відбувалися помилки, позначаються в FAT як погані. Кластер ID позначений кодом FF як кінцевий (останній у ланцюжку) кластер, що належить даному файлу. Вільні (незайняті) кластери позначаються кодом 00; при виділенні нового кластера для запису файлу береться перший вільний, кластер. Оскільки файли на диску змінюються — знищуютьсяся, переміщаються, збільшуються чи зменшуються, — то згадане правило виділення першого вільного кластера для нової порції даних приводить до фрагментації файлів, тобто дані одного файлу можуть розташовуватися не в суміжних кластерах, а, часом, в дуже віддалених один від одного, утворюючи складні ланцюжки. Природно, що це приводить до істотного уповільнення роботи з файлами.

 

Рис.10.7. Основна концепція FAT

Так, як FAT використовується при доступі до диска дуже інтенсивно, вона звичайно завантажується в ОЗУ (в буфери введення/виведення чи кеш) і залишається там настільки довго, наскільки це можливо.

У зв'язку з надзвичайною важливістю FAT вона звичайно зберігається в двох ідентичних екземплярах, другий з який безпосередньо слідує за першим. Обновляються копії FAT одночасно. Використовується ж тільки перший екземпляр. Якщо він за якимись причинами виявиться зруйнованим, то відбудеться звертання до другого екземпляра. Так, наприклад, утиліта перевірки і відновлення файлової структури ScanDisk з ОС Windows 9x при виявленні невідповідності первинної і резервної копії FAT пропонує відновити головну таблицю, використовуючи дані з копії.

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

Таблиця 4.4. Елемент каталогу

Розмір поля даних, байт Вміст поля
Ім‘я файлу чи каталогу
Атрибути файлу
Резервне поле
Час створення
Дата створення
Дата останнього доступу
Зарезервовано
Час останньої модифікації
Дата останньої модифікації
Номер початкового кластера в FAT
Розмір файлу

Структура системи файлів є ієрархічною. Це ілюструється рис.10.8, з якого видно, що елементом каталога може бути такий файл, який сам, в свою чергу, являється каталогом.

Рис. 10.8 Структура системи файлів.



Дата добавления: 2016-07-27; просмотров: 1995;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.