Chain loading


Chain loading

Chain loading is a method used by computer programs to replace the currently executing program with a new program, using a common data area (a so-called core common area) to pass information from the current program to the new program. It occurs in several areas of computing.

Chain loading is similar to the use of overlays. Like the use of overlays, the use of chain loading increases the I/O load of an application. Unlike overlays, however, chain loading replaces the currently executing program in its entirety. Overlays usually replace only a portion of the running program.

Contents

Chain loading in boot manager programs

In operating system boot manager programs, chain loading is used to pass control from the boot manager to a boot sector. The target boot sector is loaded in from disk, replacing the in-memory boot sector from which the boot manager itself was bootstrapped, and executed.

Chain loading in Unix

In Unix (and in Unix-like operating systems), the exec() system call is used to perform chain loading. The program image of the current process is replaced with an entirely new image, and the current thread begins execution of that image. The common data area comprises data such as the process' environment variables, which are preserved across the system call.

This idea is often referred to as Bernstein chaining due to its extensive use by Daniel J. Bernstein, but the technique is as old as the getty and login programs.

Chain loading in BASIC programs

In BASIC programs, chain loading is the purview of the CHAIN statement (or, in Commodore BASIC, the LOAD statement), which causes the current program to be terminated and the chained-to program to be loaded and invoked (with, on those dialects of BASIC that support it, an optional parameter specifying the line number from which execution is to commence, rather than the default of the first line of the new program). The common data area varies according to the particular dialect of BASIC that is in use. On BBC BASIC, for example, only a specific subset of all variables are preserved across a CHAIN. On other BASICs, the COMMON statement can be used in conjunction with CHAIN to specify which variables are to be preserved as common data across a chain operation.

Chain loading permits BASIC programs to execute more program code than could fit into available program and variable memory. Applications written in BASIC could thus be far larger than the size of working memory, via a set of cooperating programs that CHAIN back and forth amongst themselves as program flow moves within the overall application.

References


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Loading (disambiguation) — Loading is the insertion of impedance into a circuit to change the characteristics of the circuit.Loading may also refer to:* Carbohydrate loading, a strategy employed by endurance athletes to maximize the storage of glycogen in the muscles *… …   Wikipedia

  • Chain of responsibility — For the Chain of Responsibility Design Pattern, see Chain of responsibility pattern. The chain of responsibility is a policy concept used in Australian transport legislation to place legal obligations on parties in the transport supply chain or… …   Wikipedia

  • Chain-shot — French chain shot In artillery, a chain shot is an obsolete type of naval ammunition formed of two sub calibre balls, or half balls, chained together. Bar shot is similar, but joined by a solid bar. They were used in naval warfare in the age of… …   Wikipedia

  • chain — 1. noun /ˈʧeːjn/ a) A series of interconnected rings or links usually made of metal. He wore a gold chain around the neck. b) A series of interconnected things. This led to an unfortunate chain of events. 2 …   Wiktionary

  • Hunter Valley Coal Chain — The Hunter Valley Coal Chain (HVCC) is the chain of coal delivery in New South Wales, Australia from (mainly open cut) coal mines in the Hunter Valley to the Port of Newcastle and to domestic coal fired power stations in the Hunter Valley. The… …   Wikipedia

  • Supply chain optimization — is the application of processes and tools to ensure the optimal operation of a manufacturing and distribution supply chain. This includes the optimal placement of inventory within the supply chain, minimizing operating costs (including… …   Wikipedia

  • XP-58 Chain Lightning — infobox Aircraft name =XP 58 Chain Lightning type =Heavy fighter manufacturer =Lockheed caption =The sole completed XP 58 designer = first flight =1 June 1944 introduced = retired = status =Cancelled primary user = more users = produced = number… …   Wikipedia

  • Automated truck loading systems — ATLS has been commonly used in the material handling industry to refer to the automation of loading or unloading trucks and trailers with product either on or without pallets, slip sheets, racks, containers, using several different types of… …   Wikipedia

  • daisy chain — Manipulation of the market by traders to create the illusion of active volume to attract investors. Bloomberg Financial Dictionary * * * daisy chain ˈdaisy chain noun [countable] FINANCE a situation in the stockmarket when dealers buy and sell to …   Financial and business terms

  • Crotch chain — (Logging) A form of tackle for loading a log sideways on a sled, skidway, etc. [Webster 1913 Suppl.] …   The Collaborative International Dictionary of English