1.MMU功能解析

1.MMU功能解析

先来看一个例子:

1testMMU.c的代码:

2testMMU.c的代码:

两个代码同时运行的效果如下图:

可以看到两个同时运行的程序使用的是同一个地址0x80496a4,是不是程序运行出错了,怎么一个地址单元,同一时间可以被两个程序使用?其实呢这就是今天的重点,虚拟地址,0x80496a4是一个虚拟地址单元。这就是MMU的功劳了。MMU的全称是Memory Management Unit,内存映射单元。就是程序在运行的时候并不是直接使用物理地址,而是虚拟地址,当程序真正需要物理地址的时候,系统才给它分陪物理地址。使用虚拟地址的好处就是运行更大的程序,内存本来没有改变,但是虚拟地址的操作,能够运行更大的程序。

从上面的例子知道MMU的一个功能就是将虚拟地址转化为物理地址。后面还会讲到MMU的第二个作用:访问权限管理。

posted @ 2016-02-14 10:45  cestlavie  阅读(670)  评论(0编辑  收藏  举报