In the last article we have illustrated the concept of linear address and in this blog I will try to explain some details about linear space.
Linear space consist of linear addresses. Though this concept is very straightforward, some people may be confused with it when they consider multiple linear space. Does each process has its own linear space? The answer is yes.
Paging is disabled
If the paging mechanism is disabled, the linear address will be translated to the physical address directly. The linear address
0x1000000 in each process will be mapped to the same location in the physical memory. So, we can consider all linear spaces are overlapping. In modern operating system, this approach has already been abandoned.
Paging is enabled
If the paging mechanism is disabled, the linear address will be translated to the physical address by pagetables. In Linux, each process has its own pagetables, so the linear address
0x1000000 will be mapped to different physical address. We can consider that each linear spaces is separated.
This is the nature of address space isolation.
Intel Volume 3A 7.5.1 Mapping Tasks to the Linear and Physical Address Spaces