进程虚拟地址空间

虚拟地址空间是由于物理内存有限而引入的概念,它允许程序使用超过实际物理内存的地址。每个进程都有独立的虚拟地址空间,由CPU的MMU管理并映射到物理地址。32位系统虚拟地址空间上限为4GB,64位则显著增加。在32位系统中,通过mmap等技术,可以实现超过4GB的内存映射,用于访问和管理大内存需求。Linux的mmap函数用于将文件内容映射到内存,支持共享和私有映射,方便对文件的读写操作。

首先我们要知道为什么要使用虚拟内存呢?

是因为物理内存空间有限,虚拟内存用硬盘空间做内存来弥补计算机RAM空间的缺乏。
当实际RAM满时(实际上,在RAM满之前),虚拟内存就在硬盘上创建了。
当物理内存用完后,虚拟内存管理器选择最近没有用过的,低优先级的内存部分写到交换文件上。
这个过程对应用是隐藏的,应用把虚拟内存和实际内存看作是一样的。


那么我们通过虚拟地址空间映射到物理地址空间有什么好处呢?

当处理器读或写入内存位置时,它会使用虚拟地址。作为读或写操作的一部分,处理器将虚拟地址转换为物理地址。通过虚拟地址访问内存有以下优势:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值