1.places the program in the memory for the purpose of execution.
2.relocates the program to execute from the specific memory area allocated to it.
3.links the program with other programs needed for its execution.
4. interfaces the program with the entities generating its input data.