官术网_书友最值得收藏!

The illusion called address space

Modern-day computing platforms are expected to handle a plethora of processes efficiently. Operating systems thus must deal with allocating unique memory to all contending processes within the physical memory (often finite) and also ensure their reliable execution. With multiple processes contending and executing simultaneously (multi-tasking), the operating system must ensure that the memory allocation of every process is protected from accidental access by another process.

To address this issue, the kernel provides a level of abstraction between the process and the physical memory called virtual address space. Virtual address space is the process' view of memory; it is how the running program views the memory.

Virtual address space creates an illusion that every process exclusively owns the whole memory while executing. This abstracted view of memory is called virtual memory and is achieved by the kernel's memory manager in coordination with the CPU's MMU. Each process is given a contiguous 32 or 64-bit address space, bound by the architecture and unique to that process. With each process caged into its virtual address space by the MMU, any attempt by a process to access an address region outside its boundaries will trigger a hardware fault, making it possible for the memory manger to detect and terminate violating processes, thus ensuring protection.

The following figure depicts the illusion of address space created for every contending process:

主站蜘蛛池模板: 新建县| 定日县| 唐山市| 崇义县| 炎陵县| 望都县| 盐津县| 洛隆县| 崇明县| 汉沽区| 昭通市| 塔河县| 高雄县| 阿拉尔市| 高密市| 肥乡县| 苗栗市| 九龙坡区| 平潭县| 鄢陵县| 汾阳市| 三河市| 宜都市| 留坝县| 卢氏县| 阳新县| 桂阳县| 荥经县| 九龙城区| 准格尔旗| 新昌县| 睢宁县| 合作市| 墨江| 长治县| 三河市| 潍坊市| 通辽市| 洞头县| 永德县| 贵德县|