Jump to content

Цепная загрузка

Цепная загрузка — это метод, используемый компьютерными программами для замены выполняющейся в данный момент программы новой программой с использованием общей области данных для передачи информации из текущей программы в новую программу. Это происходит в нескольких областях вычислений.

Цепная загрузка аналогична использованию накладок . Однако, в отличие от наложений, цепная загрузка полностью заменяет выполняющуюся в данный момент программу. Оверлеи обычно заменяют только часть работающей программы. Как и использование оверлеев, использование цепной загрузки увеличивает нагрузку ввода-вывода приложения.

Цепная загрузка в программах-менеджерах загрузки

[ редактировать ]

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

Цепная загрузка в 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 (для «управления передачей») макрос для загрузки цепочки. Из-за управление памятью операционной системы, это может привести или не привести к замене кода вызывающей программы в памяти.

См. также

[ редактировать ]
  1. ^ «HP 2000/Access BASIC» (PDF) . bitsavers.trailing-edge.com . ХП. стр. 11–25 . Проверено 16 января 2020 г. .
  2. ^ Корпорация IBM (1974). IBM 1130/1800 Базовый язык FORTRAN IV (PDF) . п. 14.
  3. ^ «Компилятор GNU Fortran» . Проверено 27 октября 2013 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 145c84f9f80e5d4eb6599a4665587233__1648875060
URL1:https://arc.ask3.ru/arc/aa/14/33/145c84f9f80e5d4eb6599a4665587233.html
Заголовок, (Title) документа по адресу, URL1:
Chain loading - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)