Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СРВ complete edition епта.docx
Скачиваний:
17
Добавлен:
24.09.2019
Размер:
488.03 Кб
Скачать

187. Что такое таймаут?

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

Наиболее часто такая потребность возникает при обмене сообщениями: клиент, посылая сообщение серверу, не желает ждать ответа вечно. В этом случае удобно использовать вызовы ядра, устанавливающие тайм-ауты на состояния блокировки. Тайм-аут также полезен в сочетании с функцией pthread_join: завершения потока тоже не всегда хочется ждать. Ответственной за формирование тайм-аутов ядра является функция timer_timeout(), представленная в следующем фрагменте.

188. Для чего предназначен примитив синхронизации условная переменная?

Позволяет потокам ожидать выполнения некоторого условия (события), связанного с разделяемыми данными. Над ней определены две основные операции: wait и signal. Нить, выполнившая операцию wait, блокируется до того момента, пока другая нить не выполнит операцию signal. Таким образом, операцией wait первая нить сообщает системе, что она ждет выполнения какого-то условия, а операцией signal вторая нить сообщает первой, что параметры, от которых зависит выполнение условия, возможно, изменились. Используется для проверки секции по условию pthread_cond_wait/signal/broadcast/timeout().

189. Нарисуйте график загрузки процессора системой периодических задач с заданными параметрами при планировании их по rm-алгоритму.

190. Нарисуйте график загрузки процессора системой периодических задач с заданными параметрами при планировании их по edf-алгоритму.