Загрузчик (вычислительный)
-
Определение и функции загрузчика
- Загрузчик — это часть ОС, отвечающая за загрузку программ и библиотек.
- Загрузчик подготавливает программы к выполнению, копируя их в память или преобразуя память.
- После загрузки ОС передает управление загруженному программному коду.
-
Роль загрузчика в ОС
- Загрузчики присутствуют во всех ОС, кроме узкоспециализированных систем.
- Встроенные системы обычно не используют загрузчики, а код выполняется напрямую из ПЗУ.
- Для загрузки ОС используется специализированный загрузчик.
-
Обязанности загрузчика в Unix
- В Unix загрузчик обрабатывает системный вызов execve().
- Загрузчик выполняет проверку разрешений, требований к памяти и других параметров.
- Он отображает исполняемый объект с диска в память и инициализирует регистры.
-
Функции загрузчика в Windows 7 и выше
- В Windows 7 и выше загрузчик — это функция LdrInitializeThunk.
- Она инициализирует структуры в DLL, проверяет правильность загрузки исполняемого файла и многое другое.
-
Перемещение загрузчиков
- Некоторые ОС требуют перемещения загрузчиков для компенсации изменений в адресе загрузки.
- Примеры таких ОС — IBM OS/360 и z/OS.
-
Особенности загрузчиков в OS/360
- IEWFETCH — это средство ОС/360, которое загружает и перемещает исполняемые файлы.
- IEWL — это приложение-загрузчик, которое объединяет модули и объектные модули в эффективный формат для загрузки.
- Формат модуля загрузки включает текстовые записи и записи перемещения и/или контроля.
-
Динамические компоновщики
- Динамические компоновщики связывают совместно используемые библиотеки с уже запущенными программами.
- Они облегчают совместное использование кода между процессами и требуют, чтобы код в библиотеках был перемещаемым.