第3章进程管理一、单项选择题1.在多进程的系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。
所谓临界区是指。
(清华大学1996年研究生试题)a.一个缓冲区 b. 一段数据区 c. 同步机制 d.. 一段程序2. 一个进程是。
(清华大学1996年研究生试题)a.由协处理机执行的一个程序b.一个独立的程序+数据集c.PCB结构与程序和数据的组合 d.一个独立的程序3.在操作系统中,信号量表示资源实体,是一个与队列有关的变量,其值仅能用P、V操作来改变。
(陕西省1995年自考题)a.实型 b.整型 c.布尔型 d.记录型4.设有5个进程共享一个互斥段,如果最多允许有3个进程同时进入互斥段,则所采用的互斥信号量的初值应是。
(陕西省1996年自考题)a. 5b. 3c. 1d. 05.并发进程之间。
(陕西省1997年自考题) a.彼此无关 b、必须同步 c、必须互斥 d、可能需要同步或互斥6.实现进程之间同步与互斥的通信工具为。
a、P、V操作b、信箱通信c、消息缓冲d、高级通信7.N个进程共享某一临界资源,则互斥信号量的取值范围为。
a、0~1b、-1~0c、1~ -(N-1)d、0~ -(N-1)8.设m为同类资源数,n为系统中并发进程数。
当n个进程共享m个互斥资源时,每个进程的最大需求是w;则下列情况会出现系统死锁的是。
a、m=2,n=1,w=2b、m=2,n=2,w=1c、m=4,n=3,w=2d、m=4,n=2,w=3 9.是进程调度算法。
a、时间片轮转法b、先来先服务c、响应比高者优先d、均衡调度算法10.当时,进程从执行状态转变为就绪状态。
(西北工业大学1999年研究生试题)a、进程被调度程序选中b、时间片到b、等待某一事件 d、等待的事件发生11.对两个并发进程,其互斥信号量为mutex;若mutex=0,则表明。
a、没有进程进入临界区 b、有一个进程进入临界区c、一个进程进入临界区而另一个进程正处于等待进入临界区状态d、有两个进程进入临界区12.用P、V操作可以解决互斥问题。
A、某些 b、一个 c、一切 d、大多数13.系统中有n(n>2)个进程,并且当前没有执行进程调度程序,则不可能发生。
A、有一个运行进程,没有就绪进程,剩下的n-1个进程处于等待状态B、有一个运行进程和n-1个就绪进程,但没有进程处于等待状态C、有一个运行进程和1个就绪进程,剩下的n-2个进程处于等待状态D、没有运行进程但有2个就绪进程,剩下的n-2个进程处于等待状态14.下面临界区概念论述正确的是。
a、临界区是指进程中用于实现进程互斥的那段程序代码b、临界区是指进程中用于实现进程同步的那段程序代码c、临界区是指进程中用于实现进程通信的那段程序代码d、临界区是指进程中用于访问临界资源的那段程序代码15.支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,但其中不是引起操作系统选择新进程的直接原因。
(复旦大学1999年研究生试题)a、运行进程的时间片用完b、运行进程出错c、运行进程要等待某一事件的发生d、有新进程进入就绪状态二、填空题1.进程的队列组织,通常采用和的形式。
(陕西省1995年自考题)2.法和法是接触死锁的两种常用方法。
(陕西省1997年自考题)3.当系统创建一个进程时,系统就为其建立一个,当进程被撤消时就将其回收。
(陕西省1998年自考题)4.死锁产生的主要原因是和。
5.死锁产生的4个必要条件是:互斥条件、、和。
6.当多个进程等待分配处理机时,系统按一种规定的策略从多个处于状态的进程中选择一个进程,让它占有处理机,被选中的进程就进入了状态。
7.临界区是指。
8.如果系统中有N个进程,则在等待队列中进程的个数最多为个。
9.在P、V操作中,信号量S的物理意义是当信号量S值大于零时表示;当信号量S值小于零时,其绝对值为。
10.若使当前运行的进程总是优先级最高的进程,应选择进程调度算法。
11.用P、V操作管理临界区时,任何一个进程在进入临界区之前应调用操作,在临界区时应调用操作。
12.如果信号量的当前值为-4,则表示系统在该信号量上有个等待进程。
13.实现一个进程时必须考虑的3个主要问题包括:。
三、问答题1.操作系统中为什么要引入进程的概念?为了实现并发进程间的合作和协调工作,以及保证系统的安全,操作系统在进程管理方面应做哪些工作?(南京大学1997年研究生试题)2.试比较进程和程序的区别。
(哈尔滨工业大学2000年研究生试题)3.进程和线程的主要区别是什么?(西北工业大学1999年研究生试题)4.试比较管程和进程的异同点。
5.进程之间存在哪几种相互制约的关系?各是什么原因引起的?下列活动分别属于哪种制约关系?(北京理工大学1996年研究生试题)(1)若干同学去图书借书;(2)两队举行篮球比赛;(3)流水线生产的各道工序;(4)商品生产和社会消费;6. 进程基本状态变迁如图3-8所示。
问:(1)在什么情况下将发生下述状态的因果变迁?a .2 1 b. 3 2 c. 4 1 d.. 3 1(2)在什么情况下,下述状态变迁不会立即引起其他变迁?a .1b . 2 c. 3 d . 44图3-8 进程基本状态变迁图7. 下述程序是解决两个进程互斥访问临界区问题的一种方法,试从“互斥”、“有空即进”、“有限等待”3个方面讨论它的正确性,如果它是正确的,则证明之;如果它不正确,请说明理由。
Program sample;Var c1 ,c2 :integer ;Procedure p1 ; /*第一个进程p1*/BeginRepeatOther section 1;RepeatC1 :=1-c2Until c2 <>0;Critical section ;/*临界区*/C1 :=1Until falseEndProcedure p2 ;BeginRepeatOther section 2;RepeatC2 :=1-c1Until c1 <>0;Critical section ;/*临界区*/C2 :=1Until falseEnd ;BeginC1 :=1;C2 :=1;CobeginP1 ;P2 ;CoendEnd(1)8. 产生死锁的必要条件是什么?解决死锁问题常用哪几种措施?9.要使一个系统不发生死锁,一般可采用哪些方法?简述它们的实现原理。
10.Dijkstra 1965年提出的银行家算法其主要思想是什么?它能够用来解决实际中的死锁问题吗?为什么?四、解答题1.设有8个程序prog1,prog2,……prog8,它们在并发系统中执行时有如图4-1所示的制约关系,试用P,V操作实现这些程序间的同步。
图4-1 prog1~prog8执行关系图2.两个可以并发执行的程序都分别包含输入、计算的打印3个程序段,即I1、C1、P1、和I2、C2和P2。
两程序的前趋关系如图3-12所示,试用P、V操作实现它们的同步关系。
3.有3个并发进程R、M、P,它们共享同一缓冲区。
进程R负责从输入设备读信息,每读入一个记录后,就把它放进缓冲区中;进程M在缓冲区中加工读入的记录;进程P把加工后的记录打印输出。
读入的记录经加工输出后,缓冲区又可以存放下一个记录。
试写出它们能够正确执行的关发程序。
4. 设有进程A,B,C分别调用过程get,copy,put对缓冲区S和T进行操作。
其中get负责把数据块输入缓冲区S,COPY负责从缓冲区S中提取数据块复制到缓冲区T中,PUT负责从缓冲区S,COPY负责从缓冲区T中提取信息打印,如图3-15所示。
试描述get,copy,put 的操作过程。
图3-15三进程工作示意图5. 进程A1,A2……..,An1通过m个缓冲区向进程B1,B2,….Bn2不断发送消息,发送和接受工作遵循如下规则:(1)每个发送进程一次发送一个消息,写如一个缓冲区,缓冲区大小与消息长度一样;(2)对每一个消息,B1,B2,…….Bn2都需要各接受一次,读入各自的数据区内:(3)m个缓冲区都满时,发送进程等待,没有可读的消息时,接受进程等待。
试用P、V操作组织正确的发送和接受操作。
6.有一个仓库,可以存放A和B两种产品,仓库的存储空间足够大,但要求:(1)一次只能存入一种产品(A或B);(2)-N<A产品数量-B产品数量<M。
其中,N和M是正整数。
试用“存放A”和“存放B”以及P、V操作描述产品A与产品B的入库过程。
(北京大学1991年研究生试题)7.有一个仓库存放两种零件A和B,最大库容量各为m 个。
有一车间不断地取A和B进行装配,每次各取一个。
为避免零件锈蚀,遵循先入库者先出库的原则。
有两组供应商分别不断地供应A和B。
为保证齐套和合理库存,当某种零件的数量比另一种的数量超过n(n<m)个时,暂时对数量大的零件进货,集中补充数量少的零件。
试用P、V操作正确的实现之。
8. 设有一个具有N个信息元素的环形缓冲区,A进程顺序把信息写入缓冲区,B进程依次地从缓冲区读出信息。
回答下列问题:(1)叙述A、B两进程的相互制约关系;(2)判别下列用P、V操作表示的同步算法是否正确?如不正确,试说明理由,并修改成正确算法。
VAR buffer:ARRAY[0..N-1] OF T;in,out:0..N-1;VAR S1,S2:Semaphore;S1:=0; S2:=N;in:=0; out:=0;PROCEDURE A;BEGINREPEAT生产数据m;P(S2);buffer(in):=m;in:=(in+1) mod N;V(S1);foreverEND;PROCEDURE B;BEGINREPEATV(S2);m:=buffer(out);消费m;out:=(out+1) mod N;P(S1);foreverEND;9.多个进程共享一个文件,其中只读文件的称之为读者,其余只写文件的称为写者。
读者可以同时读,但是写者只能独立地写。
(1)说明进程间的相互制约关系,应设哪些信号量?(2)用P、V操作写出其同步算法。
(3)修改上述的同步算法,使得它对写者优先,即一旦有写者到达,后续的读者都必须等待,而无论是否有读者在读文件。
10.设有P1、P2、P3 3个进程共享某一资源F,P1对F只读不写,P2对F只写不读,P3对F先读后写。
当一个进程写F时,其他进程对F不能进行读写,但多个进程同时读F是允许的。
试用P、V操作正确实现P1、P2、P3的同步与互斥。
要求:(1)正常运行时不产生死锁;(2)使用F的并发度要高。
11.设有5个哲学家,共享一张放有5把椅子和桌子,每人分得一把椅子。
但是,桌上总共只有5支筷子,在每人两边各放一支。