操作系统计算题
计算题:
生产消费者问题
为解决生产者消费者问题,应该设两个同步信号量,一个说明空缓冲区的数目,用S1表示,初值为有界缓冲区的大小N,另一个说明已用缓冲区的数目,用S2表示,初值为0。
由于在此问题中有M个生产者和N个消费者,它们在执行生产活动和消费活动中要对有界缓冲区进行操作。由于有界缓冲区是一个临界资源,必须互斥使用,所以,另外还需要设置一个互斥信号量mutex,其初值为1。
页号块号
0 2
1 3
2 1
3 6
解:本题中,为了描述方便,设页号为P,页内位移为W,逻辑地址为A,页面大小为L , 则:p=i nt(A/L)
w=A mod L
对于逻辑地址1011
p=i nt(1011/1024)=0
w=1011 mod 1024=1011
查页表第0页在第二块,所以物理地址为3059。
对于逻辑地址2148
p=i nt(2148/1024)=2
w=2148 mod 1024=100
查页表第2页在第1块,所以物理地址为1124。
二、地址转换
例1:若在一分页存储管理系统中,某作业的页表如下所示。已知页面大小为1024字节,
p=i nt(3000/1024)=2
w=3000 mod 1024=928
查页表第2页在第1块,所以物理地址为1796。
p=i nt(4000/1024)=3 w=4000mod 1024=928
查页表第3页在第6块,所以物理地址为7072。
对于逻辑地址5012
p=i nt(5012/1024)=4
w=5012mod1024=916
因页号超过页表长度,该逻辑地址非法。
例2 :
在一分页存储管理系统中,逻辑地址长度为16位,页面大小为4096字节,现有一逻辑地址为2F6AH,且第0, 1,2页依次存放在物理块5, 10 ,11中,问相应的物理地址为多少?
解:由题目所给给条件可知,本页式系统的逻辑地址结构为:
0010 111101101010
由此可知逻辑地址2F6AH的页号为2,该页存放在第11号物理块中,用十六进制表示志号为B,所以物理地址为BF6AH.
三、求文件最大长度
例:设文件索引节点中有7个地址项,其中4个地
址项为直接地址索引,2个地址项是一级间接地址索
弓I, 1个地址项是二级间接地址索引,每个地址项大
小为4字节,若磁盘索引块和盘块大小均为256字
节,则可表示的单个文件的最大长度是多少?
解答:本题的文件结构属混合索引分配方式。每个地址项大小为4字节,索引块和盘块大小为256字节,每个索引块中的项目数=256B/4B=64个。4个地址项为直接地址索弓I,对应的文件大小为4X256B=1KB。2个地址项是一级间接地址索引,对应的文件大小是
2X64X256B=32KB,一个地址项是二级间接地址索引,对应的文件大小为1X64 X
64 >256B=1024KB。所以单个文件的最大长度=1KB+32KB+1024KB=1057KB 。
四、磁盘调度算法:
1.先来先服务FCFS
C丛1EJO号莊道开始)
蚊访冋的下一>磁道号
55
58
39
90
160
1&O
38
1B4
45
3
19
21
72
70
10
112
146
平均砰道烂底?35*3
逻辑地址2F6AH的二进制表示如下
刚刚完成了 125道的请求.现有如下访盘请求序列(磁道号):
86, 147, 91, 177, 94, 150, 102, 175, 130
2.最短寻道时间优先
3. SCAN 算法
4. 例: 循环扫描(CSCAN )
假设一个活动头磁盘有 200道,编号从0-199.当前磁头正在143道上服务
并且
平均寻違长搜* 27. S
试给出采用下列算法后磁头移动的顺序和移动总量(总磁道数).
(1).先来先服务(FCFS)磁盘调度算法.
(2).最短寻道时间优先(SSTF)磁盘调度算法.
(3).扫描法(SCAN)磁盘调度算法.(假设沿磁头移动方向不再有访问请求时,磁头沿相反方向移动.)
答案:三、(1)86, 147, 91,177, 94, 150,102,175,130
(2)当前磁头在143道上:
147,150,130,102,94,91,86,175,177
(3)当前磁头在143道上,并且刚刚完成125道的请求
147,150,175,177,130,102,94,91,86
五、调度算法(求周转时间,加权周转时间)
1. 先来先服务调度算法FCFS:该算法按照进程进入就绪队列的先后
顺序选择最先
进入该队列的进程,把处理机分配给它,使之投入运行。
例
右二单道坏境卜.某批处鹿也燃令四道作业"Li知【他们的进入系统的I时爰旅估计
诂算旳问如卜=
班作业G的世权则牯时何岛达1 ..
K竹-业u的帯权周传时问仅为1?*
2. 优先级调度算法:总是选择具有最
高优先级的进程首先使用处理机。在这种算法中,首先考虑的问题是如何确定进程的优先
数。分为:
静态优先权:在创建讲程的时候便确定的,且在讲程的运行期间保持不变。(简单
易行,系统开销小,但不够精确,很可能出现优先权低的作业(进程)长期不被调度的情
况。所以,只在要求不太高的系统中,才使用静态优先数(权))
动态优先权:在创建进程时所赋予的优先权, 可以随进程的推进而改变,以便获得
更好的调度性能
例
:
彳列J2?有5个进程P1髦P2V P3. P4x P5, 它们同时依次
进入就绪臥列,它们的优先数和需要的处理机时间如下=进丰呈处理用L时间优先数
P11()3
P211
P323
P414
P552忽略进程调度所花的时间.要求:
(1)分別写出采用先来先服务调度算法和静态优先级调度算法
中进稈的执行次序辛
(2)分别计算各进程在就绪队列屮的等待时间和平均等待时
间°
解:(1)采用先来先服势调度算法时各进程的执行次序为:
P1^P2—P3 —P4—P5o
-采用静态优先级调度算法时各进社Ui勺执行次序为:
P4^P1—P3—P5^P2e
C2)FCFS中,平均等待日寸间 =
(0+10+1 1+13+14) 75 = 9. 6;
静态优先级法中,平均等待时间=
<1+18 + 11+0+13) 75=8- 6
世小处理村L时闫J FCFS^ r-V H'J I'd静盡优先缓洼洋持时间
P11O01
P211018
F321111
P4113O
P5514 1 3
3?最短作业/进程优先法(SJF/SPF): SJF:从后备队列中选择估计运行时间最短的作业,先调入内存运行。
SPF:从就绪队列中选择估计运行时间最短的进程,先将处理机分配给它,使它立即执行。
4?最高响应比作业优先算法(HRN):是对FCFS方式和SJF方式的一种综合平衡响应比。R =(作业等待时间+需运行时间"需运行时间
=1 +已等待时间/需运行时间
=1 + W/T
例
最短作业优先作业算法计算结果