Logical and Physical Address in Operating System
Logical Address is generated by CPU while a program is running. The logical address is virtual address as it does not exist physically, therefore, it is also known as Virtual Address. This address is used as a reference to access the physical memory location by CPU. The term Logical Address Space is used for the set of all logical addresses generated by a program’s perspective.
The hardware device called Memory-Management Unit is used for mapping logical address to its corresponding physical address.
Physical Address identifies a physical location of required data in a memory. The user never directly deals with the physical address but can access by its corresponding logical address. The user program generates the logical address and thinks that the program is running in this logical address but the program needs physical memory for its execution, therefore, the logical address must be mapped to the physical address by MMU before they are used. The term Physical Address Space is used for all physical addresses corresponding to the logical addresses in a Logical address space.
Mapping virtual-address to physical-addresses
Differences Between Logical and Physical Address in Operating System
- The basic difference between Logical and physical address is that Logical address is generated by CPU in perspective of a program whereas the physical address is a location that exists in the memory unit.
- Logical Address Space is the set of all logical addresses generated by CPU for a program whereas the set of all physical address mapped to corresponding logical addresses is called Physical Address Space.
- The logical address does not exist physically in the memory whereas physical address is a location in the memory that can be accessed physically.
- Identical logical addresses are generated by Compile-time and Load time address binding methods whereas they differs from each other in run-time address binding method. Please refer this for details.
- The logical address is generated by the CPU while the program is running whereas the physical address is computed by the Memory Management Unit (MMU).
|Parameter||LOGICAL ADDRESS||PHYSICAL ADDRESS|
|Basic||generated by CPU||location in a memory unit|
|Address Space||Logical Address Space is set of all logical addresses generated by CPU in reference to a program.||Physical Address is set of all physical addresses mapped to the corresponding logical addresses.|
|Visibility||User can view the logical address of a program.||User can never view physical address of program.|
|Generation||generated by the CPU||Computed by MMU|
|Access||The user can use the logical address to access the physical address.||The user can indirectly access physical address but not directly.|
|Editable||Logical address can be change.||Physical address will not change.|
|Also called||virtual address.||real address.|