
Компью́терная па́мять — часть вычислительной машины, физическое устройство или среда для хранения данных, используемая в вычислениях систем в течение определённого времени. Память, и центральный процессор, неизменно является частью компьютера с 1940-х годов. Память в вычислительных устройствах имеет иерархическую структуру и обычно предполагает использование нескольких запоминающих устройств, имеющих различные характеристики.
Кэш или кеш — промежуточный буфер с быстрым доступом к нему, содержащий информацию, которая может быть запрошена с наибольшей вероятностью. Доступ к данным в кэше осуществляется быстрее, чем выборка исходных данных из более медленной памяти или удалённого источника, однако её объём существенно ограничен по сравнению с хранилищем исходных данных.
Библиоте́ка в программировании — сборник подпрограмм или объектов, используемых для разработки программного обеспечения (ПО). С точки зрения операционной системы (ОС) и прикладного ПО, библиотеки разделяются на динамические и статические.

Проце́сс — выполнение пассивных инструкций компьютерной программы на процессоре ЭВМ. Стандарт ISO 9000:2000 Definitions определяет процесс как совокупность взаимосвязанных и взаимодействующих действий, преобразующих входящие данные в исходящие.
Руткит — набор программных средств, обеспечивающих:
- маскировку объектов ;
- управление ;
- сбор данных.
Виртуа́льная па́мять — метод управления памятью компьютера, позволяющий выполнять программы, требующие больше оперативной памяти, чем имеется в компьютере, путём автоматического перемещения частей программы между основной памятью и вторичным хранилищем. Для выполняющейся программы данный метод полностью прозрачен и не требует дополнительных усилий со стороны программиста, однако реализация этого метода требует как аппаратной поддержки, так и поддержки со стороны операционной системы.
Виртуализа́ция — предоставление набора вычислительных ресурсов или их логического объединения, абстрагированное от аппаратной реализации, и обеспечивающее при этом логическую изоляцию друг от друга вычислительных процессов, выполняемых на одном физическом ресурсе.
Динамическое распределение памяти — способ выделения оперативной памяти компьютера для объектов в программе, при котором выделение памяти под объект осуществляется во время выполнения программы.
Прямой доступ к памяти — режим обмена данными между устройствами компьютера или же между устройством и основной памятью, в котором центральный процессор (ЦП) не участвует. Так как данные не пересылаются в ЦП и обратно, скорость передачи увеличивается.
Mach — микроядро операционной системы, разработанное в Университете Карнеги — Меллона при проведении исследовательских работ в области операционных систем, главным образом распределённых и параллельных вычислений. Это один из самых первых примеров микроядра, но до сих пор он является стандартом для других подобных проектов.
Ку́ча в информатике и программировании — название структуры данных, с помощью которой реализована динамически распределяемая память приложения.

Динамическим называется массив, размер которого, при необходимости, может меняться во время исполнения программы. Для изменения размера динамического массива язык программирования, поддерживающий такие массивы, должен предоставлять встроенную функцию или оператор. Динамические массивы дают возможность более гибкой работы с данными, так как позволяют не прогнозировать хранимые объёмы данных, а регулировать размер массива в соответствии с реально необходимыми объёмами. В отличие от динамических массивов существуют статические массивы и массивы переменной длины. Размер статического массива определяется на момент компиляции программы. Размер массива переменной длины определяется во время выполнения программы. Отличием динамического массива от массива переменной длины является автоматическое изменение размеров, что не трудно реализуется в случаях его отсутствия, поэтому часто не различают массивы переменной длины с динамическими массивами.
Переключение контекста — в многозадачных ОС и средах — процесс прекращения выполнения процессором одной задачи с сохранением всей необходимой информации и состояния, необходимых для последующего продолжения с прерванного места, и восстановления и загрузки состояния задачи, к выполнению которой переходит процессор.
Отображение файла в память — это способ работы с файлами в некоторых операционных системах, при котором всему файлу или некоторой непрерывной его части ставится в соответствие определённый участок памяти. При этом чтение данных из этих адресов фактически приводит к чтению данных из отображенного файла, а запись данных по этим адресам приводит к записи этих данных в файл. Отображать на память часто можно не только обычные файлы, но и файлы устройств.
Кэш микропроце́ссора — кэш, используемый микропроцессором компьютера для уменьшения среднего времени доступа к компьютерной памяти. Является одним из верхних уровней иерархии памяти. Кэш использует небольшую, очень быструю память, которая хранит копии часто используемых данных из основной памяти. Если большая часть запросов в память будет обрабатываться кэшем, средняя задержка обращения к памяти будет приближаться к задержкам работы кэша.
Подкачка страниц — один из механизмов виртуальной памяти, при котором отдельные фрагменты памяти перемещаются из ОЗУ во вторичное хранилище, освобождая ОЗУ для загрузки других активных фрагментов памяти. Такими фрагментами в современных ЭВМ являются страницы памяти.
Защита памяти — это способ управления правами доступа к отдельным регионам памяти. Используется большинством многозадачных операционных систем. Основной целью защиты памяти является запрет доступа процессу к той памяти, которая не выделена для этого процесса. Такие запреты повышают надёжность работы как программ, так и операционных систем, так как ошибка в одной программе не может повлиять непосредственно на память других приложений. Следует различать общий принцип защиты памяти и технологии ASLR или NX-бит.
Контроллер памяти — цифровая схема, управляющая потоками данных между вычислительной системой и оперативной памятью. Может представлять собой отдельную микросхему или быть интегрирована в более сложную микросхему, например, в состав северного моста, микропроцессор или систему на кристалле.
Heap spraying в информационной безопасности — это атака, использующая ошибки в работе с памятью приложения. Атакуя при помощи heap spraying, хакер заставляет приложение выделить память под большое количество объектов, содержащих вредоносный код. При этом повышается вероятность успеха эксплойта, который переносит поток исполнения на некоторую позицию внутри кучи. Важно понимать, что без эксплойта, позволяющего изменять поток исполнения, heap spraying не нанесёт какого-либо вреда. Атака основана на предсказуемости положения кучи в адресном пространстве процесса. Помимо этого, выделение памяти в куче — это детерминированная операция, которая и позволяет с успехом применять эту технику. Heap spraying особенно эффективна в браузерах, где хакер может выделять память, используя несколько строк JavaScript на веб-странице. Важную роль играет сходство выделения памяти в различных операционных системах, что делает эту атаку кроссплатформенной. В результате можно внести определённую последовательность байт в заранее предсказанный адрес в памяти целевого процесса.
Отказ страницы — разновидность аппаратного исключения, возникающего в компьютере с виртуальной памятью на основе подкачки страниц в момент обращения к странице памяти, которая не включена блоком управления памятью в виртуальное адресное пространство процесса. Обращение к этой странице может быть логически допустимым, но может требовать её добавления в таблицу страниц и, возможно, загрузки её содержимого из вторичного хранилища в оперативную память. Обнаружение отказа страницы выполняет аппаратное обеспечение, а его обработку выполняет программное обеспечение, обычно являющееся частью ядра операционной системы. При обработке отказа страницы операционная система пытается поместить требуемую страницу в оперативную память и сделать доступной процессу, либо завершает программу в случае недопустимого обращения к памяти.