码迷,mamicode.com
首页 > 其他好文 > 详细

物理内存,虚拟内存

时间:2017-07-06 14:27:36      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:内核   需要   数据   数据拷贝   最大   完成   执行   map   地址空间   

1. 物理内存:

物理内存指的是插在计算机主板内存槽上的实际物理内存,CPU可以直接进行寻址;

物理内存的容量是固定的,但是寻址空间却取决于cpu地址线条数,如32位机,则寻址空间为2^32=4G,

即最大支持4G的寻址空间,即使我们插入了32G容量的内存条,我们也只能拥有4G的物理内存;

2. 虚拟内存:

进程执行需要将代码和数据放在内存中,但是物理内存是有限的,当进程比较多的时候,容易造成内存耗尽,而虚拟内存有效的解决了这个问题;

 

进程创建加载的时候,自身感知获得到了一个连续的内存地址空间,而实际上内核只是分配了一个逻辑上的虚拟内存空间,并且对虚拟内存和磁盘通过mmap做映射关系,对虚拟内存和物理内存做映射关系;等到程序真正运行的时候,需要某些数据,并且不在物理内存中,才会触发缺页异常,进行数据拷贝;

 

虚拟内存空间和磁盘之间的映射使用mmap完成,说白了虚拟内存空间就是磁盘上的一块区域;

物理内存,虚拟内存

标签:内核   需要   数据   数据拷贝   最大   完成   执行   map   地址空间   

原文地址:http://www.cnblogs.com/paulversion/p/7125839.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!