резервирование и фиксация памяти

Я читаю и вот вам цитата.

Когда процесс создается и задается его адресное пространство, большая часть этого доступное адресное пространство бесплатно, или нераспределенный. Чтобы использовать части этого адресное пространство, вы должны выделить регионов внутри него, позвонив VirtualAlloc. Акт о выделении область называется резервированием .

Для использования зарезервированной области адреса пространство, необходимо выделить физическое хранилище, а затем сопоставьте это хранилище с заповедный регион. Этот процесс называется фиксацией физического хранилища .

После того, как вы зарезервировали регион, вы необходимо передать физическое хранилище в регион, прежде чем вы сможете получить доступ к адреса памяти, содержащиеся в нем. Система выделяет физическую память привержен региону из системный файл подкачки.

Вот пара вопросов:

  • Почему мы должны следовать парадигме резервирования и комита при использовании памяти? т.е. почему нам нужно следовать этой двухэтапной парадигме вместо того, чтобы напрямую выделять физическую память и использовать ее?

  • Если физическая память, выделенная для области, выделяется из файла подкачки системы, зачем нам ОЗУ ( звучит смешно)? На мой взгляд, область адресного пространства должна быть отображена в ОЗУ (через механизм подкачки), а страницы ОЗУ должны поддерживаться файлом подкачки.

Возможно, на этот вопрос можно было бы ответить, объяснив следующие 2 аспекта:

  • Что делает резервирование?

  • Что делает коммит?

Обновление - 1 14:48 23.11.2010

Это следующая цитата из , которая заставляет меня озадаченный.

... хранение в виде данных, хранящихся в пейджинге файл на диске. Итак, когда приложение фиксирует физическое хранилище в область адресного пространства вызов функции VirtualAlloc, пространство фактически выделено из файл на жестком диске .

После того, как вы зарезервировали регион, вы необходимо передать физическое хранилище в регион, прежде чем вы сможете получить доступ к адреса памяти, содержащиеся в нем. Система выделяет физическую память, выделенную для региона из файл подкачки системы.

Итак, где ОЗУ? Что, если я сконфигурирую свой компьютер так, чтобы не было файла подкачки?

10
задан Cœur 15 April 2017 в 16:39
поделиться