Address Space
Table of Contents
1. Abstraction: Address Space
Address space is the processes’ view of memory in the system. Suppose a typical process that has code, heap, and stack. In the process’s view, the code starts from 0KB, the heap starts from 1KB and grows positively, and the stack starts from 16KB and grows negatively. All addresses that the process requests about is called virtual address.
However, in the view of OS, this process can be loaded at some arbitrary physical address. Thus, suppose a process is loaded at \(\texttt{addr}_a\) and this process requests about virtual address \(b\), then the actual physical address is \(\texttt{addr}_a+b\). This translation is at the core of virtualization.