虚拟地址空间

虚拟内存是计算机系统内存管理的一种技术,它使得应用程序认为他拥有连续的的可用内存(一个完整的地址空间),而实际上,他通常认为是被分割成多个物理内存碎片,还有部分暂时存储在外部的磁盘上,在需要的时候才会进行数据的交换。

我们程序所使用的内存地址叫做虚拟内存地址(Virtual Memory Address)
实际存在硬件里面的空间地址叫物理内存地址(Physical Memory Address)

1.创建一个进程的时候,操作系统会为该进程分配一个4GB(0-3G用户空间,3-4G内核空间)大小的虚拟进程地址空间,在32位的操作系统中,2的32次方个地址的寻址能力是从0x00000000~0xFFFFFFFF,为4G大小的容量;

2.每个项目的物理地址对于进程不可见,谁也不能直接访问这个物理地址。操作系统会给进程分配一个虚拟地址。所有进程看到的这个地址都是一样的,里面的内存都是从 0 开始编号

操作系统会提供一种机制,将不同进程的虚拟地址和不同内存的物理地址映射起来。

如果程序要访问虚拟地址的时候,由操作系统转换成不同的物理地址,这样不同的进程运行的时候,写入的是不同的物理地址,这样就不会冲突了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值