Переезд (вычисления)

Оглавление1 Перемещение (вычислительная техника)1.1 Основы перемещения1.2 Компоновка и перемещение1.3 Сегментация памяти1.4 Таблица перемещения1.5 Примеры и архитектура1.6 Процедура перемещения1.7 Пример перемещения1.8 […]

Перемещение (вычислительная техника)

  • Основы перемещения

    • Перемещение – это процесс изменения адресов загрузки для кода и данных в зависимости от местоположения. 
    • До появления многопроцессорных систем адреса объектов были абсолютными. 
  • Компоновка и перемещение

    • Компоновщик выполняет перемещение в сочетании с другими процессами, такими как разрешение символов и поиск файлов. 
    • Перемещение может выполняться во время компоновки, загрузки или выполнения программы. 
  • Сегментация памяти

    • Объектные файлы разбиты на сегменты памяти, такие как код, инициализированные данные и неинициализированные данные. 
  • Таблица перемещения

    • Таблица перемещения содержит указатели на абсолютные адреса в объектном коде, которые должны быть изменены при перемещении программы. 
    • Исправления в таблице перемещения могут изменяться по мере перемещения загрузчика. 
  • Примеры и архитектура

    • DOS и 16-разрядные Windows используют относительные адреса в исполняемых файлах, которые изменяются при загрузке. 
    • 32-разрядные Windows требуют таблицы перемещения для динамического перемещения двоичных файлов. 
    • 64-разрядные Windows требуют таблиц перемещения для ASLR. 
  • Процедура перемещения

    • Компоновщик объединяет сегменты и присваивает уникальные адреса времени выполнения. 
    • Таблица перемещения используется для изменения ссылок на символы во время выполнения. 
  • Пример перемещения

    • В примере с архитектурой MIX и языком ассемблера MIXAL демонстрируется процесс перемещения адресов инструкций. 
  • Рекомендации и дальнейшее чтение

    • Статья содержит ссылки на дополнительные ресурсы и методы перемещения. 

Полный текст статьи:

Переезд (вычисления) — Википедия

Оставьте комментарий

Прокрутить вверх