OS笔记-分页式存储管理

一,页的定义

对于每一个进程而言,设计一个进程页表或者说维护一个进程页表,他描述了这个进程的每一个逻辑页,对应的物理页面,是第几号页面,也就是他维护了一个虚拟页面,维护了虚拟页面到物理页面的逻辑关系

虚拟页面是用户的页面
物理页面OS中的实际的页面,实际上,页面在OS中的分配可能是不连续的,但是在虚拟页面中,给用户的感觉就是连续的
在这里插入图片描述

分页系统中的页面块,页面数量:
在这里插入图片描述

上图这个是以4KB为一个分页的块,4KB就是212次方,所以0~11位就代表了每一个页的偏移范围,剩余的12位~31位,就是表示最大的页的数量,因为是12位到31位,所以一共有31-12+1 = 20位,可以表示220个页;

二,例题一,从虚拟地址到物理地址到转换

首先有一个页表的起始地址,在页表起始地址寄存器中
然后还有一个页表长度寄存器,记录的是页表的长度,(控制越界)
在这里插入图片描述

如图举例:
图片中给出块的大小是4KB,虚拟地址是十六进制的21C4,则
可根据块大小4KB得到,4K = 212,所以,把21C4展开成二进制后,则后面12位表示每个页的起始地址开始,他的偏移量,又因为1C4展开成二进制恰好是12位所以1C4代表了该页的首地址偏移了1C4,然后,21C4中的2表示了虚拟页号,查表得知,下标为2的页表,对应物理页面8,所以
8乘以块的大小4KB,加上原来的偏移1C4,就是物理地址,
也就是1000左移12位,加上0001 1100 0100
1000 0000 0000 0000
0000 0001 1100 0100
1000 0001 1100 0100
转化为十六进制,每4位压缩后
得到81C4就是本题答案

三,改编例题

改编一题,老师出的题目,我在学小易里面搜到了,但是不小心选错了,鹅鹅鹅,答案应该是第2个在这里插入图片描述

给出的相对地址,也就是虚拟地址,所以就是全0,所以页号也是0,查表得到0对应的是物理页面2,所以物理地址 = 【块大小*物理页面号+页偏移】
也就是(2 KB * 2 + 0) = 211 * 2 = 210 * 4,就是4KB = 4096
故答案是4096,

影响缺页率的因素

笔记内容:

1⃣️块的大小,一般是块越大,缺页率能降低,但是增加了碎片。
举个例子:现在要4.2KB内存,4KB的分配2块多了3.8KB

请求的内存4.2KB碎片
块大小2 KB0.2KB
块大小4KB3.8KB

2⃣️块的数量,一般情况下,块数越多,缺页率越低,
3⃣️缺页置换算法,LRU和FIFO等等。。。。

书本的原话:

1⃣️页面大小。页面划分较大,则缺页率较低,划分小,则缺页率高
2⃣️进程所分配的物理块的数目.分配的物理块数目越多,缺页率越低,反之,则越高
3⃣️页面置换算法,LRU,FIFO,LFU等。。。
4⃣️程序固有的特性,根据程序执行的局部性原理,程序编制的局部化程度越高,相应执行的缺页程度越低。

分页地址的地址结构:

页号P位移量
31~16位15~0位

参考内容

网课参考的是东北大学的操作系统,他跟我们老师讲课的内容比较接近
教材采用的是汤晓丹的操作系统

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

dareu_4523

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

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

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

打赏作者

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

抵扣说明:

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

余额充值