Overlay concept uses the free blocks of the main memory during run time to execute some portion of a program. So, when a larger size program is required to be executed, it is first fragmented in smaller continuous programmes, and those programmes are loaded and removed in/from memory as and when required.