MMU(内存管理单元)理解

在这里插入图片描述在这里插入图片描述32位机有0—4G的虚拟内存地址空间

(32位共有2^32 = 4x230个数,一个数对应内存中一个字节,故内存中共有4x230B=4G的地址空间)

虚拟内存各区的存储内容,如上的内存结构图所示,

.text :存储代码段

.data :存储数据,定义的变量在此处

heap:堆,由低地址向高地址,malloc的空间在此处

stack:栈,由高地址向低地址,函数及函数里定义的变量在此处

以上各部分占用0-3G,,称为用户空间

3G-4G称为内核区(内核空间)

其中,PCB(进程控制块)位于此地址空间中;

0-4G的虚拟内存空间,是在程序运行,进程产生的时候,才会有的。

但虚拟内存并不是真实存在,程序、数据其实都是存在物理内存的。物理内存并一定有4G大小。

所以,就需要将虚拟内存与物理内存进行对应,媒介就是MMU

例如:0x8123a300 int value = 1; 0x8123a300 就是虚拟内存地址;

写程序的时候,使用的是虚拟地址。

MMU的作用:
1)虚拟地址与物理地址映射
2)设置修改内存访问级别,权限高的能访问内核区,权限低的访问用户区。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值