A construção de um programa de sobreposição envolve dividir manualmente um programa em blocos de código objeto independentes, chamados de overlays, dispostos em uma estrutura de árvore. Segmentos irmãos, aqueles que estão no mesmo nível de profundidade, compartilham a mesma memória, chamada de região de sobreposição ou região de destino. Um gerente de sobreposição, a parte do sistema operacional ou a parte do programa de sobreposição, carrega a sobreposição desejada da memória externa na sua região de destino quando é necessário. Muitas vezes os ligadores fornecem suporte para sobreposições.[2]
Exemplo
O exemplo a seguir mostra as instruções de controle que instruem o Editor de Ligação do OS/360 para vincular um programa de sobreposição, destinado a mostrar a estrutura:
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)