Цепная загрузка
Эта статья нуждается в дополнительных цитатах для проверки . ( октябрь 2013 г. ) |
Цепная загрузка — это метод, используемый компьютерными программами для замены выполняющейся в данный момент программы новой программой с использованием общей области данных для передачи информации из текущей программы в новую программу. Это происходит в нескольких областях вычислений.
Цепная загрузка аналогична использованию накладок . Однако, в отличие от наложений, цепная загрузка полностью заменяет выполняющуюся в данный момент программу. Оверлеи обычно заменяют только часть работающей программы. Как и использование оверлеев, использование цепной загрузки увеличивает нагрузку ввода-вывода приложения.
Цепная загрузка в программах-менеджерах загрузки
[ редактировать ]В программах менеджера загрузки операционной системы цепная загрузка используется для передачи управления от менеджера загрузки загрузочному сектору . Целевой загрузочный сектор загружается с диска , заменяя загрузочный сектор в памяти, из которого был загружен и выполнен сам менеджер загрузки.
Цепная загрузка в Unix
[ редактировать ]В Unix (и в Unix-подобных операционных системах) системный вызов exec() используется для выполнения цепной загрузки. Образ программы текущего процесса заменяется совершенно новым образом, и текущий поток начинает выполнение этого образа. процесса Область общих данных содержит переменные среды , которые сохраняются на протяжении всего системного вызова.
Цепная загрузка в Linux
[ редактировать ]В дополнение к exec() Загрузка цепочки уровней процессов Linux поддерживает Системный вызов kexec () для замены всего ядра операционной системы другой версией. Новое ядро загружается так, как если бы оно было запущено при включении питания, и никакие запущенные процессы не сохраняются.
Цепная загрузка в программах BASIC
[ редактировать ]В программах BASIC цепная загрузка является компетенцией CHAIN
оператор (или, в Commodore BASIC , LOAD
оператор), что приводит к завершению текущей программы, а также к загрузке и вызову связанной с ней программы (в тех диалектах BASIC, которые ее поддерживают, необязательный параметр указывает номер строки , с которой должно начаться выполнение, а не значение по умолчанию первой строки новой программы). Область общих данных варьируется в зависимости от конкретного используемого диалекта BASIC. в BBC BASIC Например, в CHAIN сохраняется только определенное подмножество всех переменных. На других BASICах COM
заявление [1] может использоваться совместно с CHAIN
чтобы указать, какие переменные должны быть сохранены как общие данные в цепочке операций.
Цепная загрузка позволяет программам BASIC выполнять больше программного кода, чем может поместиться в доступную программную и переменную память. Таким образом, приложения, написанные на BASIC, могут быть намного больше, чем размер рабочей памяти, благодаря набору взаимодействующих программ, которые CHAIN
между собой по мере перемещения потока программы внутри всего приложения.
Цепная загрузка в программах на FORTRAN.
[ редактировать ]Многие версии Фортрана включают CALL CHAIN
или CALL LINK
оператор, который выполняет цепную загрузку, сохраняя содержимое хранилища COMMON . [2] Это не то же самое, что несвязанное LINK
подпрограмма в GNU Fortran . [3]
Цепная загрузка в OS/360
[ редактировать ]OS/360 и его преемники используют XCTL
(для «управления передачей») макрос для загрузки цепочки. Из-за
управление памятью операционной системы, это может привести или не привести к замене кода вызывающей программы в памяти.
См. также
[ редактировать ]- CHAIN (директива CONFIG.SYS) (цепочка выполнения нескольких файлов CONFIG.SYS в DR-DOS)
Ссылки
[ редактировать ]- ^ «HP 2000/Access BASIC» (PDF) . bitsavers.trailing-edge.com . ХП. стр. 11–25 . Проверено 16 января 2020 г. .
- ^ Корпорация IBM (1974). IBM 1130/1800 Базовый язык FORTRAN IV (PDF) . п. 14.
- ^ «Компилятор GNU Fortran» . Проверено 27 октября 2013 г.
- «цепная загрузка» . по GNU GRUB Руководство .
- Орландо Ли Стивенсон (декабрь 1985 г.). «Цепочка программ Commodore» . Вычислите! (67): 114.
- Рэймонд, Эрик Стивен. «Мультипрограммирование: Таксономия методов Unix IPC: оболочки и цепочки Бернштейна» . Искусство программирования для Unix .