Ключевые термины. ld(linker and loader)– редактор связей и загрузчик в системе UNIX

ld (linker and loader) – редактор связей и загрузчик в системе UNIX.

Бинарный образ программы в памяти – файл, содержащий образ программы для ее считывания в память и запуска, формируемый загрузчиком.

Время (фаза) загрузки, или линковка (linking) - фаза вызова редактора связей и загрузчика для получения бинарного образа программы в памяти.

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

Входная очередь – совокупность процессов на диске, ожидающих размещения в памяти для выполнения своих программ.

Динамическая загрузка - загрузка подпрограммы в память при первом обращении к ней из пользовательской программы.

Динамическая линковка - линковка во время исполнения программы.

Динамически линкуемые библиотеки (dymanically linked libraries) – библиотеки подпрограмм, загружаемые в память во время исполнения, при первом обращении к ним из пользовательской программы.

Драйвер оверлея (overlay driver) – системная программа, выполняющая поочередную загрузку в одну и ту же область памяти то одной,то другой группы модулей из пользовательской программы.

Заглушка для исполнения (execution stub) – фрагмент кода в бинарном коде программы, выполняющий системный вызов модуля ОС, размещающего в памяти код динамически линкуемой библиотечной подпрограммы.

Загрузчик (loader) – системная программа, которая получает на вход загрузочный модуль и файлы с бинарными кодами системных библиотек, используемых программой и, объединяя код программы с кодами системных библиотек, создает бинарный образ программы в памяти.

Исходный код (source code) – код программы (в виде текстового файла) на языке высокого уровня или на языке ассемблера.

Линковка (linking) – то же, что и редактирование связей и загрузка.

Логический адрес - адрес, генерируемый процессором при выполнении машинной команды.

Объектный модуль – файл бинарного кода программы, генерируемый компилятором, содержащий выполняемые машинные команды и таблицу символов.

Оверлейная структура (overlay) – организация программы при недостаточном объеме основной памяти, при которой система выполняет поочередную загрузку в одну и ту же область памяти то одной, то другой исполняемой группы модулей программы.

Перемещаемый код (relocatable code) – код, в котором адресация происходит относительно значения регистра перемещения, и адрес в памяти равен сумме значения регистра перемещения и адреса, вычисляемого в команде.

Регистр перемещения (relocation register) – регистр, содержащий начальный адрес области памяти, отведенной операционной системой для загруженной в память программы.

Редактирование связей (linking) – этап обработки программы, на котором редактор связей формирует из объектных модулей загрузочный модуль, разрешая все межмодульные ссылки.

Редактор связей (linkage editor) – систeмная программа, формирующая из объектных модулей загрузочный модуль, разрешая все межмодульные ссылки.

Редактор связей и загрузчик (linker and loader) - системная программа, в которой объединены функции редактора связей и загрузчика.

Связывание адресов во время загрузки (load-time) – схема адресации, при которой генерируемый код адресует данные и программу относительно регистра перемещения, значение которого определяется при загрузке программы.

Связывание адресов во время исполнения (runtime), или динамическое (позднее) связывание – гибкая схема адресации, при которой абсолютный адрес программы или данных определяется только во время выполнения программы; для реализации используется аппаратная поддержка отображения адресов – например, регистры базы и границы.

Связывание адресов во время компиляции (compile-time) - если адреса программы и данных в памяти априорно известны, генерация компилятором кода с абсолютными адресами.

Cтатически линкуемая библиотека – библиотека подпрограмм, код которой объединяется с кодом использующих ее объектных модулей в загрузочный модуль на этапе редактирования связей и загрузки.

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

Устройство управления памятью (Memory Management Unit – MMU) – модуль аппаратуры, выполняющий адресацию памяти и связанный с процессором и другими устройствами системной шиной; преобразует логические адреса в физические адреса.

Физический адрес – реальный адрес в памяти, который "видит" и "понимает" устройство управления памятью.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: