计算机操作系统常考大题: 1页表,页号,物理块号 2页面置换算法(LRU、FIFO和最佳页面置换) 3磁盘调度算法(FCFS,SSTF,SCANF) 4处理机调度(FCFS,SJF)

例题1 页表,页号,物理块号

课本上的图解
在这里插入图片描述

题目:在分页系统中地址结构长度为16位,页面大小为2K,作业地址空间为6K,该作业的各页依次存放在2、3、6号物理块中,相对地址2500处有一条指令store 1, 4500,请给出该作业的页表,该指令的物理单元和数据存放的物理单元。

解:页面大小为2KB,作业地址空间为6KB,该作业被硬件自动分为3个页面,页面号分别为0、1、2,由题目知:各页依次存放在2、3、6号物理块中,所以页表为:

页号物理块号
02
13
26

逻辑地址是2500,
所在页面号为2500 div 2048=1,
页内地址为2500 mod 2048=452,
查页表,1号页面装入3号物理块中,
所以物理地址为:2K×3+452=6596
由题目知,数据所在逻辑地址为4500,4500=2 * 2K + 404
求得页面号为2,页内地址为404,
查页表,对应的物理块号为6,
故物理地址为:2K * 6+404=12692

例题2 页面置换算法 (LRU、FIFO和最佳页面置换)

页面置换算法中有LRU、FIFO和最佳页面置换算法。针对以下条件,计算上述三个算法下的页面置换过程和缺页中断率:
(1)页面访问序列:2,3,2,1,5,2,4,5,3,2,5,2
(2)分配内存块数:3块,开始时3块都为空

解: 开始时3块都为空,开始时一定是缺页的
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

例题3 页面置换算法 (FIFO,LRU,缺页中断次数)

考虑一个500字的程序的下述逻辑地址访问序列:10,11,104,170,73,309,185,245,246,434,458,364。假定采用页式虚拟内存管理,页面大小为100字,内存中有2个物理块供程序使用,且在开始时物理块没有被任何进程占用。
(1)若采用FIFO页面置换算法,有关该访问序列的缺页中断次数是多少?
(2)若采用LRU页面置换算法,有关该访问序列的缺页中断次数是多少?

解:
访问序列表如下:
在这里插入图片描述
(1)FIFO算法
在这里插入图片描述
(2)LRU算法
在这里插入图片描述

例题4 磁盘调度算法(FCFS,SSTF,SCANF)

某磁盘有8192个磁道,编号为0~8191,在完成了磁道1250处的请求后,当前正在磁道3500处为一个请求服务。若此时请求队列的先后顺序为1000,4000,3300,5600,1300,6000,1200,2500。回答下述问题:

(1)采用FCFS(先来先服务)算法完成上述请求。请写出磁头移动的顺序,并计算平均寻道长度。

(2)采用SSTF(最短寻道时间优先)算法完成上述请求。请写出磁移动的顺序,并计算平均寻道长度。

(3)采用SCAN(电梯)算法完成上述请求。请写出磁头移动的顺序并计算平均寻道长度。

解:平均寻道长度=总长/移动次数

(1)FCFS 先来先服务算法:按请求队列先后顺序
3500->1000->4000->3300->5600->1300->6000->1200->2500
平均寻道长度为:(2500+3000+700+2300+4300+4700+4800+1300)/8=2950

(2)SSTF:拿个进程的寻道位置与当前位置最近,先为该进程服务
3500->3300->4000->2500->1300->1200->1000->5600->6000
平均寻道长度为:(200+700+1500+1200+100+200+4600+100)/8=1112.5

(3)SACNF:起始的向右递增,然后向左递减,模仿电梯动作规律,磁头从1250到达3500,因此先向打磁道号方向处理,再向小磁道号方向处理
3500->4000->5600->6000->3300->2500->1300->1200->1000
平均寻道长度为:(500+1600+400+2700+800+1200+100+200)/8=937.5

例题5 处理机调度(FCFS,SJF)

分别计算按FCFS算法和SJF算法调度以下进程时的平均周转时间和平均带权周转时间。
在这里插入图片描述

解:周转时间=完成时间 - 到达时间
带权周转时间=周转时间 / 服务时间

平均周转时间= (进程A 周转时间 +……+ 进程N 周转时间) / N
平均带权周转时间= (进程A 带权周转时间 +……+ 进程N 带权周转时间) / N

(1)FCFS先来先服务算法
在这里插入图片描述

(2)SJF短作业优先算法
在这里插入图片描述

感谢@lhong540指出SJF短作业优先算法表格中的C的带权周转时间数据写错,数据是16/5=3.2。
而笔者在计算平均带权周转时间用的依旧是3.2,前后不一致,实在是抱歉。现在已修改。
谢谢大佬指点。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值