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

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

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

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

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

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

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

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

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

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

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

1.2. Зв'язок між процесами

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

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

1.2.1. Операційна система з передачею повідомлень

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

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

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