Ini*_*van 8 memory memory-address
逻辑地址的目的是什么?CPU为什么要生成逻辑地址?它可以直接访问可重定位的寄存器基地址并限制执行进程.MMU为什么要在逻辑地址和物理地址之间进行映射?
小智 12
为什么?
因为这为操作系统提供了一种安全管理内存的方法.
为什么需要安全的内存管理?
想象一下,如果没有逻辑寻址.所有进程都可以直接访问物理地址.多进程操作系统同时运行多个不同的程序.想象一下,您在最近发布的浏览器上在YouTube上听音乐时正在编辑MS Word中的重要字母.浏览器有问题,并将伪造的值写入一系列物理地址,Word程序正在使用这些地址来存储您的信件的编辑内容.所有这些信息都是腐败的!
非常不利的情况.
操作系统如何防止这种情况?
保持分配给每个进程的物理地址的映射,并确保一个进程无法访问分配给另一个进程的内存!
显然,将实际的物理地址暴露给程序并不是一个好主意.由于内存完全由操作系统处理,我们需要一个抽象,我们可以通过一个简单的API为流程提供一个简单的API,使得它看起来正在处理物理内存,但所有的分配实际上都是由操作系统处理的.
这是虚拟内存!
小智 5
逻辑地址的需要是为了安全地管理我们的物理内存。逻辑地址用于引用访问物理内存位置。生成逻辑地址,以便用户程序永远不会直接访问物理内存,并且该进程不会占用由另一个进程获取的内存,从而破坏该进程。逻辑地址使我们确信新进程不会占用任何其他进程占用的内存空间。