Каково различие между зарезервированной и зафиксированной памятью?

Я понимаю, что память должна быть зарезервирована прежде чем быть фиксировавшим. И когда это резервируется, никакой другой процесс не может использовать его. Однако зарезервированная память не говорит против доступной RAM. Но не был должен это? Поскольку, если никто больше не может использовать его, затем что хороший это "доступно"?

Или есть ли некоторое большее различие?

49
задан skaffman 13 March 2010 в 13:25
поделиться

1 ответ

В контексте Win32 «зарезервировано» означает, что адресное пространство выделено в процессе, который его запросил . Это может быть использовано, например, для резервирования места для большого буфера, который не всегда нужен сразу, но когда это необходимо, он должен быть непрерывным.

Резервирование памяти вообще не взаимодействует с другими процессами, поскольку каждый процесс имеет собственное частное адресное пространство. Таким образом, утверждение, что «когда он зарезервирован, никакой другой процесс не может его использовать» не имеет смысла, поскольку процессы в любом случае обычно не могут выделять память в адресном пространстве другого процесса.

Когда зарезервированные страницы запрашиваются для фиксации (резервное хранилище, выделенное для них), эта операция потенциально может завершиться неудачно из-за нехватки физической памяти (или файла подкачки).

49
ответ дан 7 November 2019 в 11:50
поделиться
Другие вопросы по тегам:

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