logo
СПЗ_лекції

2.Реалізація файлів.

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

Найпоширенішою схемою виділення файлам певних блоків на диску є система, в якій файли представляють собою неперервні набори сусідніх блоків диску. Тоді на диску, який складається з блоків по 1 Кбайту, файл розміром 50 Кбайт займе 50 послідовних блоків.

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

Сьогодні неперервні файли широко використовуються на компакт-дисках.

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

Обидва недоліки попередньої схеми організації файлів можуть бути усунені, якщо вказівники на наступні блоки зберігати не прямо в блоках, а в окремій таблиці, яка завантажується в память. На рис. 10.3 показано зовнішній вигляд такої таблиці для файлу А з рис. 10.2. Файл А використовує блоки диску 4, 7, 2, 10 і 12. За допомогою таблиці з рис. 10.3 можна почати з блоку 4 і слідувати по ланцюжку до кінця файла.

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

Ця схема дозволяє використовувати для даних весь блок. Основний недолік цього методу в тому, що вся таблиця повинна постійно знаходитись в памяті. Для 20-гігабайтного диску з блоками розміром 1 Кбайт потрібна таблиця з 20 млн. записів, по одній для кожного з 20 млн. блоків диску. Для прискореного пошуку розмір записів повинен бути збільшений з 3 до 4 байт.