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