В книге я нашел следующее предложение:
Всякий раз, когда у кучного менеджера заканчивается выделенное пространство в сегменте кучи, он явно фиксирует больше памяти и делит вновь выделенное пространство на блоки, поскольку запрашивается все больше и больше отчислений
Означает ли это, когда блок выделяется в сегменте, виртуальная память, используемая пользователем, и метаданные больше не считаются совершенными?
Это из расширенной книги для отладки окон, которую я принимаю, но не уверен, что вы имеете в виду, поскольку вы немного расплывчаты к концу, однако в основном это означает следующее:
Когда вы выделяете кучу пространства, содержимое кучи не обязательно определяется заранее, поэтому вы можете использовать выделенное пространство по своему усмотрению: например, я выделяю 1 мегабайт памяти кучи, а затем я решил заполнить это пространство только 512k или данных, это означало бы, что я совершил половину выделенной кучи, оставив еще 512k бесплатно. Эта память по-прежнему будет отображаться как используемая для ОС, потому что я явно установил выделение кучи на 1024 тыс., Но в следующий раз я использую то же пространство, которое я мог бы использовать больше или меньше, чем 512k, которые я использовал в прошлый раз, до того количества, которое у меня есть выделено для использования. Сумма, которую вы используете в данной точке, - это фиксация, сумма, которую вы выделили, - это распределение.
Все это значительно упрощено, и я бы рекомендовал читать такие источники, как:
Как хорошие источники, чтобы начать работу с памятью и ее использование в C++.
Если есть что-то конкретное или более подробное, о чем вы можете подумать (ваш вопрос немного неясен), дайте мне знать, и я свяжусь с вами как можно скорее.
Нет. Выделенные блоки являются частью памяти.