Карта памяти Как укладывается стек и какова граница стека

1 ответ

Адреса, видимые процессором, являются всегда виртуальными адресами. Следовательно, конец памяти конец виртуальной памяти. Вы можете иметь очень большие адреса, например 2 ^ 32-x, но это виртуальные адреса.

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

Между секциями данных и кучи и стеком находится большой объем неиспользуемой свободной виртуальной памяти, которая не выделяется ОС. Таким образом, нет риска выделить 4 ГБ для процесса.

0
ответ дан Alain Merigot 3 March 2019 в 10:01
поделиться
Другие вопросы по тегам:

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