Overlay (programming): Difference between revisions

Content deleted Content added
+hatnote for disamb
notes; IBLDR; nomenclature; NPOV
Line 4:
 
==Usage==
Constructing an overlay program involves manually dividing a program into self-contained [[object code]] blocks called '''overlays''' or '''links''', generally laid out in a [[tree structure]].{{efn|In [[OS/360 and successors]], there may be multiple ''regions''{{efn|This has nothing to do with the term ''region'' in [[MVT]] storage management.}} each containing a complete overlay tree.}} ''Sibling'' segments, those at the same depth level, share the same memory, called ''overlay region''{{efn|The nomenclature varies depending on the system, e.g., in [[OS/360]] ''region'' refers to an entire overlay tree.}} or ''destination region''. An overlay manager, either part of the [[operating system]] or part of the overlay program, loads the required overlay from [[Auxiliary memory|external memory]] into its destination region when it is needed; this may be automatic or via explicit code. Often [[Linker (computing)|linker]]s provide support for overlays.<ref name="GNULink"/>
 
==Example==
The following example shows the control statements that instruct the [[OS/360]] Linkage Editor to link an overlay program containing a single region, indented to show structure (segment names are arbitrary):
<pre>
INCLUDE SYSLIB(MOD1)
Line 65:
* [[Bank switching]]
* [[Recursion (computer science)|Recursion]]
 
==Notes==
{{notelist}}
 
==References==
Line 77 ⟶ 80:
 
==External links==
* {{cite manual
| title = IBM 7090/7094 Programming Systems IBJOB Processor Overlay Feature of IBLDR
| date = May 1963
| edition = First
| id = C28-6331
| url = http://bitsavers.org/pdf/ibm/7090/C28-6331_IBLDR_overlay_1963.pdf
| access-date = December 26, 2021
| work = Systems Reference Library
| publisher = [[IBM Corporation]]
}}
* {{cite book |publisher=[[IBM Corporation]] |title=IBM OS Linkage Editor and Loader |id=GC28-6538 |version=Release 21 |date=March 1972 |orig-year=January 1972 |pages=244 |url=http://www.bitsavers.org/pdf/ibm/360/os/R21.0_Mar72/GC28-6538-9_OS_Linkage_Editor_and_Loader_Release_21_Jan72.pdf}}