Linking and Loading
Linker: Usually a longer program is divided into a number of smaller subprograms called modules. It is easier to develop, test and debug smaller programs. A linker is a program that links (combines) smaller programs to form a single program. The linker links the machine codes of the programs.
Loader: The loader is a program that loads machine codes of a program into the system memory. It accepts programs either in absolute or relocatable format. If a program is in absolute format (i.e. the actual addresses of the instructions and data are supplied by the programmer), the loader simply loads the program into the system memory. If a program is in relocatable format, the locator assigns specific addresses to each instructions and data before the loader loads the program into memory.
Locator: A locator is a program that assigns specific memory addresses for each machine code of a program that is to be loaded into the system memory.