The task of adjusting programs so that they may be placed in arbitrary core locations is called relocation. This task is often performed by the relocating loaders. Given below are the tasks performed by the relocating loaders. Identify the correct sequence in which the tasks need to be performed.
1. Resolve symbolic references between object decks
2. Allocate space in memory for the program
3. Physically place the machine instructions and data into the memory
4. Adjust all address dependent locations
- $1 \: 2 \: 3 \: 4$
- $2 \: 1 \: 3 \: 4$
- $3 \: 1 \: 4 \: 2$
- $2 \: 1 \: 4 \: 3$