操作系统经典题型——地址转换(小白也能看懂)

五、地址转换

首先你要知道,在页内存储中逻辑地址和物理地址的概念

逻辑地址 = 页号 + 页内地址

物理地址 = 块号 + 页内地址

可以看到他们其页内地址都是不变的,变的只有前面的页号和块号

所以,地址转换的做题思路就是:页号变块号,页内地址照抄

题型一:十进制地址转换

如题:已知某个分页系统,页面大小为1K(即1024字节),某一个作业有4个页面,分别装入到主存的第3、4、6、8块中,求逻辑地址2100对应的物理地址。

有些题目会直接给你页表,但像这道题没有直接给你,其实他是一样的,如果觉得不清楚,自己画一个

页号块号
03
14
26
38

十进制地址转换很简单,按我们的思路,先求出页号和页内地址,再把页号变块号即可

解题过程:

  1. 求页号:逻辑地址 / 页面大小 (取整数),所以本题页号为2
    2100 / 1024 = 2 2100/1024=2 2100/1024=2

  2. 求业内地址:逻辑地址 % 页面大小 (取余数),所以本题业内地址为52
    2100 % 1024 = 52 2100 \% 1024=52 2100%1024=52

  3. 页号变块号:对应上方的页表,2对应的是6,所以块号是6

  4. 计算物理地址:块号 x 页面大小 + 业内地址 (注意这里块号要乘回页面大小),所以本题物理地址为6196
    6 ∗ 1024 + 52 = 6196 6*1024+52=6196 61024+52=6196

题型二:十六进制地址转换

如题: 设某用户的编程空间共32个页面,每页为1KB,内存容量为16KB。假定用户程序的页表如下所示。请计算逻辑地址0A5CH所对应的物理地址。(要写出计算过程)

页号块号
05
110
24
37

我们来依次解读题目给的东西是什么

32个页面:这里其实就是告诉你页号有多少位,在计算机中是用二进制存储的,所以32=2的5次方,那么页号就有5位

每页为1KB:这里是告诉你页内地址有几位,1KB=1024B=2的10次方,那么业内地址就有10位

内存容量16KB:这里是告诉你最终物理地址有几位,16KB=16*1024B=2的14次方,那么最终物理地址就有14位

知道上述内容,我们解题就很方便了

解题过程:

  1. 将16进制逻辑地址变为2进制
    0 A 5 C H = 0000    1010    0101    1100 0A5CH=0000\ \ 1010\ \ 0101\ \ 1100 0A5CH=0000  1010  0101  1100

  2. 划分页内地址和页号

    先划分页内地址,由于业内地址我们已知10位,所以从后往前数10位就是页内地址

    再划分页号,从第10位开始再从后往前数5位,多余的1个0直接去掉
    0 A 5 C H = 000    10 ‾   10    0101    1100 ‾ 0A5CH=\mathbf{\underline{ 000\ \ 10}}\ \underline{10\ \ 0101\ \ 1100} 0A5CH=000  10 10  0101  1100

  3. 页号变块号

    二进制页号00010转换为10进制是2,根据页表可得块号为4,再把块号转换为二进制(也要五位)
    4 = 00100 B 4=00100B 4=00100B

  4. 由于我们之前知道最终物理地址是14位的,但现在5+10等于15位,多了1位,所以把块号前面去掉1位0,再把业内地址抄回来

    其实这个物理地址的位数并不影响做题,因为前面都是0去不去无所谓
    物理地址 = 01    00 ‾   10    0101    1100 ‾ = 125 C H 物理地址=\mathbf{\underline{01\ \ 00}}\ \underline{10\ \ 0101\ \ 1100}=125CH 物理地址=01  00 10  0101  1100=125CH

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我嘞个乖乖鹅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值