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

Використовування функції Reply()

Після успішного прийому повідомлення від процесу А процес В повинен відповісти йому, використовуючи функцію Reply()

Reply (pid, reply, reply len)

Функція Reply має наступні аргументи:

Pid - ідентифікатор процесу, якому прямує відповідь (тобто процесу А);

Reply - буфер відповіді;

reply len - довжина повідомлення, передаваного у відповіді

Якщо значення reply len у функції Reply() і rmsg len у функції Send() розрізняються, то кількість переданих даних визначається якнайменшим з них.

2.3.5. Reply-керована передача повідомлень

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

Існує ще і інший, менш поширений, ніж Send-керований, але в окремих випадках більш переважний спосіб передачі повідомлень, а саме6

Reply-керований, при якому робота ініціюється функцією Reply(). Відповідно до цього способу "робочий" процес посилає повідомлення обслуговуючому процесу, указуючи на те, що він готовий до роботи. Обслуговуючий процес фіксує, що "робочий" процес послав йому повідомлення, але не відповідає йому негайно. Через деякий час обслуговуючий процес може відповісти "робочому" процесу. "Робочий" процес виконує свою роботу, а потім, завершивши її, посилає обслуговуючому процесу повідомлення, що містить результати.

Порядок виконання роботи

1. Ознайомитись з теоретичними відомостями.

2. Вивчити основні складові операційної системи.

3. Вивчити основи мікроядра.

4. Оформити звіт по лабораторній роботі.

Контрольні питання

    1. Що таке операційна система QNX?

    2. З чого складається система?

    3. Що є основою операційної системи?

    4. QNX як мережа.

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

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

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

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

    9. За що відповідає мікро ядро?

    10. Що таке сигнал?

    11. Що таке повідомлення?

    12. Використовування функції Reply()

    13. Використовування функції Receive()

    14. Використовування функції Send()

11

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