软件设计师13--进程调度
- 考点1:PV操作的概念
- 考点2:信号量与PV操作
-
- [进程管理 - PV操作与互斥模型](#进程管理 - PV操作与互斥模型)
- [进程管理 - PV操作与同步模型](#进程管理 - PV操作与同步模型)
- [进程管理 - 互斥与同步模型结合](#进程管理 - 互斥与同步模型结合)
- 例题:
- 考点3:前趋图与PV操作
-
- [进程管理 - PV操作应用](#进程管理 - PV操作应用)
- 例题:
考点1:PV操作的概念
进程的同步与互斥
互斥:如千军万马过独木桥(间接制约关系)
同步:速度差异,在一定情况下等待(直接制约关系)
PV操作
例题:
1、假设系统中有n个进程共享3台扫描仪,并采用PV操作实现进程同步与互斥。若系统信号量S的当前值为-1,进程P1、P2又分别执行了1次P(S)操作,那么信号量S的值应为(B)。
A、3
B、-3
C、1
D、-1
考点2:信号量与PV操作
进程管理 - PV操作与互斥模型
多台进程共享一台打印机问题(互斥模型):
P(S);
使用打印机;
V(S);
后续代码;
互斥信号量S的初始值为1。
进程管理 - PV操作与同步模型
单缓冲区生产者、消费者问题(同步模型):
生产者-->市场-->消费者
生产者:
生产一个产品;
P(S~1~);
送产品到缓冲区;
V(S~2~);
消费者:
P(S~2~);
从缓冲区取产品;
V(S~1~);
消费产品;
S~1~初值为1,S~2~初值为0。
进程管理 - 互斥与同步模型结合
单缓冲区生产者、消费者问题(同步模型):
生产者-->市场-->消费者
生产者:
生产一个产品;
P(S~1~);
P(S);
送产品到缓冲区;
V(S);
V(S~2~);
消费者:
P(S~2~);
P(S);
从缓冲区取产品;
V(S);
V(S~1~);
消费产品;
同步信号量:S~1~初值为1,S~2~初值为0。
互斥信号量:S初值为1。
例题:
1、假设铁路自动售票系统有n个售票终端,该系统为每个售票终端创建一个进程Pi(i=1,2,...,n)管理车票销售过程。假设Tj(j=1,2,...,m)单元存放某日某趟车的车票剩余票数,Temp为Pi进程的临时工作单元,x为某用户的购票张数。Pi进程的工作流程如下图所示,用P操作和V操作实现进程间的同步与互斥。初始化系统应将信号量S赋值为(C)。图中(a)、(b)、(c)处应分别填入(D)。
考点3:前趋图与PV操作
进程管理 - PV操作应用
例题:
1、进程P1、P2、P3、P4和P5的前驱图如下图所示:
若用PV操作控制进程P1、P2、P3、P4和P5并发执行的过程,则需要设置5个信号S1、S2、S3、S4和S5,且信号量S1~S5的初值都等于零。下图中a和b处应分别填(C);c和d处应分别填写(B);e和f处应分别填写(B)。
2、假设某计算机系统中只有一个CPU、一台输入设备和一台输出设备,若系统中有四个作业T1、T2、T3和T4,系统采用优先级调度,且T1的优先级>T2的优先级>T3的优先级>T4的优先级。每个作业Ti具有三个程序段:输入li、计算Ci和输出Pi(i=1,2,3,4),其执行顺序为li→Ci→Pi。这四个作业各程序段并发执行的前驱图如下所示。图中①、②分别为(C),③、④、⑤分别为(D)。
A、I2、P2
B、I2、C2
C、C1、P2
D、C1、P3
A、C2、C4、P4
B、I2、I3、C4
C、I3、P3、P4
D、I3、C4、P4