Аннотация:
Рассматриваются разрежённые буфера — диапазоны адресов виртуальной памяти компьютера, для которых частично или полностью отсутствует отображение в физическую память. Такие буфера предназначены для использования в подпрограммах для передачи в них входных или получения из них выходных данных таким образом, что при чтении или записи подпрограммой данных по адресу, для которого не выделена физическая память, происходит вызов зарегистрированной подпрограммы-обработчика исключительной ситуации, выделяющей физическую память для фрагмента виртуальной памяти, к которому произошло обращение, а в случае чтения данных — заполняет выделенный фрагмент необходимыми подпрограмме данными. Действия, производимые подпрограммой-обработчиком, не влияют на исполнение подпрограммы, т. е. происходят незаметно для нее. Такой механизм позволяет избежать ненужного выделения физической памяти в случае, когда количество записанных или считанных подпрограммой данных меньше размера буфера, а в случае чтения данных — сэкономить процессорное время, необходимое для заполнения части буфера данными, которые не будут использованы подпрограммой.