[windows]: кое-что о отображении между эльфом и васом - PullRequest
0 голосов
/ 17 августа 2011

Я прочитал что-то из вики о виртуальном адресном пространстве (VAS).

Одна вещь, которую я не понимаю, я не уверен, правильно ли я понимаю. Вот оно:

EXE-файл приложения отображается в VAS. Адреса в процессе VAS отображаются в байтах в исполняемый файл. ОС управляет отображением:

           0                                            4GB
VAS        |---vvvvvvv------------------------------------|
mapping        |-----|
file bytes     app.exe

Мой глупый вопрос: что значит «сопоставлен с VAS»? Означает ли это, что исполняемый файл будет загружен в физическую папку?

Ответы [ 2 ]

1 голос
/ 17 августа 2011

VAS, как следует из названия, является виртуальным пространством, поэтому его не нужно связывать с физическим. Это зависит от менеджера памяти, где его загрузить (физическая память или виртуальная память или что-то еще).

0 голосов
/ 17 августа 2011

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

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

...