Java — строго типизированный объектно-ориентированный язык программирования общего назначения, разработанный компанией Sun Microsystems. Разработка ведётся сообществом, организованным через Java Community Process; язык и основные реализующие его технологии распространяются по лицензии GPL. Права на торговую марку принадлежат корпорации Oracle.
rdtsc — ассемблерная инструкция для платформ x86 и x86_64, читающая счётчик TSC и возвращающая в регистрах EDX:EAX 64-битное количество тактов с момента последнего сброса процессора.
Windows NT — линейка операционных систем (ОС) производства корпорации Microsoft и название первых версий ОС.
Взаи́мная блокиро́вка — ситуация в многозадачной среде или СУБД, при которой несколько процессов находятся в состоянии ожидания ресурсов, занятых друг другом, и ни один из них не может продолжать свое выполнение.
Переполнение буфера — явление, возникающее, когда компьютерная программа записывает данные за пределами выделенного в памяти буфера.
Руткит — набор программных средств, обеспечивающих:
- маскировку объектов ;
- управление ;
- сбор данных.
Профилирование — сбор характеристик работы программы, таких как время выполнения отдельных фрагментов, число верно предсказанных условных переходов, число кэш-промахов и т. д. Инструмент, используемый для анализа работы, называют профилировщиком или профайлером. Обычно выполняется совместно с оптимизацией программы.
Отла́дка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки. Чтобы понять, где возникла ошибка, приходится:
- узнавать текущие значения переменных;
- выяснять, по какому пути выполнялась программа.
Динамический анализ кода — анализ программного обеспечения, производящийся при помощи выполнения программ на реальном или виртуальном процессоре. Утилиты динамического анализа могут требовать загрузки специальных библиотек, перекомпиляцию программного кода. Некоторые утилиты могут инструментировать исполняемый код в процессе исполнения или перед ним. Для большей эффективности динамического анализа требуется подача тестируемой программе достаточного количества входных данных, чтобы получить более полное покрытие кода. Также следует позаботиться о минимизации воздействия инструментирования на исполнение тестируемой программы.
Обрабо́тчик прерыва́ний — специальная процедура, вызываемая по прерыванию для выполнения его обработки. Обработчики прерываний могут выполнять множество функций, которые зависят от причины, которая вызвала прерывание.
Атрибут (бит) NX-Bit или XD-Bit — бит запрета исполнения, добавленный в страницы для реализации возможности предотвращения выполнения данных как кода. Используется для предотвращения уязвимости типа «переполнение буфера», позволяющей выполнять произвольный код на атакуемой системе локально или удалённо. Технология требует программной поддержки со стороны ядра операционной системы.
Пото́к выполне́ния — наименьшая единица обработки, исполнение которой может быть назначено ядром операционной системы. Реализация потоков выполнения и процессов в разных операционных системах отличается друг от друга, но в большинстве случаев поток выполнения находится внутри процесса. Несколько потоков выполнения могут существовать в рамках одного и того же процесса и совместно использовать ресурсы, такие как память, тогда как процессы не разделяют этих ресурсов. В частности, потоки выполнения разделяют последовательность инструкций процесса и его контекст — значения переменных, которые они имеют в любой момент времени.
OpenMP — открытый стандарт для распараллеливания программ на языках Си, Си++ и Фортран. Даёт описание совокупности директив компилятора, библиотечных процедур и переменных окружения, которые предназначены для программирования многопоточных приложений на многопроцессорных системах с общей памятью.
Intel Parallel Studio — пакет разработки распараллеленного программного обеспечения, разработанный фирмой Intel, сочетающий в себе C/C++ компилятор и Fortran компилятор, различные библиотеки, инструменты профилирования и многое другое. В комплект поставки входят программные продукты:
- Intel Parallel Advisor,
- Intel Parallel Composer,
- Intel Parallel Inspector,
- Intel VTune Amplifier.
Intel VTune Performance Analyzer — коммерческое приложение для анализа производительности программ для компьютеров на базе x86-процессоров, причём программа имеет как графический интерфейс пользователя, так и поддержку командной строки. Программа доступна для Linux и для Microsoft Windows.
Отладчик использования памяти — инструментальное программное обеспечение для обнаружения утечек памяти и переполнений буфера. Это происходит из-за ошибок, связанных с выделением и освобождением динамической памяти. Программы, написанные на языках, обладающих поддержкой сборки мусора, как например, управляемый код, могут также нуждаться в отладчиках использования памяти, например, для выявления утечек памяти из-за «живых» ссылок в сборках.
Неблокирующая синхронизация — подход в параллельном программировании на симметрично-многопроцессорных системах, в котором отходят от традиционных примитивов блокировки, таких, как семафоры, мьютексы и события. Разделение доступа между потоками идёт за счёт атомарных операций и специальных, разработанных под конкретную задачу, механизмов блокировки.
Режим виртуального 8086 — режим адресации процессоров семейства x86 совместимый с прародителем семейства — процессором Intel 8086. Является подрежимом защищенного. Впервые появился в процессоре 80386 и предназначался главным образом для создания т. н. «виртуальных DOS-машин», виртуальных сред для исполнения приложений господствовавшей в то время в мире персональных ЭВМ операционной системы MS-DOS. Является первой попыткой корпорации Intel внедрить в свои процессоры технологии аппаратной виртуализации.
Meltdown — аппаратная уязвимость категории утечка по стороннему каналу, обнаруженная в ряде микропроцессоров, в частности, производства Intel и архитектуры ARM. Meltdown использует ошибку реализации спекулятивного выполнения команд в некоторых процессорах Intel и ARM, из-за которой при спекулятивном выполнении инструкций чтения из памяти процессор игнорирует права доступа к страницам.
Parallel Extensions — библиотека управляемого параллелизма, разработанная в результате сотрудничества Microsoft Research и группы CLR в Microsoft. Библиотека была выпущена в версии 4.0 .NET Framework. Она состоит из двух частей: Параллельный LINQ (PLINQ) и Библиотека параллельных задач (TPL). Она также состоит из набора структур данных координации (CDS) — наборов структур данных, используемых для синхронизации и координации выполнения параллельных задач.