digplanet beta 1: Athena
Share digplanet:

Agriculture

Applied sciences

Arts

Belief

Business

Chronology

Culture

Education

Environment

Geography

Health

History

Humanities

Language

Law

Life

Mathematics

Nature

People

Politics

Science

Society

Technology

In a general computing sense, overlaying means "replacement of a block of stored instructions or data with another."[1] Overlaying is a programming method that allows programs to be larger than the computer's main memory. An embedded system would normally use overlays because of the limitation of physical memory, which is internal memory for a system-on-chip and the lack of virtual memory facilities.

Contents

Usage [edit]

Constructing an overlay program involves manually dividing a program into self-contained object code blocks called overlays laid out in a tree structure. Sibling segments, those at the same depth level, share the same memory, called overlay region or destination region. An overlay manager, either part of the operating system or part of the overlay program, loads the required overlay from external memory into its destination region when it is needed. Often linkers provide support for overlays.[2]

Example [edit]

The following example shows the control statements that instruct the OS/360 Linkage Editor to link an overlay program, indented to show structure:

 INCLUDE SYSLIB(MOD1)
 INCLUDE SYSLIB(MOD2)
 OVERLAY A
   INCLUDE SYSLIB(MOD3)
     OVERLAY AA
       INCLUDE SYSLIB(MOD4)
       INCLUDE SYSLIB(MOD5)
     OVERLAY AB
        INCLUDE SYSLIB(MOD6)
 OVERLAY B
    INCLUDE SYSLIB(MOD7)
                       +--------------+
                       | Root Segment |
                       | MOD1, MOD2   |
                       +--------------+
                               |
                    +----------+----------+
                    |                     |
             +-------------+       +-------------+
             |  Overlay A  |       |  Overlay B  |
             |  MOD3       |       |  MOD7       |
             +-------------+       +-------------+
                    |
           +--------+--------+
           |                 |
    +-------------+   +-------------+
    | Overlay AA  |   | Overlay AB  |
    | MOD4, MOD5  |   | MOD6        |
    +-------------+   +-------------+

These statements define a tree consisting of the permanently resident segment, called the root, and two overlays A and B which will be loaded following the end of MOD2. Overlay A itself consists of two overlay segments, AA, and AB. At execution time overlays A and B will both utilize the same memory locations; AA and AB will both utilize the same locations following the end of MOD3.

All the segments between the root and a given overlay segment are called a path.

Applications [edit]

As of 2007, most business applications are intended to run on platforms with virtual memory. A developer on such a platform can design a program as if the memory constraint does not exist unless the program's working set exceeds the available physical memory. Most importantly, the architect can focus on the problem being solved without the added design difficulty of forcing the processing into steps constrained by the overlay size. Thus, the designer can use higher-level programming languages that do not allow the programmer much control over size (e.g. Java, C++, Smalltalk).

Still, overlays remain useful in embedded systems.[3] Some low-cost processors used in embedded systems do not provide a memory management unit (MMU). In addition many embedded systems are real-time systems and overlays provide more determinate response-time than paging. For example the Space Shuttle Primary Avionics System Software (PASS) uses programmed overlays.[4]

Even on platforms with virtual memory, software components such as codecs may be decoupled to the point where they can be loaded in and out as needed.

PC/MS DOS [edit]

In the DOS era overlays were popular because the operating system and many of the computer systems it ran on lacked virtual memory and had very little RAM by current standards — the original PC had between 16K and 64K depending on configuration. "Several DOS linkers in the 1980s supported [overlays] in a form nearly identical to that used 25 years earlier on mainframe computers."[3] Binary files containing memory overlays had a defacto standard extension, .OVL. This file type was used among others by WordStar and dBase. The GFA BASIC compiler was able to produce .OVL files.

References [edit]

  1. ^ "Oxford Dictionaries". February 19, 2007. 
  2. ^ "The GNU Linker documentation: Overlay Description". June 3, 2008. 
  3. ^ a b Levine, John R. (2000). Linkers & Loaders. Morgan Kaufmann Publishers. p. 177. ISBN 1-55860-496-0. 
  4. ^ "An Assessment of Space Shuttle Flight Software Development Processes". Retrieved October 29, 2012. 

External links [edit]

See also [edit]


Original courtesy of Wikipedia: http://en.wikipedia.org/wiki/Overlay_(programming) — Please support Wikipedia.
A portion of the proceeds from advertising on Digplanet goes to supporting Wikipedia.
21780 videos foundNext > 

Promote Your Videos with YouTube's InVideo Programming [The Reel Web #60]

YouTube's latest feature is called "InVideo Programming" and lets users promote a video of their's or their channel across all other videos on their channel....

Overlay.tv, BufferMe, Chrome, Cappuccino, BuildASearch free seo tools bulkping Movie

Overlay.tv, BufferMe, Chrome, Cappuccino, BuildASearch free seo tools bulkping Movie www.bulkping.com Overlay.tv is a new start-up that lets you grab any web...

Salma Hayek's Beautiful Lace Overlay Dress: Red Carpet Rewind

Christina Aguilera makes us want to pull out her pink and purple extensions, Olivia Wilde drives us wild and Lauren Conrad is pefectly girly in this week's R...

Web Page Theatre Mode Overlay Tutorial CSS Javascript Light Switch Toggle Darkness

Lesson Code: http://www.developphp.com/view.php?tid=1255 Learn to program web page theatre mode darkness using a CSS and JavaScript overlay. This one uses a ...

Adding Overlay HTML to GWT Maps : HTML Tutorials

Subscribe Now: http://www.youtube.com/subscription_center?add_user=Ehowtech Watch More: http://www.youtube.com/Ehowtech Adding overlay HTML to GWT maps will ...

Youtube Tips and Tricks - Setting InVideo Overlays - Ray The Video Guy

YouTube Tips and Tricks http://www.raythevideoguy.com One of the cool new features that YouTube has added, but not many people even know about is the InVideo...

Free Basic Smite UI Stream Overlay (Download in Description)

Download Link : http://www.mediafire.com/?zvhoo97n7ohevtc Hey Guys, This is just a quick basic overlay with hopefully a lot more to follow . Let me know what...

Android Google Map Navigation with GPS

Demonstrates how to setup the app to get updates on device location using a GPS signal. Also shows how to simulate GPS data sent to the emulator from an Andr...

Android Keeping Location Overlay in View.mp4

Tron

When a brilliant video game maker named Flynn (Jeff Bridges) hacks the mainframe of his ex-employer, he is beamed inside an astonishing digital world and becomes part of the very game he is designing. It's an epic adventure that everyone will enjoy!

21780 videos foundNext > 

We're sorry, but there's no news about "Overlay (programming)" right now.

Loading

Oops, we seem to be having trouble contacting Twitter

Talk About Overlay (programming)

You can talk about Overlay (programming) with people all over the world in our discussions.

Support Wikipedia

A portion of the proceeds from advertising on Digplanet goes to supporting Wikipedia. Please add your support for Wikipedia!