内存管理(一)

早期内存的使用方法:

      程序访问的内存就是物理内存,要保证程序访问的时候,使用内存的要小于等于物理内存.这种方式有两个问题:1.进程地址空间不隔离,恶意的程序会修改其他程序的数据;2.内存使用的效率很低,比如内存短缺的时候,你需要把整个内存全部交换到交换分区里面,导致程序的使用效率很低.

     针对以上问题,大哥们想出一个分段的机制,其核心思想是建立在一个虚拟地址空间,在虚拟地址空间和物理地址空间做一一映射,

这样进程和进程的地址实现了隔离,但是分段的时候,程序运行总是把程序全部装在到内存里面,还不是非常高效,于是大哥们又想出一种机制分页,分页的意思是你程序运行时,你需要哪个页面的时候,才会分配,比如长期不用的程序,它会被放到交换磁盘里面(SWAP),

分页机制本质是按需分配思想,是操作系统重要思想之一.

关于地址:

       逻辑地址线性地址是Intel专用术语,ARM体系里面统称虚拟地址.如果你的系统有分页机制,在开机的时候,会通过查页表的方法将虚拟地址转换位物理地址,如果没有,直接转换为物理地址.

   内存管理硬件结构:

   在启动MMU硬件单元后,CPU访问的是虚拟地址,虚拟地址经过MM U,进行虚拟地址到物理地址的转换,转换通常要查询页表,页表通常存在主存储器里面,通常需要访问两次页表,也就是两次内存,比较耗时,MM U为了加快转换速度,采用TLB(快表),TLB也是cach的一种,但是它并不存储数据,而是存储页表的表项,所以在TLB中如果找到上次访问的页表项,这次访问就不需要页表了,这个过程也就是TLB命中,如果没有找到就去查询页表,也叫TLBmiss;

  假定虚拟地址已经转换位物理地址,

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值