7.3.6 Сигнали реального часу

Сигнали розширення POSIX 1003.1b відіграють важливу роль у додатках реального часу. Вони використовуються для сповіщення процесів про виникнення асинхронних подій, таких як завершення роботи таймера високої роздільної здатності, завершення асинхронного вводу/виводу, прийом повідомлення в порожній черзі повідомлень POSIX і так далі. Деякі переваги, які мають сигнали реального часу стосовно нативних сигналів, перераховані в Таблиці 7.7. Ці переваги роблять їх придатними додатків реального часу. Сигнальні інтерфейси реального часу POSIX.1b перелічені у Таблиці 7.8.

Таблиця 7.7 Порівняння сигналів реального часу та нативних сигналів

Сигнали реального часу

Діапазон призначених для застосування сигналів від SIGRTMIN до SIGRTMAX. Усі сигнали реального часу визначаються у цьому діапазоні, наприклад, SIGRTMIN + 1, SIGRTMIN + 2, SIGRTMAX – 2 тощо.

Тільки два призначені додатки сигналу, SIGUSR1 і SIGUSR2 .

Доставка сигналів може мати пріоритет. Чим менший номер сигналу, тим вищий пріоритет. Наприклад, якщо чекають на обробку сигналів SIGRTMIN і SIGRTMIN + 1, то першим буде доставлений SIGRTMIN.

Немає пріоритету для доставки сигналу.

Відправник може передати приймаючого процесу разом із сигналом реального часу додаткову інформацію.

Разом із сигналом не можна надіслати додаткову інформацію.

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

Сигнали можуть загубитися. Якщо сигнал доставлений до процесу кілька разів, одержувач обробить лише один екземпляр.

Таблиця 7.8 Функції сигналів реальногочасу POSIX.1b