Address uniquely identifies a location in the memory. We have two types of addresses that are logical address and physical address. The logical address is a virtual address and can be viewed by the user. The user can’t view the physical address directly. The logical address is used like a reference, to access the physical address. The fundamental difference between logical and physical address is that logical address is generated by CPU during a program execution whereas, the physical address refers to a location in the memory unit.
There are some other differences between the logical and physical address. Let us discuss them with the help of comparison chart shown below.
Content: Logical and Physical Address
|Basis for Comparison||Logical Address||Physical Address|
|Basic||It is the virtual address generated by CPU||The physical address is a location in a memory unit.|
|Address Space||Set of all logical addresses generated by CPU in reference to a program is referred as Logical Address Space.||Set of all physical addresses mapped to the corresponding logical addresses is referred as Physical Address.|
|Visibility||The user can view the logical address of a program.||The user can never view physical address of program|
|Access||The user uses the logical address to access the physical address.||The user can not directly access physical address.|
|Generation||The Logical Address is generated by the CPU||Physical Address is Computed by MMU|
Definition of Logical Address
Address generated by CPU while a program is running is referred as Logical Address. The logical address is virtual as it does not exist physically. Hence, it is also called as Virtual Address. This address is used as a reference to access the physical memory location. The set of all logical addresses generated by a programs perspective is called Logical Address Space.
The logical address is mapped to its corresponding physical address by a hardware device called Memory-Management Unit. The address-binding methods used by MMU generates identical logical and physical address during compile time and load time. However, while run-time the address-binding methods generate different logical and physical address.
Definition of Physical Address
Physical Address identifies a physical location in a memory. MMU (Memory-Management Unit) computes the physical address for the corresponding logical address. MMU also uses logical address computing physical address. The user never deals with the physical address. Instead, the physical address is accessed by its corresponding logical address by the user. 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. Hence, the logical address must be mapped to the physical address before they are used.
The logical address is mapped to the physical address using a hardware called Memory-Management Unit. The set of all physical addresses corresponding to the logical addresses in a Logical address space is called Physical Address Space.
Key Differences Between Logical and Physical Address in OS
- The basic difference between Logical and physical address is that Logical address is generated by CPU in perspective of a program. On the other hand, the physical address is a location that exists in the memory unit.
- The set of all logical addresses generated by CPU for a program is called Logical Address Space. However, the set of all physical address mapped to corresponding logical addresses is referred as Physical Address Space.
- The logical address is also called virtual address as the logical address does not exist physically in the memory unit. The physical address is a location in the memory unit that can be accessed physically.
- Identical logical address and physical address are generated by Compile-time and Load time address binding methods.
- The logical and physical address generated while run-time address binding method differs from each other.
- The logical address is generated by the CPU while program is running whereas, the physical addres is computed by the MMU (Memory Management Unit).
The logical address is a reference used to access physical address. The user can access physical address in the memory unit using this logical address.