Самоучитель по программированию систем защиты



Спин-блокировки - часть 2


В NT имеется два вида спин-блокировок:

  • Обычные спин-блокировки, особым случаем которых являются спин-блокировки отмены запроса ввода/вывода, используемые при организации очередей запросов ввода/вывода (см. раздел «Отмена запросов ввода/вывода»).
  • Спин-блокировки синхронизации прерываний.
  • С обычными спин-блокировками связан IRQL DISPATCH_LEVEL, то есть:

  • все попытки их захвата должны производиться на уровне IRQL, меньшим или равным DISPATCH_LEVEL;
  • в случае захвата спин-блокировки текущий уровень IRQL поднимается до уровня DISPATCH_LEVEL.
  • Со спин-блокировками синхронизации прерываний связан один из уровней DIRQL. Использование обычных спин-блокировок будет описано ниже (за исключением спин-блокировок отмены запросов ввода/вывода, которые были описаны в предыдущем разделе). Использование спин-блокировок синхронизации прерываний будет описано в разделе, посвященном обработке прерываний.




    Содержание  Назад  Вперед