关于MMU存在的原因

MMU:集成在CPU内部的一个硬件逻辑单元,为CPU提供从虚拟地址到物理地址的映射,在硬件上提供一种内存保护机制。
存在的原因一:操作系统在执行多任务过程中,多个进程并行执行,各进程之间资源相互独立,虽然在软件层面已经划分各进程的地址空间,但是各进程有跨界操作的权限。在正常执行时,彼此不会有干扰,如果发生错误,从软件层面上无法保证进程之间会不会干扰资源访问。因此,MMU在硬件上可以提供一种保护机制,限制某一进程对其他进程的资源访问权限,起到内存保护的作用。
原因二:当同一程序在多次调用执行时,MMU能够给各进程提供独立地址空间,保证进程可以同一时刻同时运行。举个例子:当一个程序再编译完成后,其运行地址也就确定了。假设在虚拟地址0xC0000000处存储一个数值,第一次执行时,MMU将其映射到物理地址0x10000000处,之后程序再一次执行,只需将虚拟地址映射到0x11000000处,就可以运行。虽然虚拟地址是一样的,但是进程运行在不同的物理地址空间,不会因为地址冲突而产生错误。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值