在执行程序的过程中会产生一个虚拟地址空间
MMU的作用:将虚拟地址空间的程序映射到物理内存
如下图
- cpu访问内存的级别有4种级别,linux只是用了2种级别,内核空间是0级,用户空间是3级
- 32位的地址空间一共4G,0-3G是用户空间,3-4G是内核空间
- MMU要和预取器配合预取器才能从物理内存中取出指令
- MMU要和寄存器配合寄存器才能将数据写入到物理内存中
- 虽然两个程序都是a.out但是因为进程是独立的,所以通过MMU映射到不同的物理内存里。但是共用的是一个内核,所以内核空间映射只有一份。虽然两个程序的PCB不一样但是他们位于同一个物理内存中。