Загрузчик программ
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 10 октября 2016 года; проверки требуют 5 правок.
Загру́зчик (англ. loader) — в информатике, программа, отвечающая за загрузку исполняемых файлов и запуск соответствующих новых процессов. Обычно является частью операционной системы, но может быть и самостоятельной программой — к примеру, позволяющей операционной системе запускать программы, скомпилированные для других операционных систем (см. также: эмуляторы, WINE).
При запуске новой программы загрузчик должен:
- Считать данные из запускаемого файла.
- Если необходимо — загрузить в память недостающие динамические библиотеки.
- Заменить в коде новой программы относительные адреса и символические ссылки на точные, с учётом текущего размещения в памяти, то есть выполнить связывание адресов (англ. Relocation).
- Создать в памяти образ нового процесса и запланировать его к исполнению.
Загрузчик операционной системы действует по схожему принципу, но обычно является отдельной программой, поскольку решает специфическую задачу — запуск самой операционной системы.
См. такжеПравить
- Системное программное обеспечение
- Загрузчик классов
- Форматы исполняемых файлов:
СсылкиПравить
- How programs get run: ELF binaries Архивная копия от 10 октября 2016 на Wayback Machine / LWN, 2015 (англ.)
- ld.so, ld-linux.so* - dynamic linker/loader Архивная копия от 22 июня 2018 на Wayback Machine, Linux man-pages (англ.)
- environ, execl, execv, execle, execve, execlp, execvp - execute a file Архивная копия от 1 сентября 2016 на Wayback Machine / The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition (англ.)
Это статья-заготовка о программном обеспечении. Помогите Википедии, дополнив эту статью, как и любую другую. |
В статье не хватает ссылок на источники (см. рекомендации по поиску). |