操作系统作业题(含答案) 下载本文

作业一:作业管理

1、 有三道程序A、B、C在一个系统中运行,该系统有输入、输出设备各1台。三道程序

A、B、C构成如下:

A:输入32秒,计算8秒,输出5秒 B:输入21秒,计算14秒,输出35秒 C:输入12秒,计算32秒,输出15秒

问: (1)三道程序顺序执行的总时间是多少?

(2)充分发挥各设备的效能,并行执行上述三道程序,最短需多少时间(不计系统开销)?并给出相应的示意图。

作业一解答过程:

1、(1)三道程序顺序执行的总时间是:32+8+5+21+14+35+12+32+15=174秒。 (2)充分发挥各设备的效能,并行执行上述三道程序,最短需90秒(按BCA顺序执行),示意图如下:

输入 计算 输出 输入 计算 输出 输入 计算 输出 程序A 程序B 程序C 0 21 35 65 70 85 90 时间(秒)

注:按ABC执行需117s,按ACB执行需126s,按BAC执行需112s,按BCA执行需90s,

按CAB执行 114s,按CBA执行需99s。

作业二:进程管理

1、 有以下5条语句,请画出这5条语句的前趋图。(PPT第3章)

S1:y=x+1 R(x) W(y) S2:c=f-w R(f,w) W(c) S3:d=r-y R(r,y) W(d) S4:x=a+b R(a,b) W(x) S5:r=c+y R(c,y) W(r)

2、 设有k个进程共享一临界区,对于下述情况,请说明信号量的初值、含义,并用P,V

操作写出有关互斥算法。

(1) 一次只允许一个进程进入临界区;

(2) 一次允许m(m

作业二解答过程:

1、前趋图:

S4 S2 S1 S5 S3 2、(1)一次只允许一个进程进入临界区: 设s为互斥信号量,初值为1,表示有1个空闲且可用的共享临界资源 对任一进程Pi(1≤i≤k): P(s) <进入临界区> V(s) 信号量s的变化范围为[-(k-1) ,…,-1,0,1]。其中,s=1表示有1个空闲且可用的临界资源,且没有进程进入类名为s的临界区;s=0表示有1个进程在临界区中(该临界资源已被某进程占用),但无等待使用该临界资源的进程;s=-n(1≤n≤k-1,n为整数)表示有1个进程在临界区中,且有n个进程等待使用该临界资源。 (2)一次允许m(m

<进入临界区> 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个进程等待使用该临界资源。

作业三:进程管理

1、 假若一个街道交通如下图所示,若有一长度大于两个路口距离的车,可以从东南西北四

个方向开来,问(1)何时会发生死锁?(2)请提出一种可预防死锁发生的简单方法。

2、 某超市市场科容纳100人同时购物,入口处备有篮子,每个购物者可取1只篮子入内购

物,出口处结账并归还篮子(出、入口仅容1人通过)。请试用P,V操作及信号量写出如下情况的购物同步算法:

(1)1个出入口,且一次只允许1人通过; (2)1个入口,n个出口(n≥1且为整数)。

3、设有无穷多个缓冲区和无穷多个信息,甲进程把信息逐个写入每个缓冲区,乙进程则逐个地从缓冲区中取出信息。试问: (1)两个进程间的制约关系; (2)用P,V操作写出两个进程的同步算法,并给出信号量的初值; (3)指出信号量的值的变化范围及取值的含义。