Вы правы в своем мышлении.Разница между временем загрузки и привязкой во время выполнения состоит в том, что во время выполнения каждый раз, когда происходит поиск в памяти, он проходит через «регистр перемещения», который похож на базовый регистр, и затем вы добавляете смещение.
При связывании во время загрузки он делает то же самое, но последующие поиски не требуют оценки этого регистра.Адреса устанавливаются при первом обращении в память.Следовательно, если базовый адрес изменяется, вам необходимо перезагрузить весь процесс, чтобы исправить все перемещаемые адреса.
В случае времени выполнения вы можете перемещать процесс в физической памяти и не нужнобеспокоиться о повторной загрузке, чтобы исправить отображение, потому что каждый раз, когда есть доступ к памяти, он затем отображает его.
Привязка во время загрузки приводит к сопоставлению логических / физических адресов, но во время выполнения приводит к разным логическим/ физические адреса.
Надеюсь, вам это понятнее.Я только начал изучать управление памятью:)