Когда ld-linux (загрузчик Linux) загружает приложение, он загружает свои структуры данных ELF в память, строит некоторые структуры (например, GOT) и передает выполнение в точку входа загруженного приложения.Является ли приложение linux загружено в адресное пространство загрузчика?
Является ли загрузка кода и данных этого приложения в адресное пространство загрузчика? Выполняется ли выполнение кода приложения в адресном пространстве загрузчика?
Если нет, то какой механизм ld-linux использует для передачи выполнения загруженным инструкциям?
Ответ (EDIT): Код приложения загружается в адресное пространство загрузчика. Код приложения и загрузчик запускаются в одном и том же адресном пространстве.
К сожалению, я Бесполезный – JC1
Если вы видите второй URL-адрес, он показывает, что выполненный код хранится на жестком диске, а затем выполняется. –
http://www.tenouk.com/ ModuleW_files/ccompilerlinker001.png Этот url показывает весь procss, что, когда исполняемый код хранится в h ard, а затем загрузчик выполняется в адресном пространстве процесса, поэтому я думаю, что это поможет ответить на ваш вопрос. –