Difference between Compile Time and Load 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 Load 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.
Load Time Address Binding:
This type of address binding will be done after loading the program into memory. Load time address binding will be done by operating memory manager.
Difference between Compile Time and Load Time address Binding:
|Compile Time Address Binding||Load Time Address Binding|
|Compiler is responsible for the compile time address binding.||Loader is responsible for the load time address binding.|
|It generates logical address (virtual address).||It generates physical address.|
|Compile time address binding is done before loading the program into memory.||Load time address binding is done after loading the program into memory.|
|Instructions are translated into absolute address.||Absolute address is converted to relocatable address.|
|Code is compiled here.||Instructions are loaded in memory.|
|It works with logical address.||It works with physical address.|
|It is static address binding.||It is also static address binding but in some operating system it supports dynamic address binding.|
|Compiler interacts with operating system memory manager to perform it.||It is done by operating system memory manager itself.|