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

15. Виды межпроцессных коммуникаций. Очереди сообщений. Сигналы.

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

Очереди сообщений

С помощью очередей можно из одной или нескольких задач независимым образом посылать сообщения некоторой задаче-приёмнику. При этом только процесс-приёмник может читать и удалять сообщения из очереди, а процессы-клиенты имеют право лишь помещать в очередь свои сообщения. Таким образом, очередь работает только в одном направлении. Если же необходима двухсторонняя связь, то можно создать две очереди.

Работа с очередями сообщений имеет много отличий от работы с конвейерами. Во-первых, очереди сообщений предоставляют возможность использовать несколько дисциплин обработки сообщений:

  • FIFO – сообщение, записанное первым, будет первым и прочитано;

  • LIFO – сообщение, записанное последним, будет прочитано первым;

  • приоритетный – сообщения читаются с учётом их приоритетов;

  • произвольный доступ, то есть можно читать любое сообщение, тогда как канал обеспечивает только дисциплину FIFO.

Во-вторых, если при чтении сообщения из канала (конвейера) оно удаляется из него, то при чтении сообщения из очереди этого не происходит, и сообщение при желании может быть прочитано несколько раз.

Сигналы

Сигналами (signals) называют программные прерывания, уведомляющие процесс о наступлении определенного события. Сигнал – простейшая форма межпроцессого взаимодействия, которое используется для передачи от одного процесса другому или ядра системы какому-либо процессу уведомления о возникновении определенного события. Сигналы не позволяют процессам обмениваться друг с другом какой-либо информацией. Системные сигналы зависят от операционной системы и типов программных прерываний, поддерживаемых определенным процессором. При поступлении сигнала операционная система сначала определяет кому предназначен данный сигнал, а потом – как процесс должен на него отреагировать. Процессы могут:

  • перехватывать сигналы;

  • игнорировать сигналы;

  • маскировать сигналы.

16. Виды межпроцессных коммуникаций. Конвейер. Сокеты.

Конвейер

Конвейер (pipe – программный канал (связи), или, как его иногда называют, транспортер) является средством, с помощью которого можно производить обмен данными между процессами.

Системные запросы по работе с конвеером:

1. Создание конвеера

2. Удаление конвеера

3. Запись

4. Чтение

17. Понятие системных часов, таймера.

Таймер – устройство-счетчик, инициирует прерывания через определенные промежутки времени (состоит из кварцевого генератора, счетчика и регистра хранения)

Функции:

  1. Следят за временем суток.

  2. Не позволяют процессам работать дольше, чем им разрешено.

  3. Ведут учет использования центрального процессора.

  4. Обрабатывают системный вызов alarm, инициированный процессом пользователя.

  5. Поддерживают следящие таймеры для операционной системы.

  6. Ведут наблюдение, анализ и сбор статистики.