Difference between Compile Time and Execution Time address binding
Prerequisite – Address Binding Methods
Address Binding is the association of program instructions and data to the actual physical memory location. There are various types of address binding in the operating system.
There are 3 types of Address Binding:
- Compile Time Address Binding
- Load Time Address Binding
- Execution Time Address Binding
Here, we compare Compile Time and Execution Time address binding as following below.
Compile Time Address Binding:
If the compiler is responsible of performing address binding then it is called as compile time address binding. This type of address binding will be done before loading the program into memory. The compiler required to interact with the operating system memory manager to perform compile time address binding.
Execution Time or Dynamic Address Binding:
The address binding will be postponed even after loading the program into memory. The program will keep on changing the locations in the memory till the time of program execution. This type of Address binding will be done by the processor at the time of program execution.
Difference between Compile Time and Execution Time address binding:
|Compile Time Address Binding||Execution Time Address Binding|
|Compiler is responsible for the compile time address binding.||Execution time address binding is done by processor.|
|It generates logical address (virtual address).||It generates dynamic absolute address.|
|Compile time address binding is done before loading the program into memory.||Execution time address binding is done at the time of program execution.|
|Instructions are translated into absolute address.||It helps in execution.|
|Code is compiled here.||From memory instructions are executed by CPU.|
|It works with logical address.||It works with dynamic absolute address.|
|It is static address binding.||It is dynamic address binding.|
|Compiler interacts with operating system memory manager to perform it.||It is done by processor at the time of program execution.|