![cover image](https://wikiwandv2-19431.kxcdn.com/_next/image?url=https://upload.wikimedia.org/wikipedia/commons/thumb/3/31/Overlay_Programming.svg/640px-Overlay_Programming.svg.png&w=640&q=50)
Overlay (programming)
From Wikipedia, the free encyclopedia
Not to be confused with Overload (programming), Exec (system call), Overlapping code, or Shared code.
In a general computing sense, overlaying means "the process of transferring a block of program code or other data into main memory, replacing what is already stored".[1] Overlaying is a programming method that allows programs to be larger than the computer's main memory.[2] 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.
![Thumb image](http://upload.wikimedia.org/wikipedia/commons/thumb/3/31/Overlay_Programming.svg/320px-Overlay_Programming.svg.png)