Overlay (programming)

When overlay is called a part of a computer program, which is in an area of ​​memory, which alternately from several parts of the program ( overlays) is shared, loaded and executed there.

Problem

For many years, the available RAM memory in computers was not enough to load executable programs complex as a whole. For example, possessed microcomputer with 8 -bit microprocessors Intel 8080 and Zilog Z80 under the CP/M-80 operating system only over a maximum of 64 kilobytes of RAM. The IBM PC with the 16 -bit 8088 processor from Intel could not use more than 640 kilobytes of RAM under the operating system MS -DOS. Thus, the size of an executable program including the necessary data areas was limited to that maximum size of available memory.

Overlay

Almost as a last resort from such problems, it was decided, therefore, in special cases, to modularize computer programs and to split into parts that did not need to be executed simultaneously. These were implemented as a separate program files. To use them individually, for the maximum required memory area in the RAM has been reserved. Thus, such a module could be temporarily loaded as an overlay and running and dynamically replaced when needed by another module that had to be there reloaded. Overlay files were usually characterized by the file extension OVR or OVL, binding conventions did not exist but.

Software

To the division into overlays and initially also reloading the programmer had to take care of yourself, so to program this functionality. Partial overlays were also supported by programming systems, such as by later versions of Turbo Pascal. The modularity in program files according to the instructions of the programmer carried here by the compiler or linker, memory management and the recharge by the runtime system.

A program in Turbo Pascal 3.0, one could imagine for instance in the form mutatis mutandis:

Program my project; overlay procedure customer management; ... overlay procedure were management; ... { Main program } begin while input < > " end " do begin case input of "customer ": customer management; " were " were management; end; end; end. From Turbo Pascal version 5.0, there is at unit level, the term overlay.

Professional use

In particular, professional software was affected because of their necessary functionality at times limited hardware from the problem of memory shortage. One of the known at that time for the modularity in overlay programs is the word processor WordStar software with the main program WS.COM and the overlay modules WSMSGS.OVR, WSOVLY1.OVR, MAILMERGE.OVR and SPELSTAR.OVR. Also, the database program dBASE was modularized accordingly. Even the Space Shuttle Primary Avionics Software System Software (PASS) uses overlays.

Current importance

Through the further development in the field of hardware and software overlays generally have only minor importance. Limited to a small, relatively simple systems such as embedded systems, overlays are still meaningful.

Modern computer systems with sufficient memory and linear addressing and operating systems with efficient memory management make overlays superfluous or let them no longer. A similar functionality can store the overlays are realized at runtime when needed with dynamic link libraries (DLLs) and.

Swell

  • Hans -Georg Esser, University of Munich: memory management and file systems. Accessed on 13 February 2014.
  • Turbo Pascal 7.0, Herschel Rudolf, Ernst- Wolfgang Dieterich, 2nd edition 2000, page 249, Oldenbourg Verlag, ISBN 3-486-25499-5
  • Getting started with WordStar, MailMerge Spell Star, Alan Mabbett, 1985, Cambridge University Press, English, ISBN 0 - 521-31805 -X
628040
de