Использование виртуальной памяти - PullRequest
0 голосов
/ 02 июня 2018

Мне было интересно, может ли кто-нибудь сказать мне, для чего обычно используется нижний предел виртуальной памяти.Я пытался много искать, но не смог найти ответ.Я также прошел через «Компьютерные системы: взгляд программистов», но не смог найти ответ.

Модели онлайн обычно выглядят так: enter image description here

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

РЕДАКТИРОВАТЬ:

Я нашел это: https://gist.github.com/CMCDragonkai/10ab53654b2aa6ce55c11cfc5b2432a4

Который также ссылается на эти ответы SO:

/7871792/dlya-chego-ispolzuetsya-pamyat-do-0x08048000-na-32-bitnoi-mashine

http://stackoverflow.com/questions/12488010/why-the-entry-point-address-in-my-executable-is-0x8048330-0x330-being-offset-of

http://stackoverflow.com/questions/14314021/why-linux-gnu-linker-chose-address-0x400000

1 Ответ

0 голосов
/ 03 июня 2018

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

Все системы виртуальной памяти делят диапазон логических адресов на пространство пользователя и пространство системы.Это абсолютно правильное изображение на диаграмме.Расположение вещей в этих областях может сильно различаться.

Вы специально спрашивали о нижнем конце.Обычно загрузчики устанавливают виртуальное адресное пространство таким образом, чтобы первая страница (или первые несколько страниц) не отображались в адресное пространство.Логические адреса, начинающиеся с нуля, не будут доступны по умолчанию.Это делается для отлова нулевых ссылок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...