进程同步与互斥练习

合集下载

4.2 进程同步习题

4.2 进程同步习题

【例】现有4个进程R1,R2,W1,W2。它们共享 可以存放一个数据的缓冲器B。进程R1每次把磁 盘上读出的一个数据存到缓冲器B中,供进程W1 打印输出;进程R2每次从键盘上读一个数据存放 到缓冲器B,供W2打印输出。当一个进程把数据 存放到缓冲器后,在该数据还没有打印输出之前 不准任何进程再想缓冲器中存数据。当一个进程 已把缓冲器中的数据打印输出后,在缓冲器中还 没有存如新数据之前不准任何进程再从缓冲器中 取数打印。问怎样用PV操作使这4个进程并发执 行时能相互协作地工作?
• Semaphore Customers = 0; • Semaphore Barber = 0; • Mutex accessSeats = 1; • int NumberOfFreeSeats = N; //total number of seats
Customer() { while(true) Barbers() { { P(accessSeats); //lock while(true) if(NumberOfFreeSeats >0) { { P(customers); NumberOfFreeSeats--; //等待顾客,睡眠 V(customers);//通知理发师 P(accessSeats); //lock V(accessSeats);//unlock NumberOfFreeSeats++; P(barbers);//等待理发师 V(accessSeats); //unlock 顾客理发 理发中… } V(barbers) ; else }//while V(accessSeats); } }//while }
3 两个进程可以改为 semaphore S1=1 semaphore S2=0 Process X L1:P(S1) 使用资源r V(S2) goto L1

实验、进程的同步与互斥——生产者消费者

实验、进程的同步与互斥——生产者消费者

实验、进程的同步与互斥——⽣产者消费者1. 1. 实验⽬的两个或两个以上的进程,不能同时进⼊关于同⼀组共享变量的临界区域,否则可能发⽣与时间有关的错误,这种现象被称作进程互斥。

对CPU的速度和数⽬不做出任何假设的前提下,并发进程互斥访问临界资源,是⼀个较好的解决⽅案。

另外,还需要解决异步环境下的进程同步问题。

所谓异步环境是指:相互合作的⼀组并发进程,其中每⼀个进程都以各⾃独⽴的、不可预知的速度向前推进;但它们⼜需要密切合作,以实现⼀个共同的任务,即彼此“知道”相互的存在和作⽤。

实验⽬的:分析进程争⽤资源的现象,学习解决进程同步与互斥的⽅法。

本实验属于设计型实验,实验者可根据⾃⾝情况选⽤合适的开发环境和程序架构。

1. 2. 实验原理信号量的PV操作与处理相关,P表⽰通过的意思,V表⽰释放的意思。

1962年,狄克斯特拉离开数学中⼼进⼊位于荷兰南部的艾恩德霍芬技术⼤学(Eindhoven Technical University)任数学教授。

在这⾥,他参加了X8计算机的开发,设计与实现了具有多道程序运⾏能⼒的操作系统——THE Multiprogramming System。

THE是艾恩德霍芬技术⼤学的荷兰⽂Tchnische Hoogeschool Eindhov –en的词头缩写。

狄克斯特拉在THE这个系统中所提出的⼀系统⽅法和技术奠定了计算机现代操作系统的基础,尤其是关于多层体系结构,顺序进程之间的同步和互斥机制这样⼀些重要的思想和概念都是狄克斯特拉在THE中⾸先提出并为以后的操作系统如UNIX等所采⽤的。

为了在单处理机的情况下确定进程(process)能否占有处理机,狄克斯特拉将每个进程分为“就绪”(ready)、“运⾏”(running)和“阻塞”(blocking)三个⼯作状态。

由于在任⼀时刻最多只有⼀个进程可以使⽤处理机,正占⽤着处理机的进程称为“运⾏”进程。

当某进程已具备了使⽤处理机的条件,⽽当前⼜没有处理机供其使⽤,则使该进程处于“就绪”状态。

操作系统第6章 进程互斥与同步

操作系统第6章 进程互斥与同步

Co-begin void Producer_i( ) (i=1,2…k) { item next_p; while(1){ produce an item in next_p P(empty); P(s); add next_p to buffer V(s); V(full); } } void consumer_j( ) (j=1,2…m) { item next_c; while(1){ P(full); P(s); remove an item from buffer to next_c V(s); V(empty); consume the item in next_c}} Co-end
• 进入临界段之前要申请,获得批准方可进入; • 退出临界段之后要声明,以便其他进程进入。
用程序描述: While(1){ entry_section; critical_section; exit_section; remainder_section; }
解决临界段问题的软件算法必须遵循:
准则1:不能虚设硬件指令或假设处理机数目。 准则2:不能假设n个进程的相对速度。 准则3:当一个进程未处于其临界段时,不应阻止 其他进程进入临界段。 准则4:当若干进程欲进入临界段时,应在有限时 间内选出一个进程进入其临界段。 用准则3,4不难推出下面原则 协调各进程入临界段的调度原则: • 当无进程处于临界段时,允许一个进程立即进入临界段。
3.实现临界段的硬件方法
利用处理机提供的特殊指令实现临界区加锁。 常见硬件指令有: ⑴ “Test_and_Set”指令 该指令功能描述为: int *target ( 限定为0,1) int Test_and_Set (int *target) { int temp; temp = *target ; *target = 1; return temp; }

练习题汇总-无答案

练习题汇总-无答案

进程管理(Part 2)一、填空题1.进程的“同步”和“互斥”反映了进程间①和②的关系。

2.死锁产生的原因是①和②。

3.产生死锁的四个必要条件是①、②、③、④。

4.在操作系统中,信号量是表示①的物理实体,它是一个与②有关的整型变量,其值仅能由③原语来改变。

5.每执行一次P原语,信号量的数值S减1。

如果S>=0,该进程①;若S<0,则②该进程,并把它插入该③对应的④队列中。

6.每执行一次V原语,信号量的数值S加1。

如果①,进程继续执行;如果S <=0,则从对应的②队列中移出一个进程R,该进程状态变为③。

7.利用信号量实现进程的①,应为临界区设置一个信号量mutex。

其初值为②,表示该资源尚未使用,临界区应置于③和④原语之间。

8.在多道环境下,由于进程的并发执行,一段程序为多个进程①时,要求在执行的过程中,该段程序的指令和数据不能被②,这样的程序段称为③。

二、单项选择题1.在非剥夺调度方式下,运行进程执行V原语之后,其状态。

(A)不变(B)要变(C)可能要变(D)可能不变2.两个进程争夺同一个资源。

(A)一定死锁(B)不一定死锁(C)不死锁(D)以上说法都不对3.①是一种只能由P操作和V操作进行访问的特殊变量,可以用来实现异步并行进程间的②以排它地访问共享数据,还可以用来实现③,实现进程间在逻辑上的相互制约关系。

(A)调度(B)类程(C)进程(D)互斥(E)信号量(F)控制变量(G)同步(H)共享变量(I)规程(J)分配4.可以被多个进程在任一时刻共享的代码必须是。

(A)不能自身修改的纯码(B)顺序代码(C)无转移指令的代码(D)汇编语言编制的代码5.当对信号量进行V原操作之后,。

(A)当S<0,进程继续执行(B)当S>0,要唤醒一个就绪进程(C)当S<=0,要唤醒一个等待进程(D)当S<=0,要唤醒一个就绪进程6.在下列叙述中,错误的一条是。

(A)进程被撤消时,只需释放该进程的PCB就可以了,因为PCB是进程存在的唯一标志(B)进程的互斥和同步都能用P/V原语实现(C)用户程序中执行系统调用命令时,处理机的状态字将发生改变(D)设备独立性是指用户在编程时,所使用的设备与实际设备无关7.正在运行的进程在信号量S上作P操作之后,当S<0,进程将进入信号量的。

进程互斥与同步-同步

进程互斥与同步-同步

生产者与消费者的同步关系
生产者:当有界缓冲区中无空位置时,要等待; 向有界缓冲区放入物品后,要发消息。 消费者:当有界缓冲区中无物品时,要等待; 从有界缓冲区取出物品后,要发消息。
p1 p2 p3
pm
c1
c2

c3
ck
信号灯设置
两个同步信号灯——
sb :表示空缓冲区的数目,初值 = n
分析:当full=0, mutex = 1时,执行顺序: Consumer.P(mutex) ; Consumer.P(full); // C阻塞,等待Producer 发出的full信号 Producer.P(avail) ; Producer.P(mutex) ; // P 阻塞,等待Consumer发出的avail信号 思考:还有其他的执行序列可以产生死锁吗?
操作实现这两个进程的同步。
cp iop
缓冲区buf
分析任务的同步关系
当cp进程把计算结果送入buf时,iop进程
才能从buf中取出结果去打印,否则必须等
待。
当iop进程把buf中的数据取出打印后,cp
进程才能把下一个计算结果数据送入buf中,
否则必须等待。
cp
iop
缓冲区buf
信号灯设置
sa:表示缓冲区中是否有可供打印的计算 结果,其初值为0。 sb:表示缓冲区有无空位置存放新的信息, 其初值为1。
唤 醒 后
门诊医生: 等 待 …… 开化验单; …… 等 等化验结果; 待 …… 继续诊病;
化验员: …… 等化验单; …… 唤 化验; 醒 填写化验结果; 后 ……
需要两个信号量 s1: 表示化验结果是否出来,初值为0. s2:表示医生是否开化验单,初值为0.

第3章死锁习题及答案

第3章死锁习题及答案

第三章死锁习题一、填空题1.进程的“同步”和“互斥”反映了进程间①和②的关系。

【答案】①直接制约、②间接制约【解析】进程的同步是指在异步环境下的并发进程因直接制约而互相发送消息,进行相互合作、相互等待,使得各进程按一定的速度执行的过程;而进程的互斥是由并发进程同时共享公有资源而造成的对并发进程执行速度的间接制约。

2.死锁产生的原因是①和②。

【答案】①系统资源不足、②进程推进路径非法【解析】死锁产生的根本原因是系统的资源不足而引发了并发进程之间的资源竞争。

由于资源总是有限的,我们不可能为所有要求资源的进程无限地提供资源。

而另一个原因是操作系统应用的动态分配系统各种资源的策略不当,造成并发进程联合推进的路径进入进程相互封锁的危险区。

所以,采用适当的资源分配算法,来达到消除死锁的目的是操作系统主要研究的课题之一。

3.产生死锁的四个必要条件是①、②、③、④。

【答案】①互斥条件、②非抢占条件、③占有且等待资源条件、④循环等待条件【解析】互斥条件:进程对它所需的资源进行排它性控制,即在一段时间内,某资源为一进程所独占。

非抢占条件:进程所获得的资源在未使用完毕之前,不能被其它进程强行夺走,即只能由获得资源的进程自己释放。

占有且等待资源条件:进程每次申请它所需的一部分资源,在等待新资源的同时,继续占有已分配到的资源,循环等待条件:存在一进程循环链,链中每一个进程已获得的资源同时被下一个进程所请求。

4.在操作系统中,信号量是表示①的物理实体,它是一个与②有关的整型变量,其值仅能由③原语来改变。

【答案】①资源,②队列,③P-V【解析】信号量的概念和P-V原语是荷兰科学家E.W.Dijkstra提出来的。

信号量是一个特殊的整型量,它与一个初始状态为空的队列相联系。

信号量代表了资源的实体,操作系统利用它的状态对并发进程共享资源进行管理。

信号量的值只能由P-V原语来改变。

5.每执行一次P原语,信号量的数值S减1。

如果S>=0,该进程①;若S<0,则②该进程,并把它插入该③对应的④队列中。

进程同步和互斥的方法

进程同步和互斥的方法

进程同步和互斥的方法我折腾了好久进程同步和互斥的方法,总算找到点门道。

我一开始真是瞎摸索,就知道进程同步和互斥很重要,也看了些书上的理论,但实际一操作就抓瞎。

先说互斥吧。

我试过那种设置互斥锁的方法。

就好比啊,在一个房间里只有一把钥匙(互斥锁),几个进程就像是好几个人想进这个房间办事。

谁拿到钥匙谁就能进房间,别人就得在外面等着。

最开始我老是忘记在进程用完资源后释放锁,就像那个人办完事了却把钥匙揣兜里走了,后面的人就再也进不去房间了,导致其他进程一直处于等待状态,整个程序就好像卡住了一样。

后来才明白这个释放互斥锁是相当重要的步骤。

还有信号量的方法。

这就像是在电影院售票,要是没票了(信号量的值为0),那想进电影院看电影的进程(人)就只能等着。

在实现进程互斥的时候,信号量的值就设为1,只有一个进程能进入临界区,和互斥锁有点相似的作用。

不过这个操作起来也需要小心,我之前设置信号量的值就设置错了,把初始值设置得过大或者过小,导致不该进去临界区的进程进去了,造成了混乱。

当时可真是让人头疼。

进程同步呢,我也有些经验。

比如说有生产者- 消费者模型的同步。

生产者就像是面包师傅做面包,消费者是买面包的人。

面包店有个仓库(缓冲区)。

要是仓库满了,面包师傅得停下来,这时候就得靠同步机制了。

我使用消息队列来实现这个同步。

生产者把生产好的东西(面包)放入消息队列,当消息队列满了,生产者就暂停生产。

消费者从消息队列里面取东西,要是队列空了,消费者就等待。

虽然这个思路是对的,但在实际编程中,我对消息队列的操作函数不太熟练,老是写错参数之类的。

所以啊,我给大家一些建议,不管用哪种方法实现进程同步和互斥,首先得彻底理解原理,就像盖房子打地基一样重要。

还有就是多做实验,在测试过程中你会发现很多莫名其妙的问题,但正是解决这些问题才能真正掌握这些方法。

另外,写代码的时候千万别着急,一点一点来,不然就容易出现我之前犯过的那些错误。

关于进程同步和互斥还有好多其他的实现方式,我现在也还在学习研究。

进程同步练习

进程同步练习

• 题目4: • 一个快餐店,有两个厨师,一个做中餐,一个做 西餐,厨师做完一份食物就放在窗口,由顾客自 取。窗口只能放下一份食物。到店顾客分两类: 要么只吃中餐,要么只吃西餐。试实现进程同步。 • 分析: • 窗口只能放一份食物,是临界资源,设一互斥信 号量mutex,初值为1 • 两个资源信号量:中餐S1,西餐S2,初值都为0 • 四个进程:中餐厨师,西餐厨师,中餐顾客,西 餐顾客
——处理机调度练习
题目1:假设有4道作业,它们的提交时刻及执行时间 由下表给出: 计算在单道程序环境下,采用先来先服务调度算法 和最短作业优先调度算法时的周转时间和平均带权 周转时间,并指出它们的调度顺序。
(1)先来先服务调度: 顺序:提交时间 开始执行时间 结束时间 1、 Ts1=10:00 10:00 Te1=12:00 2、 Ts2=10:20 12:00 Te2=13:00 3、 Ts3=10:40 13:00 Te3=13:30 4、 Ts4=10:50 13:30 Te4=13:50 T=0.25*(2+2.7+2.8+3)=2.625h W=0.25*(2/2+2.7/1+2.8/0.5+3/0.3)=4.825 (2)最短作业优先调度: 顺序:提交时间 开始执行时间 结束时间
• V操作 即Singal(S) V(S){ s.value++; if(S.value <= 0){从此资源相关的等待队列中唤醒一个进程;} }
• 进程同步问题的求解依据 ——信号量的两种应用
1.实现进程互斥
• • • • 分析题目中的资源、互斥资源,设置信号量及初值 分析题目中的进程,及其行为,进程访问的资源 利用所设置的信号量控制进程对资源的访问 必要时增加共享变量(如计数器),进程对共享变 量的访问是互斥的
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

进程同步与互斥 练习题 选择题 1.任何两个并发进程之间存在着( )的关系。 A.各自完全独立 B.拥有共享变量 C.必须互斥 D.可能相互制约

2.并发进程执行的相对速度是( )。 A.由进程的程序结构决定的 B.由进程自己来控制的 C.在进程被创建时确定的 D.与进程调度策略有关的

3.并发进程执行时可能会出现“与时间有关的错误”,这种错误是由于并发进程( )引起的。 A.使用共享资源 B.执行的顺序性 C.要求计算时间的长短 D.程序的长度

4.并发进程中与共享变量有关的程序段称为( )。 A.共享子程序 B.临界区 C.管理区 D.公共数据区

5.用来实现进程同步与互斥的PV操作实际上是由( )过程组成的。 A.一个可被中断的 B.一个不可被中断的 C.两个可被中断的 D. 两个不可被中断的

6.进程从运行态变为等待态可能由于( )。 A.执行了V操作 B.执行了P操作 C.时间片用完 D.有高优先级进程就绪

7.用PV操作管理互斥使用的资源时,信号量的初值应定义为( )。 A.任意正整数 B.1 C.0 D.-1 8.用P、V操作管理临界区时,互斥信号量的初值应定义为( )。 A.任意值 B.1 C.0 D.-1

9.现有n个具有相关临界区的并发进程,如果某进程调用P操作后变为等待状态,则调用P操作时信号量的值必定为( )。 A.≤0 B.1 C.n-1 D.n

10.用PV操作管理临界区时把信号量的初值定义为1,现已有一个进程在临界区,但有n个进程在等待进人临界区,这时信号量的值为( )。 A.-1 B.1 C.-n D.n

11.用V操作唤醒一个等待进程时,被唤醒进程的状态应变成( )状态。 A.执行 B.就绪 C.运行 D.收容

12.进程间的同步是指进程间在逻辑上的相互( )关系。 A.联接 B.制约 C.继续 D.调用 多项选择题 1.有关并发进程的下列叙述中,( )是正确的。 A.任何时刻允许多个进程在同一CPU上运行 B.进程执行的速度完全由进程自己控制 C.并发进程在访问共享资源时可能出现与时间有关的错误 D.同步是指并发进程中存在的一种制约关系 E.各自独立的并发进程在执行时不会相互影响

2.一个正在运行的进程调用P(s)后,若S的值为( ),则该进程可以继续运行。 A.S>0 B.S<0 C.S≠0 D.S≥0 E.S≤0 判断题 1.有交往的并发进程一定共享某些资源。 ( ) 2.如果不能控制并发进程执行的相对速度,则它们在共享资源时一定会出现与时间有关的错误。 ( ) 3.并发进程的执行结果只取决于进程本身,不受外界影响。 ( ) 4.多道程序设计必然导致进程的并发执行。 ( )

有m个进程共享同一临界资源,若使用信号量机制实现对资源的互斥访问,则信号量值的变化范围是________________。 对于两个并发进程,设互斥信号量为mutex,若mutex=0,则________ A 表示没有进程进入临界区 B 表示有一个进程进入临界区 C表示有一个进程进入临界区,另一个进程等待进入 D 表示有两个进程进入临界区 设系统中有n(n>2)进程,且当前不在执行进程调度程序,试考虑下述4种情况哪种不能发生: A没有运行进程,有2个就绪进程,n-2个进程处于等待状态。 B有1个运行进程,没有就绪进程,n-1个进程处于等待状 C有1个运行进程,有1个就绪进程,n-2个进程处于等待状态 D有1个运行进程,有n-1个就绪进程,没有进程处于等待状态

设有一个作业由四个进程组成,这四个进程在运行时必须按图所示的顺序,用P、V原语操作表达四个进程的同步关系。 应用题 设系统中只有一台打印机,有三个用户的程序在执行过程中都要使用打印机输出计算结果。设每个用户程序对应一个进程。问:这三个进程间有什么样的制约关系?试用P、V操作写出这些进程使用打印机的算法。 判断下面的同步问题的算法是否正确?若有错,请指出错误原因并予以改正 (1)设A、B两进程共用一个缓冲区Q,A向Q写入信息,B则从Q读出信息,算法框图如图所示。 设A、B为两个并发进程,它们共享一临界资源。其运行临界区的算法框图如图所示。

某套装服装厂有甲乙两个制作室和一个配套室。两个制作室分别生产上衣和裤子,每制作一件上衣或裤子后制作室工人都要分别把它们送到配套室的衣架F1和裤架F2上,衣架F1上存放上衣,裤架F2上存放裤子,衣架最多能放50件上衣,裤架最多能放50条裤子。配套室工人每次从架上取一件上衣和一条裤子,然后将它们配成套装,并进行包装。为防止操作出错, 甲制作室工人及配套室工人对衣架F1的存取动作应互斥进行,乙制作室工人及配套室工人对裤架F2的存取动作应互斥进行。用P、V原语进行正确管理,分别描述甲制作室工人、乙制作室工人以及配套室工人的工作过程。

解: (1)设公用信号量mutex1和mutex2控制进程对衣架和裤架的互斥操作 设私用信号量empty1和empty2分别表示衣架和裤架的空位数, full1表示衣架上的衣服数,full2表示裤架上的裤子数 (2)初始化mutex1=1,mutex2=1, empty1=50,empty2=50,full1=0,full2=0

(3)描述: 甲制作室工人工作过程: 乙制作室工人工作过程: L1:生产一件上衣 L2:生产一条裤子 P(empty1) P(empty2) P(mutex1) P(mutex2) 将上衣放到衣架上 将裤子放到裤架上 V(mutex1) V(mutex2) V(full1) V(full2) Goto L1 Goto L2 配套工人工作过程: L3:P(full1) P(full2) P(mutex1) P(mutex2) 分别取上衣和裤子进行配套 V(mutex1) V(mutex2) V(empty1) V(empty2) Goto L3

在一个盒子里,混装了数量相等的黑白围棋子。现在利用自动分拣系统把黑子、白子分开,设分拣系统有两个进程P1和P2,其中进程P1拣白子;进程P2拣黑子。规定每个进程一次拣一子,当一个进程在拣时不允许另一个进程去拣,当一个进程拣了一子时,必须让另一个进程去拣。试写出进程P1和P2能够正确并发执行的程序。

设私有信号量S1=1;S2=0 P1(){ P2(){ P(S1); P(S2); 拣白子; 拣黑子; V(S2);} V(S1);}

有一个仓库,可存放X、Y两种产品,仓库的存储空间足够大,但要求:(1)每次只能存入一种产品X或Y,(2)满足-N号量与P、V操作实现产品X与Y的入库过程。

设互斥信号量mutex=1;私有信号量sx=M-1;sy=N-1; storeX(){ storeY(){ P(sx); P(sy); P(mutex); P(mutex); 将X产品入库; 将X产品入库; V(mutex); V(mutex); V(sy);} V(sx);}

答案 1.D 2.D 3.A 4.B 5.D 6.B 7.B 8.A 9.C 10.B 11.B 12.B 13.A 14.C 15.C 16.D 17.A 18.B 二、多项选择题 1.[分析]任何一台CPU在每一时刻只能解释执行一条指令,因而,不可能在同一时刻为多个进程服务。进程可同时执行的含义是一个进程的工作没有全部完成之前另一进程就可开始工作。所以,实际上多个进程是轮流占用CPU运行的。到底哪个进程能占用处理器不仅与进程自身有关,且受外界因素的影响;当多个进程竞争CPU时,必须由进程调度来决定当前哪个进程可以占用CPU;故每个进程都是走走停停的,进程执行的速度不能完全由进程自己来控制。 并发进程相互之间可能是无关的,即它们是各自独立的,这些进程中每一个进程的执行既不依赖于其它进程也不会影响其它进程的执行。但是,有些并发进程需使用共享资源,为保证进程执行的正确性,对共享资源的使用必须加以限制。同步就是并发进程中的一种制约关系,一个进程能否使用共享资源取决于其它进程的消息,只有指定的消息到达才可使用共享资源。如果无约束地使用共享资源,则可能出现多个进程交替地访问共享资源,于是就可能会出现与时间有关的错误。故本题的答案为C、D、E。 [题解]C、D、E。 2.[分析]根据P操作的定义,当调用P操作时, P操作把信号量S减去1,若结果小于0则调用者将等待信号量,否则可继续运行。因而,若调用P(S)后S的值为>=0则进程可以继续运行,故应选择A和D。要注意不能选择C,因S<>0包含了S>0和S<0,当S<0时进程将成为等待状态而不能运行。 [题解]A,D。 3.[题解]A,C,E。 4.[题解]A,B,C,D,E。

三、判断题 1.[题解]是。 2.[分析]如果不控制并发进程执行的相对速度,则它们在共享资源时可能会出现两种情况:一种是并发进程交替使用共享资源,这样就可能会发生与时间有关的错误;另一种是并发执行的速度没有致使它们交替使用共享资源,这时就不会出现与时间有关的错误。因而,本题的结论“一定会出现与时间有关的错误”是不对的。 [题解]否。 3.[分析]所谓防止死锁是指采用了某种方法后系统一定不会发生死锁。但是,使用PV操作不一定能防止死锁,教材中的五个哲学家问题就是例证。所以, PV操作可以防止死锁的说法是错误的。 [题解]否。 4. [分析]如果一个进程单独执行时,那么执行结果只取决于进程本身,不受外界影响。但多个进程并发执行时,无论是进程本身的原因还是外界的因素都会影响到进程的执行速度。如果并发进程有共享变量且其执行速度造成了它们交替访问共享变量,那么进程的执行结果可能不惟一。故本题的阐述不确切。 [题解]否。 5.[题解]是。

相关文档
最新文档