Почему подпрограмма обработки прерываний не может содержать большинство системных вызовов - PullRequest
0 голосов
/ 14 марта 2012

Это одно из правил при написании обработчика прерываний: обработчик не может вызывать библиотечные подпрограммы, содержащие вызовы ядра, за исключением InterruptDisable (), InterruptEnable (), InterruptLock (), InterruptMask (), InterruptUnlock () иInterruptUnmask (),Почему не может содержать системные вызовы?

1 Ответ

0 голосов
/ 19 февраля 2013

Причина, по которой прерывание может произойти в любое время; это могло произойти при выполнении другого системного вызова, который манипулирует структурами данных ядра; следовательно, это необходимо для обеспечения взаимного исключения. если вы сделаете системный вызов, это может повредить структуры данных.

...