Отключите аппаратные средства и программные прерывания

__ СТРОКА __ литерал документируется в раздел Special Literals perldata страница справочника .

6
задан Taryn East 12 November 2011 в 11:37
поделиться

2 ответа

на x86 и большинстве других современных процессоров вы можете получить атомарные инструкции. Те, которые ГАРАНТИРОВАНО, не должны быть завершены до того, как другой поток / процессор получит доступ к этой памяти.

В Win32 у вас есть функции Interlocked *, которые абстрагируют их от вас на поддерживаемых платформах.

На MIPS многие инструкции могут иметь .I, добавленные в конец инструкции, чтобы гарантировать блокировку.

3
ответ дан 16 December 2019 в 21:43
поделиться

В сборке x86 команды:

  • sti установить бит разрешения прерывания
  • cli очистить бит разрешения прерывания

Эти команды устанавливают и очищают ] Флаг IF . Когда установлен флаг IF, ЦП будет обрабатывать аппаратные прерывания, а когда он снят, ЦП будет игнорировать аппаратные прерывания. Однако это не влияет на обработку немаскируемых прерываний, а также не влияет на программные прерывания или исключения. Эти инструкции также не работают в непривилегированном режиме (обычно все выше, чем кольцо 0, в зависимости от IOPL ).

5
ответ дан 16 December 2019 в 21:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: