设s为互斥信号量,初值为m,表示有m个空闲且可用的共享临界资源,即可允许m个进程同时进入该临界区
对任一进程Pi(1≤i≤k):
P(s)
<进入临界区>
V(s)
信号量s的变化范围为[-(k-m),…,-1,0,1,…,m]。
其中,s=m表示有m个空闲且可用的临界资源,且没有进程进入类名为s的临界区;s=j(1≤j<m,j为整数)表示有m-j个进程正在该临界区中,且仍有j个空闲且可用的临界资源,但无等待使用该临界资源的进程;s=0表示有m个进程在临界区中,目前无空闲且可用的临界资源,但无等待使用该临界资源的进程;s=-n(1≤n≤k-m,n为整数)表示有m个进程在临界区中,目前无空闲且可用的临界资源,且有n个进程等待使用该临界资源。
作业三:
进程管理
3、假若一个街道交通如下图所示,若有一长度大于两个路口距离的车,可以从东南西北四个方向开来,问
(1)何时会发生死锁?
(2)请提出一种可预防死锁发生的简单方法。
./
4、某超市市场科容纳100人同时购物,入口处备有篮子,每个购物者可取1只篮子入内购物,出口处结账并归还篮子(出、入口仅容1人通过)。
请试用P,V操作及信号量写出如下情况的购物同步算法:
(1)1个出入口,且一次只允许1人通过;
(2)1个入口,n个出口(n≥1且为整数)。
3、设有无穷多个缓冲区和无穷多个信息,甲进程把信息逐个写入每个缓冲区,乙进程则逐个地从缓冲区中取出信息。
试问:
(1)两个进程间的制约关系;
(2)用P,V操作写出两个进程的同步算法,并给出信号量的初值;
(3)指出信号量的值的变化范围及取值的含义。
作业三解答过程:
1、
(1)何时会发生死锁?
(2)请提出一种可预防死锁发生的简单方法
设4个路口为4个资源,其信号量分别设为S1,S2,S3和S4,初值均为1,代表资源空闲可用,下面用P,V操作预防死锁问题:
方向①进程:
P(S1,S2)
<通过S1、S2路口>
V(S1,S2)
方向②进程:
P(S2,S4)
<通过S2、S4路口>
V(S2,S4)
方向③进程:
P(S3,S4)
<通过S3、S4路口>
V(S3,S4)
方向④进程:
P(S1,S3)
<通过S1、S3路口>
V(S1,S3)
信号量S1,S2,S3和S4的变化范围均为[-∞,…,-1,0,1]。
其中,S1~S4=1表示有1个空闲且可用的临界资源,且没有进程进入类名为S1~S4的临界区;S1~S4=0表示有1个进程在临界区中,目前无空闲且可用的临界资源,但无等待使用该临界资源的进程;S1~S4=-m(m为正整数)表示有1个进程正在该临界区中,目前无空闲且可用的临界资源,且有m个进程等待使用该临界资源。
2、
(1)1个出入口,且一次只允许1人通过:
设超市容量信号量为S,初值为100;购物进程为Pi,购物信号量为mutex,初值为1。
购物进程Pi同步描述:
P(S)
P(mutex)
<进入超市并取1只篮子>
V(mutex)
<选购商品>
P(mutex)
<结账并归还篮子>
V(mutex)
V(S)
信号量S的变化范围为[-m,…,-1,0,1,…,100](m为正整数)。
其中,S=100表示有100个空闲且可用的临界资源,且没有进程进入类名为S的临界区;s=j(1≤j<100,j为整数)表示有100-j个进程正在该临界区中,且仍有j个空闲且可用的临界资源,但无等待使用该临界资源的进程;s=0表示有100个进程在临界区中,目前无空闲且可用的临界资源,但无等待使用该临界资源的进程;s=-m(m为正整数)表示有100个进程在临界区中,目前无空闲且可用的临界资源,且有m个进程等待使用该临界资源;信号量mutex的变化范围为[-99,…,-1,0,1]。
其中,……
(2)1个入口,n个出口(n≥1且为整数)
设购物进程为Pi,;超市容量信号量为S,初值为100;入口互斥信号量为mutex1,初值为1;出口互斥信号量为mutex2,初值为n。
购物进程Pi同步描述:
P(S)
P(mutex1)
<进入超市并取1只篮子>
V(mutex1)
<选购商品>
P(mutex2)
<结账并归还篮子>
V(mutex2)
V(S)
信号量S的变化范围为[-m,…,-1,0,1,…,100](m为正整数)。
其中,……;信号量mutex1和mutex2的变化范围均为[-99,…,-1,0,1]。
其中,……
3、
(1)两个进程间的制约关系:
乙进程不能先于甲进程执行,而甲进程不受乙进程约束。
(2)设置1个信号量S,S表示甲进程写满的缓冲区的个数,S初值为0,表示缓冲区为空,则甲、乙两进程的同步算法描述为
甲进程:
i=0
i=i+1
<写入第i个缓冲区>
V(S)
乙进程:
j=0
j=j+1
P(S)
<读出第j个缓冲区>
(3)信号量S的变化范围为[-1,+∞]中的整数,当S=-1时表示缓冲区从未被写入信息或缓冲区信息被乙进程读空,且乙进程要求进一步读缓冲区中的信息,即乙进程超前甲进程欲读取缓冲区的信息而受阻。
作业四:
作业、进程调度
1、下面哪几种调度算法适合于作业调度,哪些适合进程调度?
(1)先来先服务
(2)轮转法(3)短作业优先(4)优先级高者优先(5)长作业优先
2、作业调度算法选择作业的原则可以是保证系统吞吐量大、对用户公平合理或者充分发挥系统资源的利用率。
下表给出了3种简单的作业调度算法:
调度算法
吞吐量大
公平合理
发挥资源利用率
先来先服务
最短作业优先
?
?
?
(1)请指出每种算法主要是体现了上述哪种原则。
(在对应的行列上打上记号√)
(2)如果在实际系统中只采用上述3种简单算法的任一种,都只能体现其中一种原则而其它原则得不到反映。
为此,给出下列能反映多种原则的调度算法,并假定完全根据优先数从高到低顺序挑选作业,作业优先数按下述公式计算:
R(优先数)=(作业等待时间)2+1/(作业要求运行时间)
请问这种算法反映了上述原则中的哪些原则?
并简述理由。
3、假设有4道作业,它们的提交时刻及运行时间由下表给出:
作业号
提交时刻/小时
执行时间/小时
1
10.00
2
2
10.20
1
3
10.40
0.5
4
10.50
0.3
计算在单道程序环境下,采用先来先服务调度算法、最短作业优先调度算法和最高响应比优先调度算法时的平均周转时间和平均带权周转时间,并指出他们的调度顺序。
作业四解答过程:
1、适用于作业调度用的算法:
(1)(3)(4)(5),适用于进程调度用的算法:
(1)
(2)(4)。
2、
(1)
调度算法
吞吐量大
公平合理
发挥资源利用率
先来先服务
√
最短作业优先
√
√
(2)该算法体现了先来先服务原则和最短作业优先原则。
理由如下:
体现先来先服务原则:
假若两作业运行时间相同,但到达时间不同,早到达的作业等待时间长,根据公式计算,它的优先数大,则优先调度。
体现最短作业优先原则:
假若两道作业同时到达,但运行时间不等,根据公式计算,运行时间短的作业其优先数高,因而优先调度。
3、
(1)先来先服务(FCFS)调度:
调度顺序为1→2→3→4。
作业号
到达时间
结束时间
周转时间
带权周转时间
1
10.00
12.00
2
1.00
2
10.20
13.00
2.8
2.80
3
10.40
13.50
3.1
6.20
4
10.50
13.80
3.3
11.00
平均周转时间T=(2+2.8+3.1+3.3)/4=2.8小时
平均带权周转时间W=(1+2.8+6.2+11)/4=5.25小时
(2)最短作业优先(SJF)调度:
调度顺序为1→4→3→2。
作业号
到达时间
结束时间
周转时间
带权周转时间
1
10.00
12.00
2
1
4
10.50
12.30
1.80
6
3
10.40
12.80
2.40
4.8
2
10.20
13.80
3.60
3.6
平均周转时间T=(2+1.8+2.4+3.6)/4=2.45小时
平均带权周转时间W=(1+6+4.8+3.6)/4=3.85小时
(3)最高响应比优先(HRN)调度:
调度顺序为1→4→3→2。
响应比=(作业执行时间+作业等待时间)/作业执行时间
从下表可见,在作业1完成时刻(12.00),作业2、3、4的响应比最高的为4;在作业4完成时刻(12.30),作业2、3的响应比最高的为3。
作业号
等待时间
执行时间
响应比
2
1.80
1
2.8
3
1.60
0.5
4.2
4
1.50
0.3
6
2
2.1
1
3.1
3
1.9
0.5
4.8
作业号
到达时间
结束时间
周转时间
带权周转时间
1
10.00
12.00
2
1
4
10.50
12.30
1.80
6
3
10.40
12.80
2.40
4.8
2
10.20
13.80
3.60
3.6
平均周转时间T=(2+1.8+2.4+3.6)/4=2.45小时
平均带权周转时间W=(1+6+4.8+3.6)/4=3.85小时
作业五:
存储管理
1、假定某页式虚拟系统中,页面大小为100个单元,某作业占有实页面数为M=3,它的访问地址(走向)序列为75,175,66,267,32,102,333,166,22,255,256(数字为虚存的逻辑地址)。
(1)请指出这些单元对应的页面访问顺序序列;
(2)按先来先服务(FIFO)页面淘汰算法求出缺页率f,并画出图表表示之;(3)按最近最久未使用(LRU)页面置换算法求出缺页率f,并画出图表表示之。
2、有系统其主存容量为1024K(字节),有6个作业同时到达,各作业要求主存量和运行时间如下表所示。
假定系统初启时,将主存1024K按作业的编号顺序分给各道作业,并假定是多CPU下,分配到主存的作业都可以立即运行。
请问:
(1)1秒后,主存空白区按首次适应和最佳适应算法的链接方式链接,将如何链接?
(2)2秒后,主存空白区按首次适应和最佳适应算法的链接方式链接,将如何链接?
(3)在
(2)后,此时有一个作业7要求进入主存,它需要主存量为30K,按上述两种算法应把那一块空白区分给它,并画出分配后的链接情况。
作业编号
需主存量(K)
运行时间(s)
1
200
2
2
120
1
3
100
3
4
50
1
5
80
3
6
320
2
作业五解答过程:
1、
(1)访问序列为0,1,0,2,0,1,3,1,0,2,2。
(2)FIFO:
页面