Intel 80386 — 32-битный микропроцессор с архитектурой x86 третьего поколения фирмы Intel, выпущенный 17 октября 1985 года. Данный процессор был первым 32-разрядным процессором для PC. Применялся, преимущественно, в настольных и портативных ПК. В настоящее время в основном используется в контроллерах.
Прерывание — одна из базовых концепций вычислительной техники, которая заключается в том, что при наступлении какого-либо события происходит передача управления специальной процедуре, называемой обработчиком прерываний. В отличие от условных и безусловных переходов, прерывание может быть вызвано в любом месте программы, в том числе если выполнение программы приостановлено, и обусловлено обычно внешними по отношению к программе событиями. После выполнения необходимых действий, обработчик прерываний как правило возвращает управление прерванной программе.
Многопото́чность — свойство платформы или приложения, состоящее в том, что процесс, порождённый в операционной системе, может состоять из нескольких потоков, выполняющихся «параллельно», то есть без предписанного порядка во времени. При выполнении некоторых задач такое разделение может достичь более эффективного использования ресурсов вычислительной машины.
Команда приостановки процессора выполняется до тех пор, пока не возникнет аппаратное прерывание. Когда процессор находится в стадии исполнения этой команды, он потребляет минимальное количество энергии, и, следовательно, почти что не выделяет тепла. В процессорах, совместимых с i386, эта команда на языке ассемблера записывается как HLT
, от англ. halt — остановка и имеет опкод 0xF4
.
CPUID — ассемблерная мнемоника инструкции процессоров x86, используется для получения информации о процессоре. Используя её, программа может определить тип процессора и его возможности.
Самомодифицирующийся код (СМК) — программный приём, при котором приложение создаёт или изменяет часть своего программного кода во время выполнения. Такой код обычно применяют в программах, написанных под процессор с фон-неймановской организацией памяти.
В информатике NOP или NOOP инструкция процессора на языке ассемблера, или команда протокола, которая предписывает ничего не делать.
Intel 8259 — семейство программируемых контроллеров прерывания (ПКП), разработанных компанией Intel для микропроцессоров Intel 8080, Intel 8085, Intel 8086 и некоторых Intel 80186. Семейство первоначально состояло из моделей 8259, 8259A и 8259B, но к текущему дню другими производителями были созданы многие другие совместимые модели. 8259 действует как мультиплексор, объединяя несколько источников прерывания в один источник прерывания, чтобы прервать другое устройство, для которого упрощается обработка уровней приоритета прерываний и их возможной вложенности.
Атомарная операция — операция, которая либо выполняется целиком, либо не выполняется вовсе; операция, которая не может быть частично выполнена и частично не выполнена.
Регистр флагов или слово состояния процессора (ССП) — специализированный регистр, отражающий текущее состояние процессора.
Сравнение с обменом — атомарная инструкция, сравнивающая значение в памяти с одним из аргументов, и в случае успеха записывающая второй аргумент в память. Поддерживается в семействах процессоров x86, Itanium, Sparc и других.
Архитектура ARM — система команд и семейство описаний и готовых топологий 32-битных и 64-битных микропроцессорных/микроконтроллерных ядер, разрабатываемых компанией ARM Limited.
Бездействие системы — процесс ядра операционной системы семейства Windows, представляющий собой отдельный поток, работающий тогда, когда процессор не выполняет других потоков. Например, в системе нет работающих потоков, либо все они выполняются на другом процессоре.
Спин-блокировка или спинлок — низкоуровневый примитив синхронизации, применяемый в многопроцессорных системах для реализации взаимного исключения исполнения критических участков кода с использованием цикла активного ожидания. Применяется в случаях, когда ожидание захвата блокировки предполагается недолгим либо если контекст выполнения не позволяет переходить в заблокированное состояние.
DISPATCH LEVEL — уровень приоритета потока, в котором приостановлена вытесняющая многозадачность.
Режим системного управления — режим исполнения на процессорах x86/x86-64, при котором приостанавливается исполнение другого кода, и запускается специальная программа, хранящаяся в SMRAM в наиболее привилегированном режиме.
Режим виртуального 8086 — режим адресации процессоров семейства x86 совместимый с прародителем семейства — процессором Intel 8086. Является подрежимом защищенного. Впервые появился в процессоре 80386 и предназначался главным образом для создания т. н. «виртуальных DOS-машин», виртуальных сред для исполнения приложений господствовавшей в то время в мире персональных ЭВМ операционной системы MS-DOS. Является первой попыткой корпорации Intel внедрить в свои процессоры технологии аппаратной виртуализации.
Int — инструкция на языке ассемблера для процессора архитектуры x86, генерирующая программное прерывание.
Синтаксис инструкции:
int n
,
Язык программирования Java и JVM разработаны с поддержкой параллельных вычислений, и все вычисления выполняются в контексте потока. Несколько потоков могут совместно использовать объекты и ресурсы; каждый поток выполняет свои инструкции (код), но потенциально может получить доступ к любому объекту в программе. В обязанности программиста входит координация потоков во время операций чтения и записи разделяемых объектов. Синхронизация потоков нужна для того, чтобы гарантировать, что одновременно к объекту может обращаться только один поток, и чтобы предотвратить обращение потоков к неполностью обновленным объектам в то время, как с ними работает другой поток. В языке Java есть встроенные конструкции поддержки синхронизации потоков.
Семафо́р — примитив синхронизации работы процессов и потоков, в основе которого лежит счётчик, над которым можно производить две атомарные операции: увеличение и уменьшение значения на единицу, при этом операция уменьшения для нулевого значения счётчика является блокирующейся. Служит для построения более сложных механизмов синхронизации и используется для синхронизации параллельно работающих задач, для защиты передачи данных через разделяемую память, для защиты критических секций, а также для управления доступом к аппаратному обеспечению.