Взаимодействие процессов
Рассмотрим (опять же на примере QNX) еще одну принципиальную особенность ОС реального времени - взаимодействие процессов на основе сообщений. Когда в системе выполняются несколько процессов одновременно (надеюсь, не нужно пояснять, что под словом «одновременно» понимается мультизадачность с разделением времени), ОС должна предоставлять механизм для коммуникации процессов друг с другом. В QNX этот механизм - Interprocess Communication (IPC) - основан на передаче сообщений (кстати, QNX была первой коммерческой ОС своего класса, взявшая механизм передачи сообщений в качестве основы взаимодействия процессов). Сообщение представляет собой просто пакет байтов, структура которого не имеет значения ни для кого, кроме отправителя и получателя, включая само ядро.
Но механизм обмена сообщениями не только передает информацию между процессами, но и служит для синхронизации выполнения нескольких процессов. Дело в том, что ядро расценивает факт передачи или приема сообщения как изменение состояния процесса (по сути, генерация сообщения есть результат выполнения некоторой операции). Зная состояние и приоритеты процессов, ядро таким образом может планировать передачу управления между ними, распределяя ресурсы процессора наиболее эффективно.