Загрузка

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

После того как компоновщик создал загрузочный модуль, он передает его программе-загрузчику (loader). Загрузчик отвечает за размещение каждого блока команд и данных по определенному адресу в памяти - процесс, называемый адресным связыванием (address binding'). Существует несколько методов загрузки программ в основную память, большая часть из которых имеют значение только для систем, не поддерживающих виртуальную память. Если загрузочный модуль уже определяет физические адреса в памяти, загрузчик просто размещает блоки команд и данных по адресам, определенным программистом или компилятором (при условии, что эти адреса памяти доступны). Данный процесс называется абсолютной загрузкой (absolute loading). Перемещающая (настраивающая) загрузка (relocatable loading) выполняется в случае, если в загрузочном модуле содержатся относительные адреса, которые необходимо трансформировать в абсолютные адреса памяти. Загрузчик отвечает за запрашивание блока памяти для размещения в нем программы, а затем, за преобразование адресов программы, чтобы та соответствовала своему расположению в памяти. Например, если операционная система выделила программе блок памяти, начиная с адреса 10000, то когда программа загружается, загрузчик должен прибавить 10000 к каждому адресу в загрузочном модуле. Загрузчик поменяет исходный относительный адрес 450 переменной Example на 10450.

Динамическая загрузка (dynamic loading) - это подход, при котором программные модули загружаются при первом использовании. Во многих системах с виртуальной памятью каждому процессу присвоен собственный набор виртуальных адресов, начинающихся с нуля, а загрузчик отвечает за загрузку программы в действительную область памяти.


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



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