Инфо IT 24

IT блог, IT мышление

Механизм сигналов

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

В ответ на получение сигнала процесс-получатель прерывает свое выполнение и начинает выполнять программный код — обработчик сигнала. После выполнения кода обработчика процесс продолжает свое выполнение. Существенным отличием от прерываний здесь является то, что каждый процесс может иметь свой набор обработчиков сигналов, а память, в которой хранится программный код обработчика, — память процесса. Обычный обработчик сигнала — функция, определенная в теле программы. В момент получения сигнала происходит вызов этой функции.

Операционная система поддерживает таблицу обработчиков сигналов для каждого процесса. В ней каждому сигналу ставится в соответствие адрес обработчика сигнала. Например, UNIX – подобные операционные системы поддерживают 16 и более различных сигналов. Более подробно механизм сигналов будет рассмотрен далее.

Статью опубликовал: i24TbloG

Метки:

Из каталога:

Программирование Linux Part C

Предыдущая статья:

Следующая статья: