Введення у файлові системи, страница 3

У Windows файлова система представляє багаторівневу структуру (рис.1.1), на верхньому рівні якої розташовується вузол вибору файлової системи – вмонтований диспетчер файлової системи (installable file system manager, IFS). Вузол вибору файлової системи забезпечує інтерфейс між незалежною частиною файлової системи і встановленою, до якої виконується звертання.

Рисунок 1.1 — Багаторівнева структура файлової системи

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

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

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

У 1977 році Біллом Гейтсом і Марком Мак Дональдом для операційної системи 86-DOS була розроблена файлова система FAT (File Allocation Table — таблиця розміщення файлів), яка стала основою для ОС MS-DOS 1.0, випущеної в серпні 1981 року. Файлова система FAT була призначена для роботи з гнучкими дисками розміром менше 1 Мбайта, і не передбачала підтримки жорстких дисків. Згодом вона була дороблена для підтримки великих носіїв.

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

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