Differentiate between non-relocatable self relocatable programs.
A non-relocatable program is one which cannot be executed in any memory area other than the area starting at its translated origin. For illustration a hand coded machine language program.
A self-relocating program can execute into any area of memory. It is very significant in time-sharing operating system where load address of a program is likely to be different for various executions.