Я пытаюсь понять, как распределение памяти работает на разных этапах компиляции и загрузки программы.Адреса памяти: Linker Vs. Loader
1) Составители и монтажники генерации кода и данных, которые начинаются по адресу 0.
2) Компоновщик эти секции переезжает связывая ячейку памяти с каждым определением символа, а затем изменить все ссылки к этим символам, чтобы они указывали на это место памяти.
3) Загрузчик загружает программу в основную память в контексте процесса и
поэтому на этом этапе выполняется подкачка и все операции, связанные с управлением памятью.
Мой вопрос о двух вещах:
1) Как адреса, назначенных компоновщика, связанных с теми, присвоенным загрузчиком. можно ли назвать ссылки линкера виртуальными адресами?
2) Есть ли все программы имеют одни и те же виртуальные адреса (что, в конечном итоге, отображенные на различные физические адреса?)