Logical address
Logical address
A logical address is a memory address generated by the CPU, which is translated into a physical address by the memory management unit (MMU) before accessing the memory. In other words, it’s the address used by the program to access memory, while the physical address is the actual location of the data in memory.
What does Logical address mean?
A logical address is a reference to a memory location That is independent of the physical address of the memory. This means that the logical address of a memory location will remain the same, even if the physical address of the memory changes. Logical addresses are used by programs to access memory, and they are translated into physical addresses by the operating system.
Logical addresses are typically generated by the compiler when a program is compiled. The compiler assigns a logical address to each variable and constant in the program. When the program is run, the operating system loads the program into memory and translates the logical addresses into physical addresses.
Logical addresses are important because they allow programs to access memory without having to know the physical address of the memory. This makes it easier to write programs, and it also makes it easier to port programs from One computer to another.
Applications
Logical addresses are used in a wide variety of applications, including:
- Operating systems: Operating systems use logical addresses to manage memory. The operating system maintains a table that maps logical addresses to physical addresses. When a program accesses memory, the operating system uses this table to translate the logical address into a physical address.
- Compilers: Compilers use logical addresses to generate code. The compiler assigns a logical address to each variable and constant in the program. When the program is run, the operating system loads the program into memory and translates the logical addresses into physical addresses.
- Virtual memory: Virtual memory is a technique that allows a computer to access more memory than it physically has. Virtual memory uses logical addresses to Map a large virtual memory Space to a smaller physical memory space. When a program accesses memory, the operating system checks to see if the logical address is in the physical memory space. If the logical address is not in the physical memory space, the operating system loads the page of memory that contains the logical address into the physical memory space.
History
The concept of logical addresses was first developed in the 1960s. The first computers used physical addresses to access memory. This meant that the address of a memory location was the same as the physical location of the memory. This made it difficult to write programs, and it also made it difficult to port programs from one computer to another.
In the 1960s, computer scientists developed the concept of logical addresses. Logical addresses are independent of the physical address of the memory. This means that the logical address of a memory location will remain the same, even if the physical address of the memory changes.
The concept of logical addresses was first implemented in the IBM System/360. The System/360 used a virtual memory system that allowed programs to access more memory than the computer physically had. The System/360 used logical addresses to map a large virtual memory space to a smaller physical memory space.
Today, logical addresses are used in all modern computers. Logical addresses make it easier to write programs, and they also make it easier to port programs from one computer to another.