Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MOS-labs-3.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
655.36 Кб
Скачать

Мікроядро

Мікроядро QNX відповідає за виконання наступних функцій:

  • зв’язок між процесами - мікроядро керує маршрутизацією повідомлень; воно також підтримує і інші форми IPC сигнали, прапорців;

  • мережевий інтерфейс низького рівня - мікроядро здійснює доставку всіх повідомлень, призначених для процесів на інших вузлах мережі;

  • диспетчеризація процесів - входить до складу ядра, планувальник вирішує, якому з запущених процесів повинно передаватись управління;

  • первинна обробка переривань - всі апаратні переривання і виключення спочатку проходять через мікроядро, а потім передаються відповідному драйверу або системному менеджеру.

Рис. 2. Внутрішнє улаштування мікроядра QNX.

Системні і користувацькі процеси

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

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

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

Припустимо, що ви написали сервер бази даних. Як же повинен бути класифікований цей процес?

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

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

Драйвери пристроїв

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

Так як драйвери запускаються як звичайні процеси, додавання нового драйвера в QNX не впливає на інші частини операційної системи. Таким чином, додавання нового драйвера в QNX не вимагає нічого, окрім безпосередньо запуску цього драйвера.

Після запуску і завершення процедури ініціалізації, драйвер може вибрати один з двох варіантів поведінки:

• стати розширенням певного системного процесу;

• продовжувати виконання як незалежний процес.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]