Архітектура сучасних файлових систем

 

Рис. __

 

Розробники нових операційних систем прагнуть забезпечити користувача можливістю працювати одразу з декількома файловими системами. В такому випадку узагальнена файлова система має багаторівневу структуру, на верхньому рівні якої розташований перемикач файлової системи (в Win 9х це „встановлюваний” диспетчер файлової системи - Installable File System manager - IFS). Він забезпечує інтерфейс між запитами прикладної системи та конкретною файловою системою, до якої виконується звертання. Перемикач перетворює запити у формат, який сприймається наступним рівнем - рівнем файлових систем.

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

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

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

 


Лекція 7. Інтерфейс прикладного програмування API
(application program interface)

 

АРІ – призначений для використання прикладними програмами системних ресурсів ОС і функцій, які ОС реалізуються.

АРІ – описує сукупність функцій і процедур, які належать ядру або надбудовам ОС. Тобто АРІ – це набір функцій, які надаються системою програмування розробнику прикладної програми і які орієнтовані на організацію взаємодії результуючої прикладної програми із сукупністю програмних та апаратних засобів, в оточенні яких виконується результуюча програма. Сама результуюча програма породжується системою програмування, ґрунтуючись на коді вихідної програми, створеної програмістом, а також об’єктних модулів і бібліотек, які входять до складу системи програмування.

АРІ використовується не тільки прикладними, а також і системними програмами як в складі ОС, так і в складі системи програмування.

Функції АРІ дозволяють розробнику будувати результуючу прикладну програму таким чином, щоби використати засоби обчислювальної системи для виконання типових операцій. При цьому розробник програми не повинен створювати вихідний код для виконання цих операцій.

Програмний інтерфейс АРІ включає в себе не тільки самі функції, але і домовленості про їх використання, які регламентуються ОС, архітектурою обчислювальної системи і системою.

Існує декілька варіантів реалізації АРІ:

1. Реалізація на рівні ОС.

2. Реалізація на рівні системи програмування.

3. Реалізація на рівні зовнішньої бібліотеки процедур і функцій.

В кожному з цих варіантів розробнику надаються засоби для підключення функцій АРІ до вихідного коду програми і організації їх викликів. Об’єктний код функцій АРІ підключається до результуючої програми компонувальником при необхідності.