Свежий номер №24 (401)  / Особенности национальной автоматизации
 
Дата публикации: 25.06.2001

Сергей Никольский, nikolskys@mail.ru

 
<<  Врезка 1: Ядро и процессы
Врезка 2: Взаимодействие процессов
Врезка 3: Работа с аппаратными прерываниями. Linux в качестве ОС реального времени.  >>

Взаимодействие процессов

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

Но механизм обмена сообщениями не только передает информацию между процессами, но и служит для синхронизации выполнения нескольких процессов. Дело в том, что ядро расценивает факт передачи или приема сообщения как изменение состояния процесса (по сути, генерация сообщения есть результат выполнения некоторой операции). Зная состояние и приоритеты процессов, ядро таким образом может планировать передачу управления между ними, распределяя ресурсы процессора наиболее эффективно.



 
<<  Врезка 1: Ядро и процессы
Врезка 2: Взаимодействие процессов
Врезка 3: Работа с аппаратными прерываниями. Linux в качестве ОС реального времени.  >>


Сергей Никольский
nikolskys@mail.ru
 


<<  Немного об отечественном СУБД-строении
Все материалы номера
It’s Time  >>