Эффективная обра­ботка прерываний

Для некоторых целей, в частности, для эффективной обра­ботки прерываний от устройств ввода/вывода и внешней памя­ти, было бы полезно еще больше сократить накладные расходы на обращение к кластеру за счет сведения к минимуму пере­даваемых параметров. Некоторые входы в кластер объявля­ются входами «прерывания» (эти входы не могут быть одновре­менно входами отстройки) — при обращении на такой вход кластер-объект не получает никаких параметров (в том числе и обязательного в других случаях идентификатора подключе­ния, через который выполнялся ПУСК), кроме самого факта обращения на данный вход. Для таких входов ядру не тре­буется сложной буферизации обращений; достаточно иметь при входе счетчик обращений, который увеличивался бы на «1» при ПУСКе на этот вход и уменьшался бы на «1» при выборке об­ращения по этому входу в результате СТОПа.

В подсистеме управления вводом/выводом каждому внешне­му устройству соответствует свой кластер устройства. Прерыва­ние от устройства, поступающее в ядро, универсально интерпре­тируется им как пуск на вход прерывания кластера устройства.

Метки: , , ,

Связанные записи