操作系统试题(1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
14.若当前进程因时间片用完而被迫让出处理机,那么该进程的状态应该成为D。
A.就绪B.等待C.完成D.阻塞
二、判断
1.两个进程合作完成一件工作。在并发执行中,一个进程要等待合作者发来消息,或建立某条件后才能向前执行。进程间的这种制约关系应该是同步。(R)
2.有交往的并发进程一定共享某些资源。(F)
3.如果不能控制并发进程执行的相对速度,则它们在共享资源时一定会出现与时间有关的错误。(F)
4.PV操作不仅可用来实现进程的同步与互斥,而且可以防止系统死锁。(F)
5.并发进程的执行结果只取决于进程本身,不受外界影响。(F)
6.多道程序设计必然导致进程的并发执行。(R)
三、填空题
1.一个进程独占处理器顺序执行时具有_资源的独占性______和____结果的再现性___两个特性。
2.把一组可同时执行的进程称为_并发______进程。
10.若信号量S的初值定义为10,则在S上调用了18次P操作和15次V操作后S的值应该为____7___
11.所谓“进程”,是指一个程序在给定数据集合上的一次执行过程,是系统进行资源分配和运行调度的独立单位。
12.通常,把进程程序中真正需要保证互斥执行的那部分程序,称为该进程的临界区。
四、解答题
1.假定有一个可以存放n封信的公用信箱,请用PV操作来实现进程通信。
解答:SP表示信箱中可存放的信件数;
SG表示信箱已有的信件数
(1)P(SP)(2)P(S1) (3)V(S1) (4)V(SG) (5)P(SG) (6)P(S2) (7)V(S2) (8)V(SP)
B[0-n-1]数组
S1=1,S2=1,SP=n,SG=0
K=0,t=0
放信过程:
组织一封信;
(1)P(SP);
While(true)
{
洗水果;
放水果;
}
儿子P2
While(true)
{
取水果;
吃水果;
}
解答:
分析:父亲先放水果,儿子再吃水果;儿子取完水果,父亲再放水果,这两个进程是一个同步关系。
解法1:设信号量m1表示父亲能否放水果,m2表示儿子能否取水果.其初值m1=1,m2=0。
父亲P1
While(true)
设信号量m1表示父亲能否放水果,m2表示儿子能否取桔子,m3表示女儿能否取苹果。
初值:m1=1,m2=0,m3=0
解法2:父亲先放水果,儿子女儿再吃水果;儿子女儿取完水果,父亲再放水果,这三个进程是一个同步关系。
设信号量m1表示父亲放完桔子,m2表示父亲放完苹果,m3表示儿子女儿取完苹果。
初值:m1=1,m2=0,m3=1
解法2:设信号量m1表示P1能否把文件放入缓冲1,m2表示P2能否从缓冲1取完文件,m3表示P2能否把文件放入缓冲2,m4表示p3能否从缓冲2取完文件。
4.过独木桥,试用PV操作来实现进程通信。
P1
{
由西向东过独木桥;
}
P2
{
由东向西过独木桥;
}
解答:进程P1、P2因竞争独木桥这个资源而成为互斥关系。设:信号量m表示独木桥资源,初值为1表示资源可用。
解:从图6-28可以知道,公共数据区的单元Ai(i=1,2,3…)里存放的某月某日第i次航班的现有票数,是j(j=1,2,3…)个售票处共享的数据。因此,这些售票处对公共数据区的单元Ai(i=1,2,3…)的操作不能同时进行。正因为如此,图中把对Ai的这些操作,用名为S的信号量上的P、V操作,保证它们互斥进行。这样处理都是正确的。
7.用PV操作实现进程同步时,进程应调用___P____操作来检测自己等待的消息是否到达,调用__V_____操作则可唤醒一个等待消息的进程。
8.如果在一个取负值的信号量上调用P操作,则将使该进程变为__阻塞_____状态,而调用V操作将使一个等待资源的进程成为__就绪_____状态。
9.有一资源可供n个进程共享,但限制它们只能互斥使用,若采用PV操作来管理则信号量的初值应定义为__1_____,可能出现的信号量的最小值为__-(n-1)_____。
M1=0,m2=0,m3=1;
3.打印文件,试用PV操作来实现进程通信。
分析:P1做完,P2才能做,P3才能做。这三个进程是一个同步关系。
解法1:设信号量m1表示P1能否把文件放进缓冲1,m2表示P2能否从缓冲1取文件,m3表示P2能否把文件放入缓冲2,m4表示p3能否从缓冲2取文件。
M1=n, m2=0, m3=m, m4=0
(3)
解答:父母亲先放水果,儿子再取水果吃;父亲与儿子,母亲与儿子是一个同步关系,父亲与母亲要竞争空盘子。
解法1:设信号量m1表示是否有空盘子,信号量m2表示儿子能否取水果。
Int m1=1,m2=0
父母亲先放水果,儿子再取水果吃;父亲与儿子,母亲与儿子是一个同步关系,父亲与母亲要竞争空盘子。
解法2:设信号量m1表示父亲或母亲放完水果,信号量m2表示儿子取完水果。
解:3个并发进程R、S、T之间有如下的制约关系:
(1)R必须先做,在往缓冲区B里面存入数据后,应该向S发消息,然后等待T打印输出后释放缓冲区B;
(2)S应该与R取得同步,在等到R发来的消息(表明B里面有数据)后,取出加工、回存,然后向T发消息;
(3)T应该与S取得同步,在等到S发来的消息(表明B里的数据已经加工完毕)后,才取出打印,然后向R发消息,表示缓冲区B又可以使用了。
3.有交往的并发进程在竞争共享资源时会出现_与时间有关的______错误。
4.把并发进程中涉及到对共享变量进行访问的程序段称为_临界区______。
5.用PV操作管理相关临界区时,任何一个进程要进人自己的临界区前应调用__P_____、操作,退出临界区时应调用___V____操作。
6.系统中存在多个进程时,这些进程对共享资源的使用存在着不同的相互制约关系,制约关系可归结为两种,一种是__同步_____关系,另一种是_互斥______关系。
V(m);
}
P4
{
P(m);
通过路口;
V(m);
}
6.今有3个并发进程R、S、T,它们共享一个缓冲区B。进程R负责从输入设备读入信息,每读出一个记录后就把它存入缓冲区B中;进程S利用缓冲区B加工进程R存入的记录;进程T把加工完毕的记录打印输出。缓冲区B一次只能存放一个记录。只有在进程T把缓冲区里的记录输出后,才能再往里存放新的记录。试用信号量及其P、V操作控制这3个进程间的的正确工作关系。
关键是当判定没有第i次航班的机票时,图6-28里仅安排了打印“票已售完!”的动作。这样,第j售票处只有进入临界区的P(S),而没有执行退出临界区的V(S)。它没有退出临界区,别的售票窗口也就无法再进入这个临界区。所以,这种安排是不对的。应该把图6-28改成为图6-29,这样就完全正确了。
图6-29正确的第j售票处的售票程序
A.≤0
B.1
C.n-1
D.n
9.用PV操作管理临界区时把信号量的初值定义为1,现已有一个进程在临界区,但有n个进程在等待进人临界区,这时信号量的值为(C)。
A.-1
B.1
C.-n
D.n
10.用V操作唤醒一个等待进程时,被唤醒进程的状态应变成(B)状态。
A.执行
B.就绪
C.运行
D.收容
11.有一共享文件可供n个并发进程使用,但限制最多m个进程(n≥m≥1)可同时读文件,用PV操作进行管理时其信号量的初值应该为(B)。
(2)P(S1);
B[k]=信件;
K=(k+1)mod n;
(3)V(S1);
(4)V(SG);
End;
取信过程:
Begin
(5)P(SG);
(6)P(S2);
从B[t]中取一封信;
T=(t+1)mod n;
(7)V(S2);
(8)V(SP);
End;
2.吃水果,试用PV操作来实现进程通信。
(1)
父亲P1
试题
一、单项选择题
1.任何两个并发进程之间存在着(D)的关系。
A.各自完全独立
B.拥有共享变量
C.必须互斥
D.可能相互制约
2.并发进程执行的相对速度是(D)。
A.由进程的程序结构决定的
B.由进程自己来控制的
C.在进程被创建时确定的
D.与进程调度策略有关的
3.并发进程执行时可能会出现“与时间有关的错误”,这种错误是由于并发进程(A)引起的。
A.n
B.m
C.u-m
D.1
12.在单处理机的多进程系统中,一个进程何时占用处理机以及能够占用多长时间,这将取决于C。
A.该进程程序段的长度
B.该进程需要的运行时间
C.进程自身的推进速度和系统采用的调度策略
D.进程要完成的功能
13.进程是C。
A.一个系统软件B.一个与程序等同的概念
C.一个执行中的程序D.存放在内存中的一个程序
A.使用共享资源
B.执行的顺序性
C.要求计算时间的长短
D.程序的长度
4.并发进程中与共享变量有关的程序段称为(B)。
A.共享子程序
B.临界区
C.管理区
D.公共数据区
5.用来实现进程同步与互斥的PV操作实际上是由(C)过程组成的。
A.一个可被中断的
B.一个不可被中断的
C.两个可被中断的
D.两个不可被中断的
{
洗水果;
P(m1);
放水果;
V(m2);
}
儿子P2
While(true)
{
P(m2);
取水果;
V(m1);
吃水果;
}
解法2:
父亲先放水果,儿子再吃水果;儿子取完水果,父亲再放水果,这两个进程是一个同步关系。
设信号量m1表示父亲放完水果,m2表示儿子取完水果。其初值m1=0,m2=1。
父亲P1
While(true)
6.进程从运行态变为等待态可能由于(BC)。
A.执行了V操作
B.执行了P操作
C.时间片用完
D.有高优先级进程就绪
7.用PV操作管理互斥使用的资源时,信号量的初值应定义为(B)。
A.任意整数
B.1
C.O
D.-1
8.现有n个具有相关临界区的并发进程,如果某进程调用P操作后变为等待状态,则调用P操作时信号量的值必定为(A)。
Int m1=0,m2=1
(4)
分析:父母亲先放水果,儿子女儿再取水果;父亲与女儿,母亲与儿子是一个同步关系,父亲与母亲要竞争空盘子。
解法1:设信号量m1表示是否有空盘子,信号量m2表示儿子能否取苹果,m3表示女儿能否取桔子。
M1=1,m2=0,m3=0;
解法2:设信号量m1表示父亲放完桔子,信号量m2表示母亲放完苹果,m3表示儿子或女儿取完水果。
P1
{
P(m);
通过独木桥;
V(m);
}
P2
{
P(m);
通过独木桥;
V(m);
}
5.过十字路口,试用PV操作来实现进程通信。
P1
{
通过路口;
}
P2
{
通过路口;
}Baidu Nhomakorabea
P3
{
通过路口;
}
P4
{
通过路口;
}
解决:P1
{
P(m);
通过路口;
V(m);
}
P2
{
P(m);
通过路口;
V(m);
}
P3
{
P(m);
通过路口;
从这些关系可以看出,这里是3个同步问题:R要与T取得同步;S要与R取得同步;T要与S取得同步。所以,设置3个同步信号量:
S1——控制S要与R取得同步;
S2——控制T要与S取得同步;
S3——控制R要与T取得同步。
图6-24给出了它们的工作流程示意。
图6-24 R、S、T之间的相互制约关系
7.在飞机订票系统中,假定公共数据区的单元Ai(i=1,2,3…)里存放着某月某日第i次航班现有票数。在第j个售票处,利用变量Rj暂存Ai里的内容。现在为第j个售票处编写代码如图6-28所示。试问它的安排对吗?如果正确,试说明理由;如果不对,指出错误,并做出修改。
{
洗水果;
P(m2);
放水果;
V(m1);
}
儿子P2
While(true)
{
P(m1);
取水果;
V(m2);
吃水果;
}
(2)
父亲P1
While(true)
{
洗水果;
放水果;
}
儿子P2
While(true)
{
取桔子;
吃桔子;
}
女儿P3
While(true)
{
取苹果;
吃苹果;
}
解答:
解法1:父亲先放水果,儿子女儿再吃水果;儿子女儿取完水果,父亲再放水果,这三个进程是一个同步关系。
相关文档
最新文档