What are Dynamic Loading, Dynamic Linking and Overlays?

Dynamic Loading:

->Routine is not loaded until it is called

->Better memory-space utilization; unused routine is never loaded.

->Useful when large amounts of code are needed to handle infrequently occurring cases.

->No special support from the operating system is required implemented through program design.

Dynamic Linking:

->Linking postponed until execution time.

->Small piece of code, stub, used to locate the appropriate memory-resident library routine.

->Stub replaces itself with the address of the routine, and executes the routine.

->Operating system needed to check if routine is in processes’ memory address.

->Dynamic linking is particularly useful for libraries.


->Keep in memory only those instructions and data that are needed at any given time.

->Needed when process is larger than amount of memory allocated to it.

->Implemented by user, no special support needed from operating system, programming design of overlay structure is complex.