2015-07-06 2 views
0

Что произойдет, если работающая цепочка будет прервана аппаратным прерыванием. Я имею в виду, если в середине выполнения есть таскетка и происходит прерывание аппаратного обеспечения. Завершает ли тасклет его выполнение до того, как будет запущен код прерывания, или задача будет выполнена после прерывания.Что произойдет, если рабочая цепочка будет прервана аппаратным прерыванием

ответ

0

Задачи могут быть прерваны аппаратными прерываниями. См., Например, this.

2

Обычно аппаратное прерывание будет выполнено немедленно. По возвращении тасклет возобновит выполнение.

Возможно и даже распространено то, что в течение коротких критических разделов манипулятор будет отключать прерывания при работе с общими структурами данных.

+0

Означает ли это, что, когда прерывание прерывается аппаратным прерыванием, состояние таскателя сохраняется, а тасклет снова возобновляется из того же состояния? –

+0

Контекст регистров сохраняется в текущем локальном стеке (ядре). Ничто не сохраняется и ничего не переключается (т. Е. Обработчик прерываний работает в одном стеке). Когда обработчик прерывания возвращается, регистры выводятся из стека, и тасклет возобновляется. –

Смежные вопросы