4. Загальна модель файлової системи

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

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

Загальну модель файлової системи представляють двома випадками: перший випадок - файлова система містить 4 рівні, другий випадок - 5 рівнів.

Загальна модель файлової системи:

Перший випадок:

Снимок112.JPG

Другий випадок:

11333.JPG

Розглянемо детальныше другий випадок загальноъ моделы файловоъ системи.

Символьний рівень. Якщо файл має тільки одне символьне ім'я (наприклад MS-DOS), то у такій файловій системі символьний рівень відсутній, тому що символьне ім'я є унікальним і може бути використане операційною системою(ОС). Якщо файлова система має файл, який може мати кілька символьних імен, то на цьому рівні проглядається ланцюжок каталогів для визначення унікального імені файлу.

Базовий рівень. Характеристики файлу можуть входити до каталогу чи збурігатися в окремих таблицях. Якщо файл відкрити, то його характеристики переміщуються з диска в оперативну пам'ять. Це відбувається для того, щоб зменшити середній час доступу до файлу. Є такі файлові системи (наприклад, HPFS), у яких при відкритті файлу в оперативну пам'ять переміщаються не тільки його характеристики, але й трохи перших блоків файлу, що містять дані.

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

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

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

Снимок113.JPG

Мал. 2. Функції фізичного рівня файлової сисеми.

Вихідні дані:

V - розмір блоку,

N - номер першого блоку у файлі,

S - зсув логічного запису у файлі.

Потрібно визначити на фізичному рівні:

n - номур блоку, що містить необхідний логічний запис,

s - зсув логічного запису в межах блоку.

n=N+[S/V], де [S/V] - ціла частина числа S/V;

s=R[S/V] - дробова частина числа S/V.

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

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