基本分页存储管理的理解

近日在学基本分页管理,想必一定会有人跟我一开始一样对于多个概念理论不理解,这里写下我的理解,有不足之处望指正。
分页基本的目的是为了让程序分散的存放内存中,将进程分成一个个小块,内存也分成小块。进程的小块叫做页(页面) 内存的小块叫页框(物理块) !!!这个概念要记一开始容易混淆
分页的基本思想将逻辑地址转换为物理地址 怎么转换呢?
逻辑地址结构+页表
1⃣️逻辑地址 高地址部分为页号 低地址为偏移量。
2⃣️页表 第一部分页号 第二部分内存中的块号
这里一个用高地址 一个用第一部分描述在下文会有解释
要求出逻辑地址对应的物理地址
1⃣️取出高位的页号,先与页表长度进行比较如果没有溢出说明正确。
2⃣️**逻辑地址中页号对应了页表中的页号!!! ** 页表根据页号找到了起始物理块。
3⃣️逻辑地址中的偏移量(低地址部分)➕上起始的物理块号便找到了对应的物理地址。

上面的三步便是转化
1⃣️系统中存放的页表的起始地址,地址里面存放的是物理块号,如何找到页号对应的物理块,看下图中的3⃣️
对应的页表地址 = 页表始址 + 页号* 页表项长度
这里会有一个疑问 页表项长度是什么 页表项存放的就是一个物理块号
所以我们就可以根据页号找到页表中对应的地址,取出物理块号。
在这里插入图片描述

2⃣️上文讲到逻辑地址中的页号对应着页表的页号,所以我们就可以根据逻辑地址中的页号得到物理块号始址+偏移量,得到物理地址。
3⃣️ 偏移量是什么,打个比方就像是一百人分组,10个人一组,一共有10组,每个小组从1编号,那么偏移量就相当于这个小组中的第几个人。

讲一个题目加深印象
页面大小为1KB ,页面2对应的物理块为8,逻辑地址2500对应的物理地址:
先求出页号,2500/1K=2 (进程每一页大小为1KB,2500对应的就是第2页)
偏移量,2500%1K =452 (每一页1KB,找到第二页的物理始址➕452即可)
物理地址 81024+452= 8644
题目中讲到页面2对应第8块物理地址,一块大小为1024那么第8块对应的物理始址便为8
1024 然后再往前数452便是对应的物理地址,从这个地址中取出内容。在这里插入图片描述

页表项大小介绍
页表项在内存中是连续存放的!!! 所以我们在求页号对应的页表项时候 通过页表始址➕页号✖️页表项大小得到!!!
例子 32位的逻辑地址,一页4KB,地址空间中就有2^32/ 4KB =1M 页
意思是100百个十个人一组分成了10组,你需要十组存放这些人,1M个页,每个页放4KB,在计算机存储时要用二进制啦,log2 1M =20 bit
20位相当于要用3B 存储,所以一个页表项大小要3B,那么1M个页都有一个对应的家啦,用二进制表示第0页就是0000 0000 0000 0000 0000 0000 第1页就是 0000 0000 0000 0000 0000 0001……第1M-1页就是1111 1111 1111 11111 1111 11111(因为是从0号页开始所以最后一页是1M-1)每一个地址中都有对应的物理块

不知道我有没有表示清楚,对于基本分页存储管理还是需要进一步的了解,在这里分享我的理解也是为了让大家指出问题之处,共勉.在这里插入图片描述

  • 9
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值