CPU寻址?为什么需要虚拟地址空间?

CPU寻址:现代处理器使用的是一种称为虚拟寻址的寻址方式。使用虚拟寻址,CPU需要将虚拟地址翻译成物理地址,这样才能访问到真实的物理内存。实际上完成虚拟地址转换为物理地址转换的硬件是CPU中含有一个被称为内存管理单元的硬件。

为什么要有虚拟地址空间:先从没有虚拟地址空间说起吧,没有虚拟地址空间的时候,程序都是直接访问和操作物理内存。但会有一些问题:

1. 用户可以访问任意的内存,寻址内存的每个字节,这样容易破坏操作系统,造成操作系统崩溃。

2. 想要同时运行多个程序特别困难。

总结来说:如果直接把物理地址暴露出来会带来严重的问题,比如可能对操作系统造成伤害以及给同时运行多个程序造成困难。

通过虚拟地址访问内存有一下优势:

1. 程序可以使用一系列相邻的虚拟地址来访问物理内存中不相邻的大内存缓冲区。

2. 程序可以使用一系列虚拟地址来访问大于可用物理内存的内存缓冲区。当物理内存的供应量变小时,内存管理器会将物理内存页保存到磁盘文件。

3. 不同进程使用的虚拟地址彼此隔离。一个进程中的代码无法更改由另一进程使用的物理内存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值