文档库 最新最全的文档下载
当前位置:文档库 › 操作系统概论第六章

操作系统概论第六章

一、单项选择题
1.对一组有交互的并发进程来说,它们中的每一个进程(B)
A.所含的程序都相同
B.所含的程序可以不同,但会涉及到共享变量
C.在同一时刻的状态都是相同的
D.执行的结果不受其他进程的影响
2.PV操作是在信号量上的操作。若某进程在调用V操作后释放了一个正在等待信号量的进程,那么在调用前信号量的值为(C)
A.=0 B.=1
C.<0 D.>0
3.系统采用PV操作管理可供n个进程共享的文件F,若允许最多m个进程(n≥m≥1)同时读文件,则处于等待读文件的进程数最多有( B )
A.1个 B.(n-m)个
C.m个 D.n个
4.采用信箱方式进行通信时,不包含在信箱数据结构中的内容是( A )
A.信箱名 B.可存信件数
C.已有信件数 D.可存信件的指针
5.采用银行家算法可避免死锁的发生,这是因为该算法( D )
A.可抢夺已分配的资源
B.能及时为各进程分配资源
C.任何时刻都能保证每个进程得到所需的资源
D.任何时刻都能保证至少有一个进程可得到所需的全部资源
6、对于一组有交互的并发进程来说,下列说法正确的是( C )
A、每个进程分别在不同的数据集合上运行
B、进程的执行结果与其执行的相对速度无关
C、进程间共享某些资源
D、各进程都有固定的中断点
7、进程并发执行时可能会产生与时间有关的错误。形成这种错误是由于若干进程( A )
A、交替地访问了共享变量 B、改变了各自的执行顺序
C、占用处理器的时间太长 D、执行了相同的程序
8、用信箱方式进行进程通信时,信件( B )
A、由发送者组织,且在信件中指出接收者名
B、被存入由信箱指针所指示的位置
C、通过send取出
D、存人信箱后不能被移动位置
9、若某系统有某类资源5个供若干进程共享,不会引起死锁的情况是( A )
A、有6个进程,每个进程需1个资源 B、有5个进程,每个进程需2个资源
C、有4个进程,每个进程需3个资源 D、有3个进程,每个进程需4个资源
10、用PV操作管理必须互斥的一组相关临界区时,若信号量的最小值为-n,则该组相关临界区有( D )
A、2个 B、(n-1)个
C、n个 D、(n+1)个
11.进程间采用信箱方式进行通信时,在信件中应指出( B )
A.接收者名 B.发送者名
C.信件名 D.信箱名
12.对资源采用按序分配策略可以( A )
A.防止死锁 B.避免死锁
C.检测死锁 D.解除死锁
13.用PV操作管理临界区时,若有n个进程在等待进入临界区,则这时的信号量值为( D )
A. n B. l
C. 0 D. -n
14.若进程用信件来传递信息,那么发送信息者的进程名应( )
A.存放在信件中 B.作为send原语的参数
C.作为receive原语的参数 D.存放在信箱说明中
15.不

能防止死锁的资源分配策略是( D )
A.剥夺式分配方式 B.按序分配方式
C.静态分配方式 D.互斥使用分配方式
16.系统有某类资源5个,供3个进程共享,为保证系统的安全,应限定每个进程申请的资源数不超过( B )
A.1个 B.2个
C.3个 D.4个
17、有关并发进程的阐述中,不正确的说法是( D )
A、进程的执行速度不能由进程自己来控制
B、进程的执行速度与进程能占用处理器的时间有关
C、进程的执行速度与是否出现中断事件有关
D、任何两个并发进程之间均存在着相互制约关系
18、用V操作唤醒一个等待进程时,被唤醒进程的状态应该是( B )
A、运行 B、就绪
C、收容 D、执行
19、系统出现死锁时一定同时保持了四个必要条件,对资源采用按序分配策略后可破坏其
中的( D )
A、互斥条件 B、占有且等待条件
C、不可抢占资源条件 D、循环等待条件
20、有n个进程竞争必须互斥使用的共享资源时,若某进程调用P操作后成为第一个等待使用资源者,则此时信号量的值为( D )
A、n-1 B、0
C、1 D、-1
21、有n个进程竞争某共享资源,系统允许每次最多m个进程同时使用该资源,若用PV操作管理时信号量的变化范围为( C )
A、[m,(m+n)] B、[n,(m+n)]
C、[(m-n),m] D、[(m-n),n]
22.并发进程执行的相对速度是( D )
A.由进程的程序结构决定的 B.由进程自己来控制的
C.在进程被创建时确定的 D.与进程调度策略有关
23.并发进程执行时可能会出现“与时间有关的错误”,引起这种错误的原因是 ( B )
A.进程执行的顺序性 B.访问了共享变量
C.程序的结构 D.需要的处理器时间
24.进程间采用信箱通信方式时,可调用send原语把信件投放到( B )
A.发送者信箱 B.接受者信箱
C.指定的工作区 D.指定的PCB
25.对一组进程之间有交互的并发进程来说,它们执行时( A )
A.相互间有依赖关系 B.各自包含的程序相同
 C.速度不受限制 D.产生的结果总是确定的
26.进程间采用信箱通信方式时应该( B )
A.当信箱满时,让接受者“等信箱” B.由接收信件者设置信箱
 C.由发送信件者设置信箱 D.在send原语中指出发送者名
27.临界区是指( D )
A.并发进程中用于实现进程互斥的程序段 B.并发进程中用于实现进程同步的程序段 C.并发进程中用户实现进程通信的程序段 D.并发进程中与共享变量有关的程序段28.对于整型信号量,在执行一次P操作时,信号量的值应( C )
A.不变 B.加1 ?
C.减1 D.减指定数值29.在执行V操作时,当信号量的值( B )时,应释放

一个等待该信号量的进程。
A.>0 B.<0
C.>=0 D.<=030.PV操作必须在屏蔽中断下执行,这种不可变中断的过程称为( B)
A.初始化程序 B.原语
C.子程序 ? D.控制模块31.进程间的互斥与同步分别表示了各进程间的( A )
A.竞争与协作 ? B.相互独立与相互制约
C.不同状态 ? D.动态性与并发性32.并发进程在访问共享资源时的基本关系为( B )
A.相互独立与有交往的 B.互斥与同步
C并行执行与资源共享 D信息传递与信息缓冲33.在间接通信时,用send(N,M)原语发送信件,其中N表示(C)
A.发送信件的进程名 ? B.接收信件的进程名
C.信箱名 D.信件内容34.实现进程互斥时,用(C )对应,对同一个信号量调用PV操作实现互斥。
A.一个信号量与一个临界区 B.一个信号量与—个相关临界区
C.一个信号量与一组相关临界区 D一个信号量与一个消息35.实现进程同步时,每一个消息与一个信号量对应,进程( D)可把不同的消息发送出去。
A.在同一信号量上调用P操作 ? B.在不同信号量上调用P操作
 C.在同一信号量上调用V操作 ? D.在不同信号量上调用V操作
36.用P、V操作管理临界区时,信号量的初值一般应定义为(C )
 A.–1 B.0 C.1 D.任意值
37.有m个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量的变化范围是(A)。
A.1至–(m-1) B.1至m-1 C.1至–m D.1至m
38.设两个进程共用一个临界资源的互斥信号量mutex,当mutex=1时表示(B)。
 A.一个进程进入了临界区,另一个进程等待 B.没有一个进程进入临界区
 C.两个进程都进入了临界区 D.两个进程都在等待
39.设两个进程共用一个临界资源的互斥信号量mutex,当mutex=-1时表示( A )。
 A.一个进程进入了临界区,另一个进程等待 B.没有一个进程进入临界区
 C.两个进程都进入了临界区 D.两个进程都在等待
40.当一进程因在记录型信号量S上执行P(S)操作而被阻塞后,S的值为( B )。
 A.>0 B.<0 C.≥0 D.≤0
41.当一进程因在记录型信号量S上执行V(S)操作而导致唤醒另一进程后,S的值为
 (D)。
 A.>0 B.<0 C.≥0 D.≤0
42.如果信号量的当前值为-4,则表示系统中在该信号量上有(A)个进程等待。
A.4 B.3 C.5 D.0

43.若有4个进程共享同一程序段,而且每次最多允许3个进程进入该程序段,则信号
量的变化范围是(B)。
A.3,2,1,0 B.3,2,1,0,-1
C.4,3,2,1,0 D.2,1,0,-1,-2
44.若信号S的初值为2,当前值为-1,则表示有( B)个等待进程 。
 A.0 B.1 C.2 D.3
45.如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入该互斥段,则信号量的初值应设置为(C)。
A.3 B.1 C.2 D.0
46.(A)操作不是P操作可完成的。
A.为进程分配处理机 B.使信号量的值变小
C.可用于进程的同步 D.使进程进入阻塞状态
47.信箱通信是一种______通信方式。( B )
A.直接通信 B.高级通信
C.低级通信 D.信号量
48.操作系统中,“死锁”的概念是指( C )
A.程序死循环
B.硬件发生故障
C.两个或多个并发进程各自占有某种资源而又都等待别的进程释放它们所占有的资源
D.系统停止运行
49.下面临界区概念论述正确的是( D )
A.临界区是指进程中用于实现进程互斥的那段程序代码
B.临界区是指进程中用于实现进程同步的那段程序代码
C.临界区是指进程中用于实现进程通信的那段程序代码
D.临界区是指并发进程中与共享变量有关的程序段
50.进程并发执行时,每个进程的执行速度是 (D)
A.由进程的程序结构决定的 B.由进程自己控制的
C.在进程被创建时确定的 D.与进程调度的策略有关
51.若干进程共享系统资源时,不属于形成死锁的必要条件的是 ( A )
A.同时使用资源 B.占有并等待资源
C.不可抢夺资源 D.循环等待资源
52.三个进程A、B、C对某类资源的需求量分别是7个、8个和3个,且目前已分别得到了3个、3个和2个。为保证系统的安全,该系统目前剩余的资源至少是(B )
A.1个 B.2个
C.5个 D.10个
53.如果一组并发进程是无关的,下面说法正确的是(A)
A.它们可以包含相同的程序 B.它们包含的程序一定不相同
C.它们不能同时执行 D. 它们可以访问共享主存变量但有各自独立的工作区
54.若采用的资源分配策略能破坏形成死锁的四个必要条件之一,则可防止死锁,但通常不能被破坏的条件是(A)
A.互斥使用资源 B 占有并等待资源
C. 不可抢夺资源 D 循环等待资源
55.系统中有四个进程都要使用某类资源,若每个进程最多需要3个该类资源,为保证相同不发生死锁,系统应提供该类资源至少是(C)
A.3个 B.4个 C.9个 D.12个
56.在实现进程通信时会导致调用Send原语的进程被设置成“等信箱”状态的原因是(D )A.指定的信箱不存在????? B.调用时没有设置参数C.指定的信箱中无信件??? D.指定的信箱中存满了信件57.对

资源采用按序分配的策略可以使产生死锁的______条件不成立。(D)A.互斥使用资源??? B.占有并等待资源C.不可抢夺资源??? D.循环等待资源58.在下列解决死锁的方法中,属于死锁避免策略的是(A)A.银行家算法????????????????B.资源有序分配法C.定时运行死锁检测程序法???? D.资源分配图化简法59.某系统采用了银行家算法,则下列叙述正确的是(B)
A 系统处于不安全状态时一定会发生死锁
B 系统处于不安全状态时可能会发生死锁
C 系统处于安全状态时,可能会发生死锁
D 系统处于安全状态时,一定会发生死锁
二、多项选择题
60.在多道程序设计系统中往往会同时存在着许多进程,对每一个进程来说( ABD)
A.都具有顺序性 B.可能由于自身或外界原因而被中断
C.执行速度可以由进程自己来控制 D.当前能否占用处理器,由进程调度决定
E.执行结果必定不受其他进程的影响
61.有关进程同步与互斥的正确描述是( BCDE )
A.两个具有同一共享变量的临界区的进程不能并发执行
B.进程同步与互斥都是对涉及共享变量的并发进程进行管理
C.必须互斥的进程在执行次序上不一定有必然的联系
D.必须同步的进程在执行次序上有必然的依赖关系
E.实现进程的同步与互斥都是为了避免发生与时间有关的错误
62.用PV操作管理临界区时,应该( BCE )
A.用多个信号量与涉及某共享变量的一组临界区联系起来
B.使P操作和V操作都在信号量上进行操作
C.保证P操作和V操作都是不可中断的过程
D.调用P操作来释放一个等待进入临界区的进程
E.在进入临界区之前调用P操作
63.有关进程的描述中,(AC )是正确的。
A.进程执行的相对速度不能由进程自己来控制
B.利用信号量的P.V操作可以交换大量信息
C.同步是指并发进程之间存在的一种制约关系
D.并发进程在访问共享资源时,不可能出现与时间有关的错误
64.有n个进程都要使用某个文件,但系统限制最多m个(n>m>1)进程同时读文件。若用PV操作来管理,则可能出现的信号量值有 (ABCD)
A.0 B.1
C.m-n D.m
E.n
65.用PV操作来管理可存放n件物品的共享缓存器,现假设缓存其中已存满了物品,且有m(1A.-n B.-m
C.n-m D.m E.n
66.一个进程向其他进程发送信息时,先组织好一封信件,内容应包括(BCDE)
A.授受者名?????????????????????????????? B.发送者名??????????????????????????????? C.信息
D.等不等回信??????????????????????????? E.回信存放地址
67.在多道程序设计系统中,在一个进程的工作没有全部完成之前,另一个进程

就可以开始工作,则这些进程( CE )
A.相互间一定有协作关系 B.是可以同时执行的
C.都是并发进程 D.执行的结果总不会影响其他进程的执行
E.是轮流占用处理器的
68.造成死锁的原因是(BD )
A. 内存容量太小 B. 系统进程数量太多,系统资源分配不当
C. CPU速度太慢 D.进程推进顺序不合适
E. 外存容量太小
69.通常使用的死锁防止策略有( BCE )
A.动态分配资源 B.静态分配资源
C.按序分配资源 D.非剥夺式分配资源
E. 剥夺式分配资源
三、填空题
70、现有12个同类资源供3个进程A、B、C共享,他们各自的最大需求量分别是9、10、4个资源。在第一轮的分配中3个进程已各自占有了3、5、2个资源,现又提出分配2个资源的要求。若系统先满足进程_____C______的请求,则系统将处于安全状态。
71.当一个进程独占处理器顺序执行时,只要初始条件相同,那么不管重复执行多少次都必定获得同样的结果,则称该进程具有可再现性。
72.进程运行被中断后,什么时候能再占用处理器是与_进程调度策略_有关的。
73.有n个进程竞争必须互斥使用的共享资源,当用PV操作管理时,信号量的变化范围是[1,1-n]_。
74.当一个进程独占处理器顺序执行时,其执行结果只取决于进程本身,不受外界影响,则称该进程具有___封闭___性。
75.进程并发执行时可能产生与时间有关的错误,这种错误不仅与进程占用处理器的时间有关,而且与___进程被打断__的时间有关。
76.有n个进程都要使用某个共享文件,但系统限制最多可以有m个进程(n>m>1)同时读文件,用PV操作管理时,信号量值变化时所达到的最小值为___m-n___。
77、用PV操作管理临界区时,把信号量的初值定义为1,现有一个进程在临界区执行,并有n个进程在等待进入临界区,此时信号量的值为_-n _。
78、某系统有m个资源供若干进程共享,若每个进程最多申请2个资源,则允许并发执行的进程最多为___m-1___个时,系统一定不会死锁。
79.系统出现死锁一定同时保持了四个必要条件,只要对资源的分配采用_按序分配资源__策略,则可破坏其中的循环等待条件。
80.并发进程执行时可能会出现结果不唯一的现象,把这种现象称为__与时间有关的错误____。
81.有一个资源可供n个进程共享,但限制它们只能互斥使用,若采用PV操作来管理,则执行过程中可能出现的信号量的最小值为___1-n _。
82.若并发进程在_与共享变量有关的___程序段执行时被中断,则可能发生与时间有关的错误。
83.若某进程调用P操作后不会等待信号量,则在调用P操作前信号量的值一定__大于零___。
84.进程的__顺序性_

是指进程在顺序处理器上的执行是按顺序进行的。
85.当一个进程独占处理器顺序执行时,具有__封闭性____和__可再现性__两个特性。
86.临界区是指并发进程中与__共享变量___有关的程序段。
87. ___PV操作_能把它进程需要的消息发送出去,也能测试自己需要的消息是否到达。
88.通过专门的通信机制实现进程间交换大量信息的通信方式称为_进程通信_。
89.用PV操作实现进程同步时,调用 P操作 测试消息是否到达,调用V操作_发送消息。
90.最基本的通信原语有两条,它们是___发送_原语和___接收_原语。
91.在使PV操作实现进程互斥时,调用 P操作相当于申请一个共享资源,调用V操作相当于归还共享资源的使用权。
92.当死锁检测程序检测到有死锁存在时,通常可采用两种方法来解除死锁。一种是对涉及
死锁的进程采取__强迫进程结束,重新启动操作系统 __,另一种是从涉及死锁的进程中抢夺某些进程占用的资源_。
93.银行家算法是在能确保系统处于_安全_ 状态下才为进程分配资源的,其目的是为了__避免死锁__的发生
94.系统中有四个进程都要使用某类资源,而系统能提供的该类资源数为9个。那么,当每个进程需申请的资源超过___3_____个时,该系统就可能发生死锁。
95.对具有相关临界区的n个进程采用PV操作实现进程互斥时,可能出现的最小值是____1-n 。
96.现有3个进程A,B和C,它们对某类资源的需求量分别为7个,8个和3个。目前已分别得到了3个,3个和2个。如果系统还至少能提供____2____个资源,则该系统处于安全状态。
97、某系统有一个可供n个进程共享的文件,最多允许m个进程(n>m)同时读该文件。采用PV操作管理时,可能出现的信号量最小值是__ m-n_____。
四、简答题
98.设计操作系统时对并发进程的管理主要应解决哪三方面的问题?解决这些问题的目的是什么?

99、并发进程执行的相对速度为什么不能由进程自己来控制?由此可能出现什么情况?
 一个进程运行时,经常会由于自身或外界的原因而被中断,且断点是不固定的。一个进程被中断后,哪个进程可以运行呢?被中断的进程什么时候能再去占用处理器呢?这与进程调度策略有关的。所以进程执行的相对速度不能由进程自己来控制,于是就导致并发进程在共享资源时会出现与时间有关的错误。
100.进程的并发执行可以提高计算机系统的工作效率,但必须对它们进行管理。请简述对并发进程应进行哪些管理。
 答案同98题
101. 管理相关临界区有些什么要求?

102. 假设PV操作用信号量s管理某个共享资源,请问当s>0,S=0和S<0时,它们的物理意义是什么?
信号量S的物理意义如

下:
S>0时,S表示可使用的资源数或表示可使用资源的进程数。
S=0时,表示无资源可供使用和表示不允许进程再进入临界区。
S<0时,│S│表示等待使用资源的进程个数或表示等待进入临界区的进程个数。
103.为什么并发进程执行时可能会产生与时间有关的错误?如何避免?
进程运行时,经常会由于自身或外界的原因而被中断,且断点是不固定的;
 进程能占用处理器的时间由调度策略决定;
 进程执行的相对速度不能由进程自己来控制;
 于是就导致并发进程在共享资源时会出现与时间有关的错误。
 只要使若干并发进程的相关临界区互斥执行,就可避免造成这类错误。
104.银行家算法其主要思想是什么?
银行家算法的基本思想是分配资源之前,判断系统是否是安全的;若是,才分配。即银行家算法分配资源时,测试进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量时,就满足进程当前的申请,否则就推迟分配。
105.产生死锁的必要条件是什么?解决死锁问题常用哪几种措施?
产生死锁的四个必要条件:
(1) 互斥条件:一个资源每次只能被一个进程使用。
(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
解决死锁问题常用措施:
 死锁的防止 死锁的避免 死锁的检测和解除
106. 请给出PV操作的定义。
PV操作是指在信号量上进行的P操作和V操作。假定信号量为s,则P(s)和V(s)的定义如下:
P操作P(s):将信号量S的值减1,若结果小于0,则把调用P(s)的进程置成等待信号量S的状态。
V操作v(s):将信号量S加1,若结果不大于0,则释放一个等待信号量S的进程。
这两个操作可表示成如下两个过程:? ? Procedure P(Var s:semaphore);? ? ? begin s:=s-1; if s<0 then W(s) ? end;? ? Procedure V(Var s:semaphore);? ? ? begin s:=s+1; if s<=0 then R(s) end;其中,W(s)表示将调用P(s)过程的进程置成“等待信号量s”的状态,且将其排入等待队列。R(s)表示释放一个“等待信号量s”的进程,该进程从等待队列退出并加入就绪队列中.
107.某系统有同类资源m个,供n个进程共享,如果每个进程最多申请x(1≤x≤m)个资源,且各进程的最大需求量之和小于(m+n)个资源,证明该系统不会发生死锁。
因为每个进程最多申请x个资源,所以最坏情况是每个进程都得到了(x-1)个资源,并且现在均需申请最后一个资源。此时只要系统中至少还有一个资源可供使用,就可以使这n

个进程中某个进程得到其所需要的全部资源,并能够继续执行到完成,归还资源可供其他进程使用。因而不会发生死锁。即只要n(x-1)+1≤m时,系统不会发生死锁,即nx≤m+n-1时,系统不会发生死锁,推得nx108.什么是死锁?死锁的出现与哪些因素有关?
(1)死锁 : 若系统中存在一组进程(两个或多个进程),它们中的每一个进程都占用了某种资源而又都在等待其中另一个进程所占用的资源,这种等待永远不能结束,则说系统出现了“死锁”。或说这组进程处于“死锁”状态。
(2)引起死锁的因素:死锁的出现除了与资源的分配策略有关外,也与并发进程的执行速度有关,即操作系统对资源管理不得当或没有顾及进程并发执行时可能出现的情况,则就可能形成死锁。
109、进程互斥与进程同步有何异同?

110.什么叫原语?PV操作由哪两条原语组成?它们有什么共同特点?
答:操作系统中往往设计一些能完成特定功能且不可中断的过程。这些不可中断的过程称为原语。PV操作由P操作原语和V操作原语组成。
它们都是对信号量进行操作。
五、综合题
111.当用PV操作来管理一个可容纳n封信件的公用信箱来实现进程通信时,发送进程和接收进程并发执行的程序结构如下:

请在方框位置填上信号量初值或PV操作,以保证并发执行的正确性。
答:①____________n___________;②___________0________________;
③___________P(SP)________;④___________P(S1)____________;
⑤___________V(S1)________;⑥___________V(SG)__ _________;
⑦___________P(SG)________;⑧___________P(S2)____________;
⑨___________V(S2)________;⑩____________V(SP)___________。
112.有一自动管理的地下车库,最多可停放50辆汽车,出入口都有自动感应装置。当有车到达入口时,若车库中没有停满车,则开启入口门让其驶入,否则需等待;当有一辆车要离开车库时,若有车等待进入,则允许一辆车驶入;否则,增加一个空位。假定这个自动管理系统采用PV操作来管理,回答下列问题:
(1)应定义几个信号量?写出信号量的初值。
(2)在下面管理系统的程序结构中的方框位置填上能满足管理要求的P、V操作。

入口: 出口:
begin begin
一辆车到达入口; 一辆车到达出口;
打开车库门;
打开车库门;
汽车驶入车库; 汽车离开车库;
 

end; end;
(3)分别写出信号量值变化成>0、<0和=0时的含义。
答:(1)
(2)①__________________; ②__________________。
(3)

113、设有一个采用PV操作管理的自动售货系统,每次只为一位顾客服务,仅当上一位顾客取走货物后再为下一位顾客服务。该系统由三个进程协作完成,这三个进程的工作流程
如下:

试回答:
(1)三个进程间的关系是同步还是互斥?
(2)应怎样定义信号量及初值?
(3)在上述工作流程的方框位置填上适当的PV操作。
答:(1)同步
(2)定义3个信号量:s1,s2,s3;
初值s1=1,s2=0,s3=0;
(3)①______P(S1)_____; ②_____V(S2)______;
③______P(S2)_____; ④_____V(S3)______;
⑤______P(S3)_____; ⑥_____V(S1)______。
114.某阅览室有50个座位,最多允许50位读者入内查阅资料。人口处有一个采用PV操作管理的自动控制系统,读者必须依次刷卡进入。当进入的人数满50人时,其余读者需等待;如果不满50人或有人离开阅览室则允许欲进入者进入。该系统把每个读者看作一个进程,进程执行的程序如下:

 回答下列问题:
 (1)写出信号量s的含义;
 答:信号量s表示可同时在阅览室的人数。
 (2)把上述程序中方框处填写完整,使其能按要求实现控制。
 答:①___50____;②____P(S)_____;③____V(S)_____。
115. 某系统允许最多10个进程同时读文件F,当同时读文件F的进程不满10个时,欲读该文件的其他进程可立即读,当已有10个进程在读文件F时其他欲读文件F的进程必须等待,直至有进程读完后退出方可去读。请回答下列问题:
(1)在实现管理时应采用同步方式还是互斥方式?
互斥
(2)写出用PV操作实现管理时应定义的信号量及其初值。
定义1个信号量:s;
初值s=10;
(3)写出进程并发执行时的程序。
begin
s:semaphore;
s:=10;
cobegin
 process P i ( i =1,2, … ..)
 begin
P(S);
读文件F ;
退出;
V(S);
end;
 coend;
end;
116. 设有10个缓冲区构成的循环缓冲池,每个缓冲区能容纳一个整数。写进程Writer把整数逐个存入缓冲池,读进程Reader则逐个从缓冲池中取出并打印输出,要求打印的与输入的完全一样,即整数的个数、次序、数均一样。
试问:(1)写进程与读进程之间的制约关系。
写进程把整数存入缓冲池,读进程从缓冲池中取出整数打印输出;当缓冲池没放满10个数时,写进程就可以把整数存入缓冲池,但当缓冲池放满10个数时,写进程再把整数存入缓冲池将被拒

绝;当缓冲区中有整数时,读进程就可以从缓冲池中取出整数并打印输出,当缓冲区中无整数时,读进程再从入缓冲池中取数将被拒绝。
(2)用PV操作同步机制写出这两个进程的同步算法程序。
Begin
B:array[0…9] of integer;
K,t:integer;
s1,s2:semaphore;
k:=0;t:=0;
s1:=10;s2:=0;

cobegin
 process Writer
 begin
L1: P(S1);
B[k]:=读入的整数 ;
k:=(k+1)mod 10;
V(S2);
go to L1
 end;
 
 process Reader
 begin
L2: P(S2);
从B[t] 取出一个整数 ;
t:=(t+1)mod 10;
V(S1);
打印输出该整数;
go to L2
 end;
 
 coend;
end;
117. 某工厂有一条自动控制的流水线,它由生产和包装两部分组成,每生产一个产品后就被传送到一个大箱内,该箱最多可同时容纳100件产品,当箱中有产品时,就要对其一件件进行包装,可把生产和包装看作是两个进程,采用PV操作进程管理,请回答:
 (1)管理方式应采用同步方式还是互斥方式?
同步
(2)怎样定义信号量及其初值?
定义2个信号量:s1,s2;
初值s1=100,s2=0;
(3)写出两进程的程序.
Begin
B:array[0…99] of integer;
K,t:integer;
s1,s2:semaphore;
k:=0;t:=0;
s1:=100;s2:=0;

cobegin
 process producer
 begin
L1: produce a product;
 P(S1);
B[k]:= product;
k:=(k+1)mod 100;
V(S2);
go to L1
 end;
 
 process packer
 begin
L2: P(S2);
take a product from B[t] ;
t:=(t+1)mod 100;
V(S1);
pack;
go to L2
 end;
 
 coend;
end;
118. 四个进程A、B、C、D都要读一个共享文件F,系统允许多个进程同时读文件F。但限制是进程A和进程C不能同时读文件F,进程B和进程D也不能同时读文件F。为了使这四个进程并发执行时能按系统要求使用文件,现用PV操作进行管理,请回答下面的问题:??? (1)应定义的信号量及初值:??????????????????? 。??? (2)在下列的程序中填上适当的P、V操作,以保证它们能正确并发工作:????process A???????????????process B ???????????process C ??????????process? D ????begin???????????????? begin??????????????????? begin??????????????? begin? ???? ? [1];??????????????? [3];????????????????? [5];???????????????? [7];????? read F;???????????? read F;??????????????? read F;????????????? read F;???? [2];??????????????? [4];????????????????? [6];???????????????? [8];?????end;??????????????? end;?????????????? ???end;?????????????????????end;??
答:
(1)定义二个信号量S1、S2,初值均为1,即:S1=1,S2=1。其中进程A和C使用信号量S1,进程B和D使用信号量S2。
(2)从[1]到[8]分别为:P(S1) V(S1) P(S2) V(S2) P(S1) V(S1) P(S2) V(S2)
119.有一只铁笼子,每次只能放

入一只动物,猎手向笼中放入老虎,农民向笼中放入猪,动物园等待取笼中的老虎,饭店等待取笼中的猪,试用P、V操作写出能同步执行的程序。
Begin ??????? process zoo s,s1,s2:semaphore; ?begin?
s:=1;s1:=0;s2:=0; ? L3: P(s1);
??????????? 买老虎; ? ? V(s);
?cobegin????????????????? go to L3 ?process hunter???????????????????? end; ? ?begin?
?L1: P(s)?; process restaurant
放入虎??; begin
V(s1); ?L4: P(s2);
go to L1 买猪;
end; V(s);
go to L4
?process farmer end;
begin?
?L2: P(s)?; coend;
放入猪??; end;
V(s2);
go to L2
end;
120. 由A1、A2和B1、B2二对双打选手进行兵乓球比赛,第一轮由A方A1发球,B方由B1先接球再回球,再由A方A2接球再回球,再由B方B2接球再回球,再由A方A1接球并回球,如此反复,直到一方接球错或一方击球出错。用P、V操作来协调四人的关系时,请回答下列问题:
(1)应设置的信号量及其初值_______
定义4个信号量:s1,s2,s3,s4;
初值s1:=1;s2=0;s3=0;s4=0;
(2) 试用P、V操作写出能同步执行的程序。
begin process A2
s1,s2,s3,s4:semaphore; begin
s1:=1;s2=0;s3=0;s4=0; L3:准备;
P(s3)?;
cobegin 接球再回球;
process A1 V(s4);
begin go to L3
?L1:准备; end;
P(s1)?; process B2
发球/接球再回球; begin
V(s2); L4:准备;
go to L1 P(s4)?;
end; 接球再回球;
V(s1);
?process B1 go to L4
begin end;
?L2:准备;
P(s2)?; coend;
接球再回球; end;
V(s3);
go to L2
end;
121. ?设有两个优先级相同的

进程P1和P2如下,S1和S2初值均为0,求:P1,P2并发执行结束后,x,y,z分别是多少??????????? 进程P1????????????????? 进程P2?????????? y:=1;????????????????????? x:=1;?????????? y:=y+2;????????????????? x:=x+1;?????????? V(s1);??????????????????? P(s1);?????????? z:=y+1;????????????????? x:=x+y;?????????? P(s2);???????????????????? V(s2)?????????? y:=z+y;????????????????? z:=x+z;
因为P1和P2是两个并发进程,所以进程调度程序调度P1和P2的顺序是不确定的。
这里不妨假设P1先执行。进程P1执行到语句P(S2)时,S2=-1,进程P1阻塞。此时,
y=3,z=4。当进程调度程序调度到进程P2时,由于进程P1已执行了V(S1),进程P2在执行P(S1)时并未阻塞而继续执行,当执行到V(S2)时,将P1唤醒,然后执行最后一个语句z:=x+z,此时x=5,z=9。当进程P1再次被调度时,继续执行P1的最后一个语句,此时y=12,最终结果是:x=5,y=12,z=9。
如果当P2进程执行到V(S2)时,将P1唤醒,然后P2进程被中断,此时x=5,y=3,z=4。P1进程开始执行然后执行最后一个语句y:=z+y,此时x=5,y=3,z=7。然后P2进程被调度,执行z:=x+z,此时x=5,y=3,z=12。
如果P2先执行,则执行结果与上面
122. 自行车组装问题:有一个箱子,容量为N,由甲向箱子中放入车轮,由乙向箱子中放入车架,由丙每次从箱子中取出两个车轮一个车架并组装成自行车,用PV操作描述甲、乙、丙三者的进程。
begin
s0,s,s1,s2:semaphore; process 丙
s0=1,s:= N;s1:=0;s2:=0; begin
L3:P(S1);
Cobegin P(S1);
 process 甲 从箱中取二个车轮;
 begin V(S);
 ?L1:加工一个车轮; V(S);
P(S);
P(S0); P(S2);
车轮放入箱子里; 从箱中取一个车架;
V(S1); V(S);
go to L1 组装成一辆自行车;
end; go to L3
end;
 process 乙
 begin coend;
 ?L2:加工一个车架; end;
P(S);
P(S0);
车架放入箱子里;
V(S2);
go to L2
end;
123.假设某系统中有4种资源(R1,R2,R3,R4),在某时刻系统中共有5个进程,进程P1,P2,P3,P4,P5的最大资源需求数量和此刻已分配到资源数向量分别如下

系统中当前可用资源向量为(2,1,0,0),问
(1)当前系统是否是安全

的?
当前系统是安全的
(2)如果进程P3发出资源请求向量(0,1,0,0),系统能否将资源分配给它?
系统不能将资源分配给它
124. 某系统有A、B、C三类资源供5个进程P1、P2、P3、P4、P5共享。系统对这三类资源的拥有的总量为(17,5,20),现在各进程对资源的需求和分配情况如下:

进程 已占资源 最大需求量
A B C A B C
P1 2 1 2 5 5 9
P2 4 0 2 5 3 6
P3 4 0 5 4 O 11
P4 2 0 4 4 2 5
P5 3 1 4 4 2 4
目前系统处于安全状态吗?安全
125.某单位要对参加招聘的人员进行面试。待聘人员先要从1号门进入接待室。接待室最多可同时容纳20人,当不满20人时,允许在门外的等待者进入。每次允许在接待室等待的一个人通过2号门进入面试室,一个面试者结束面试后再让下一个进入。回答下列问题:
(1)把每个面试者看作一个进程。若用PV操作进行管理,应怎样定义信号量及其初值?
(2)在下面进程的程序中的方框位置填写正确的P、V操作,以保证并发进程的正确执行。
答:(1) 定义2个信号量:s1,s2;
初值s1=20,s2=1;
(2) ①____P(S1)________; ②_____ P (S2)_______;
③_____V(S1)_ __; ④______V(S2)_ ____。

相关文档
相关文档 最新文档