第3章 进程同步与通信 练习题答案

合集下载

操作系统课后答案详解

操作系统课后答案详解

第一章操作系统引论思考与练习题1.什么是操作系统?它的主要功能是什么?2.什么是多道程序设计技术?多道程序设计技术的主要特点是什么?3.批处理系统是怎样的一种操作系统?它的特点是什么?4.什么是分时系统?什么是实时系统?试从交互性,及时性,独立性,多路性,可靠性等几个方面比较分时系统和实施系统。

5.实时系统分为哪俩种类型?6.操作系统主要特征是什么?7.操作系统也用户的接口有几种?它们各自用在什么场合?8.“操作系统是控制硬件的软件”这一说法确切吗?为什么?9.设内存中有三道程序,A,B,C,它们按A~B~C的先后顺序执行,它们进行“计算”和“I/o操作”的时间如表1-2所示,假设三道程序使用相同的I/O设备。

(1)试画出单道运行时三道程序的时间关系图,并计算完成三道程序要花多少时间。

(2)试画出多道运行时三道程序的时间关系图,并计算完成三道程序要花多少时间。

10.将下列左右两列词连接起来形成意义最恰当的5对。

DOS 网络操作系统OS/2 自由软件UNIX 多任务Linux 单任务Windows NT 为开发操作系统而设计 C语言11.选择一个现代操作系统,查找和阅读相关的技术资料,写一篇关于操作系统如何进行内存管理、存储管理、设备管理和文件管理的文章。

答案1.答:操作系统是控制和管理计算机的软、硬件资源,合理地组织计算机的工作流程,以方便用户使用的程序集合。

2.答:把多个独立的程序同时放入内存,使她们共享系统中的资源。

1)多道,即计算机内存中同时放多道相互独立的程序。

2)宏观上并行,是指共识进入系统的多道程序都处于运行过程。

3)微观上串行,是指在单道处理机环境下,内存中的多道程序轮流地占有CPU,交替执行。

3.答:批处理操作系统是一种基本的操作系统类型。

在该系统中用户的作业被成批地输入到计算机中,然后在操作系统的控制下,用户的作业自动的执行。

特点是:资源利用率高。

系统吞吐量大。

平均周转时间长。

第三章 进程 习题

第三章 进程 习题
F,死锁是指因相互竞争资源使得系统中有多个阻塞进程的情况;
G,若系统中并发运行的进程和资源之间满足互斥使用,保持和等待,非剥夺性和循环等待,则可判定系统中发生了死锁;
H,在对付死锁的策略中,解除死锁通常都是和检测死锁配套使用;
I,产生死锁的原因可归结为竞争资源和进程推进顺序不当;
J,在死锁的解决方法中,由于避免死锁采用静态分配资源策略,所以对资源的利用率不高.
如果某一进程获得除CPU外的所有所需运行资源,经调度,分配给它CPU,该进程将进入( ).
A,就绪状态B,运行状态
C,等待状态D,活动状态
如果某一进程在运行时,因某种原因暂停,此时将脱离运行状态,而进入( ).
A,自由状态B,停止状态
C,等待状态D,静止状态
进程从运行状态变为等待状态的原因是( ).
A,共享资源B,临界区
C,临界资源D,共享区
答案-1:C
临界区是指( ).
A,并发进程中用于实现进程互斥的程序段
B,并发程序中用于实现进程同步的程序段
C,并发程序中用于实现进程通信的程序段
D,并发程序中与共享变量有关的程序段
答案-6:D
进程是( ).
A,与程序等效的概念B,并发环境中程序的执行过程
C,一个系统软件D,存放在内存中的程序
在进程通信中,使用信箱方式交换信息的是( ).
A,低级通信B,高级通信C,共享存储器通信D,管道通信
答案:B(普通)
关于进程,下列叙述不正确的是( ).
A,进程包含了数据和运行其上的程序
B,同一个程序运行在不同的数据集合上时,构成了不同的进程
C,一个被创建了的进程,在它消亡之前,总是处于3种基本状态之一
(×)2,具有多道功能的操作系统一定是多用户操作系统.

(完整版)第三章进程同步与通信作业习题与答案

(完整版)第三章进程同步与通信作业习题与答案

第三章一.选择题(50题)1.以下_B__操作系统中的技术是用来解决进程同步的。

A.管道B.管程C.通道D.DMA2.以下_B__不是操作系统的进程通信手段。

A.管道B.原语C.套接字D.文件映射3.如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为_B__。

A.3B.2C.1D.04.设有4个进程共享一个资源,如果每次只允许一个进程使用该资源,则用P、V 操作管理时信号量S的可能取值是_C__。

A.3,2,1,0,-1B.2,1,0,-1,-2C. 1,0,-1,-2,-3D.4,3,2,1,05.下面有关进程的描述,是正确的__A__。

A.进程执行的相对速度不能由进程自己来控制B.进程利用信号量的P、V 操作可以交换大量的信息C.并发进程在访问共享资源时,不可能出现与时间有关的错误D.P、V操作不是原语操作6.信号灯可以用来实现进程之间的_B__。

A.调度B.同步与互斥C.同步D.互斥7.对于两个并发进程都想进入临界区,设互斥信号量为S,若某时S=0,表示_B_ _。

A.没有进程进入临界区B.有1个进程进入了临界区C. 有2个进程进入了临界区D. 有1个进程进入了临界区并且另一个进程正等待进入8. 信箱通信是一种_B__方式A.直接通信B.间接通信C.低级通信D.信号量9.以下关于临界区的说法,是正确的_C__。

A.对于临界区,最重要的是判断哪个进程先进入B.若进程A已进入临界区,而进程B的优先级高于进程A,则进程B可以打断进程A而自己进入临界区C. 信号量的初值非负,在其上只能做PV操作D.两个互斥进程在临界区内,对共享变量的操作是相同的10. 并发是指_C__。

A.可平行执行的进程B.可先后执行的进程C.可同时执行的进程D.不可中断的进程11. 临界区是_C__。

A.一个缓冲区B.一段数据区C.一段程序D.栈12.进程在处理机上执行,它们的关系是_C__。

考研操作系统-进程的同步与通信

考研操作系统-进程的同步与通信

考研操作系统-进程的同步与通信(总分:82.00,做题时间:90分钟)一、单项选择题(总题数:12,分数:24.00)1.相关临界区是指( )。

A.一个共享资源B.并发进程中涉及相同变量的那些程序段√C.并发进程中与共享变量有关的程序段D.一个独占资源2.下列关于P、V操作的说法中正确的是( )。

A.P、V操作是两个操作,而且都是原语操作√B.P、V操作中P操作可以不用原语方式,而V操作必须使用原语操作C.P、V操作是一个过程,同一般函数,过程一样,只是执行管理临界区的操作D.P、V操作中P操作必须使用原语方式,而V操作可以不使用原语操作3.由于并发进程之间( )不能由进程本身控制,当它们在共享某些资源的时候可能会产生与时间有关的错误。

A.分配外部设备B.分配内存空间C.执行的相对速度√D.占用存储器的位置4.下面对线程的描述中,错误的是( )。

A.同一进程中的线程可共享该进程的主存空间B.线程是调度和执行单位C.不同的线程可执行相同的程序D.线程是资源分配单位√5.如果有4个进程共享同一程序段,每次允许3个进程进入该程序段,若用P、V操作作为同步机制,则信号量的取值范围是( )。

A.4,3,2,1,-1B.2,1,0,-1,-2C.3,2,1,0,-1 √D.2,1,0,-2,-36.在进程通信中,( )常用信件交换信息。

A.低级通信B.高级通信√C.信息缓冲D.消息通信7.下列关于进程和线程的说法中正确的是( )。

A.线程是进程中可独立执行的子任务,一个进程可以包含一个或多个线程,一个线程可以属于一个或多个进程B.多线程技术具有明显的优越性,如速度快、通信简便、设备并行性高等√C.由于线程不作为资源分配单位,线程之间可以无约束地并行执行D.线程又称为轻型进程,因为线型都比进程小8.并发进程之间相互通信时两个基本的等待事件是( )。

A.等信件和等信箱√B.等消息和等信件C.等发送原语和接收原语D.等消息和等信箱9.对若干个并发进程共享某—变量的相关临界区的管理,下列说法中不正确的是( )。

进程同步与通信作业习题与答案

进程同步与通信作业习题与答案

第三章一.选择题(50题)1.以下_B__操作系统中的技术是用来解决进程同步的。

A.管道B.管程C.通道2.以下_B__不是操作系统的进程通信手段。

A.管道B.原语C.套接字D.文件映射3.如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为_B__。

4.设有4个进程共享一个资源,如果每次只允许一个进程使用该资源,则用P、V操作管理时信号量S的可能取值是_C__。

,2,1,0,-1 ,1,0,-1,-2 C. 1,0,-1,-2,-3 ,3,2,1,05.下面有关进程的描述,是正确的__A__。

A.进程执行的相对速度不能由进程自己来控制B.进程利用信号量的P、V 操作可以交换大量的信息C.并发进程在访问共享资源时,不可能出现与时间有关的错误、V操作不是原语操作6.信号灯可以用来实现进程之间的_B__。

A.调度B.同步与互斥C.同步D.互斥7.对于两个并发进程都想进入临界区,设互斥信号量为S,若某时S=0,表示_B__。

A.没有进程进入临界区B.有1个进程进入了临界区C. 有2个进程进入了临界区D. 有1个进程进入了临界区并且另一个进程正等待进入8. 信箱通信是一种_B__方式A.直接通信B.间接通信C.低级通信D.信号量9.以下关于临界区的说法,是正确的_C__。

A.对于临界区,最重要的是判断哪个进程先进入B.若进程A已进入临界区,而进程B的优先级高于进程A,则进程B可以打断进程A而自己进入临界区C. 信号量的初值非负,在其上只能做PV操作D.两个互斥进程在临界区内,对共享变量的操作是相同的10. 并发是指_C__。

A.可平行执行的进程B.可先后执行的进程C.可同时执行的进程D.不可中断的进程11. 临界区是_C__。

A.一个缓冲区B.一段数据区C.一段程序D.栈12.进程在处理机上执行,它们的关系是_C__。

A.进程之间无关,系统是封闭的B.进程之间相互依赖相互制约C.进程之间可能有关,也可能无关D.以上都不对13. 在消息缓冲通信中,消息队列是一种__A__资源。

操作系统复习题及答案

操作系统复习题及答案

1操作系统概述自测题1 选择题“时间〞来换取“空间〞的。

2.设计实时操作系统必须首先考虑系统的______。

3.一个作业第一次执行时用了5min,而第二次执行时用了6min,这说明了操作系统的______特点。

4.下述操作系统类型中,哪个操作系统一定是由多台计算机组成的系统?5.操作系统中,以下______采用了以“空间〞换“时间〞的技术。

6.按照所起的作用和需要的运行环境,操作系统属于_______。

7.操作系统的主要功能是存储器管理、设备管理、文件管理、用户接口和______。

A.进程管理8.操作系统的最根本的两个特征是资源共享和_______。

A.多道程序设计B.程序的并发执行C.中断D.程序顺序执行9.采用多道程序设计技术可以提高CPU和外部设备的______。

10.在计算机系统中,操作系统是_______。

硬件之下的底层软件11.操作系统是对_____进展管理的软件。

12.从用户的观点,操作系统是______。

D.是扩大裸机功能的软件,是比裸机功能更强、使用方便的虚拟机13.操作系统的根本类型是_____。

A.批处理系统、分时系统和多任务系统B.实时系统、分时系统和批处理系统C.单用户系统、多用户系统和批处理系统D.实时系统、分时系统和多用户系统14.为了使系统中的所有用户都得到及时的响应,操作系统应该是___.15.如果分时系统的时间片一定,那么____会使响应时间越长。

16._______类型的操作系统允许在一台主机上同时连接多台终端,多个用户可以通过多台终端同时交互地使用计算机。

多个作业同时提交给计算机。

18.在______操作系统的控制下计算机系统能及时处理由过程控制反应的数据并做出及时响应。

19.一个计算机系统采用多道程序设计技术后,使多道程序实现了___.A.微观上并行B.微观和宏观上均串行20.用户程序要将一个字符送到显示器上显示,要使用操作系统提供的_____。

2 判断题1.自从有了计算机,就有了操作系统。

进程同步与通信

进程同步与通信

pricess computer begin L2: p(sf); 从缓冲去中取出数据; v(se); 进行数据计算; goto L2; end; coend;
9、(1)写出P、V操作的定义 (2)有3个进程PA、PB和PC写作解决文件 打印问题:PA将文件记录从磁盘读入主存 的缓冲区1,每执行一次读一个记录;PB 将缓冲区1的内容复制到缓冲区2,每执 行一次复制一个记录;PC将缓冲区2的 内容打印出来,每执行一次打印一个记 录。缓冲区的大小和一个记录大小一样。 请用P、V操作来保证文件的正确打印。
begin mutex,full,empty:semaphore; mutex:=1; empty:=8; full:=0; cobegin pricess producer begin 生产一个产品; p(empty); p(mutex); 将产品存入仓库; v(mutex); v(full); end;
process s3 begin p(b3); …… v(b4); end
process s4 begin p(b4); p(b4); …… end
8、在测量控制系统中,数据采集任务把 采集的数据送入一单缓冲区;计算任务 从该单缓冲区中取出数据进行计算。试 写出利用信号量机制实现两者共享单缓 冲区的同步算法。
cobegin process A begin L1:p(s1) 拣一粒黑子; v(s2) goto L1
process B begin L2:p(s2) 拣一粒白子; v(s1) goto L2 endl;
end;
coend;
7、四个进程合作完成一任务的前驱图, 试说明这四个进程间的同步关系,并以 PV操作描述它们。
解:应设置两个信号量sf,se,信号量sf表 示缓冲区是否有可供打印的计算结果, 其初值为0;信号量se用于表示缓冲区 有无空位置存放新的信息,其初值为1。 本题的同步描述如下:

操作系统原理-第三章进程管理习题(1)

操作系统原理-第三章进程管理习题(1)

第三章进程管理习题一. 单选题1. UNIX操作系统的进程控制块中常驻内存的是()。

A.proc结构B.proc结构和核心栈C.ppda区D.proc结构和user结构2. 当()时,进程从执行状态转变为就绪状态。

A.进程被调度程序选中B.时间片到C.等待某一事件D.等待的事件发生3.在进程状态转换时,下列()转换是不可能发生的。

A.就绪态→运行态B.运行态→就绪态C.运行态→阻塞态D.阻塞态→运行态4.下列各项工作步骤中,()不是创建进程所必需的步骤。

A.建立一个PCBB.作业调度程序为进程分配CPUC.为进程分配内存等资源D. 将PCB链入进程就绪队列5.下列关于进程的叙述中,正确的是()。

A.进程通过进程调度程序而获得CPU。

B.优先级是进行进程调度的重要依据,一旦确定不能改变。

C.在单CPU系统中,任一时刻都有1个进程处于运行状态。

D.进程申请CPU得不到满足时,其状态变为等待状态。

6.从资源管理的角度看,进程调度属于()。

A.I/O管理B.文件管理C.处理机管理D.存储器管理7.下列有可能导致一进程从运行变为就绪的事件是()。

A.一次I/O操作结束B.运行进程需作I/O操作C.运行进程结束D.出现了比现运行进程优先权更高的进程8.一个进程释放一种资源将有可能导致一个或几个进程()。

A.由就绪变运行B.由运行变就绪C.由阻塞变运行D.由阻塞变就绪9.一次I/O操作的结束,有可能导致()。

A.一个进程由睡眠变就绪B.几个进程由睡眠变就绪C.一个进程由睡眠变运行D.几个进程由睡眠变运行10.当一个进程从CPU上退下来时,它的状态应变为()。

A.静止就绪B. 活动就绪C. 静止睡眠D. 活动睡眠11.为使进程由活动就绪变为静止就绪,应利用()原语?** B. ACTIVE C. BLOCK D. WAKEUP12.在下面的叙述中,不正确的是()。

A.一个进程可创建一个或多个线程B.一个线程可创建一个或多个线程C.一个线程可创建一个或多个进程D.一个进程可创建一个或多个进程13. 若系统中只有用户级线程,则处理机调度单位是()。

操作系统自测题三(进程同步)

操作系统自测题三(进程同步)

操作系统自测题三一选择题1.以下________操作系统中的技术是用来解决进程同步的。

A.管道B.管程C.通道D.DMA2.以下________不是操作系统的进程通信手段。

A.管道B.原语C.套接字D.文件映射3.如果有三个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为________。

A.3B.2C.1D.04.下面有关进程的描述,________是正确的。

A.进程执行的相对速度不能由进程自己来控制B.进程利用信号量的P、V操作可以交换大量的信息C.并发进程在访问共享资源时,不可能出现与时间有关的错误D.P、V操作不是原语操作5.信号可以用来实现进程之间的________A.调度B.同步与互斥C.同步D.互斥6.对于两个并发进程都想进入临界区,设互斥信号量为S,若某时S=0,表示________。

A.没有进程进入临界区B.有1个进程进入了临界区C.有2个进程进入了临界区D.有1个进程进入了临界区并且另一个进程正等待进入7.信箱通信是一种________方式。

A.直接通信B.间接通信C.低级通信D.信号量8.以下关于临界区的说法,________是正确的。

A.对于临界区,最重要的是判断哪个进程先进入B.若进程A已进入临界区,而进程B的优先级高于进程A,则进程B可以打断进程A而自己进入临界区C.信号量的初值非负,在其上只能做P、V操作D.两个互斥进程在临界区内,对共享变量的操作是相同的9.并发是指________。

A.可平行执行的进程B.可先后执行的进程C.可同时执行的进程D.不可中断的进程10.临界区是________。

A.一个缓冲区B.一段数据区C.一段程序D.栈11.进程在处理机上执行,它们的关系是________。

A.进程之间无关,系统是封闭的B.进程之间相互依赖、相互制约C.进程之间可能有关,也可能无关D.以上都不对12.在单处理机中,如果系统中有N个进程,则就绪队列中的进程个数最多的是________。

第3章-部分习题答案

第3章-部分习题答案

第3章部分习题答案3.2. 为什么进程在进入临界区之前,应先执行"进入区"代码,在退出临界区后又执行"退出区"代码?为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检查欲访问的临界资源是否正被访问的代码,如果未被访问,该进程便可进入临界区对资源进行访问,并设置正被访问标志,如果正被访问,则本进程不能进入临界区,实现这一功能的代码成为"进入区"代码;在退出临界区后,必须执行"退出区"代码,用于恢复未被访问标志.3.3 同步机构应遵循哪些基本准则?为什么?a. 空闲让进.b. 忙则等待.c. 有限等待.d. 让权等待.3.6你认为整型信号量机制和记录型信号量机制,是否完全遵循了同步机构的四条准则?a. 在整型信号量机制中,未遵循"让权等待"的准则.b. 记录型信号量机制完全遵循了同步机构的"空闲让进,忙则等待,有限等待,让权等待"四条准则.3.9在生产者-消费者问题中,如果缺少了signal(full)或signal(empty),对执行结果会有何影响?生产者-消费者问题可描述如下:var mutex,empty,full: semaphore:=1,n,0;buffer: array[0,...,n-1] of item;in,out: integer:=0,0;beginparbeginproducer: beginrepeat..produce an item in nextp;..wait(empty);wait(mutex);buffer(in):=nextp;in:=(in+1) mod n;signal(mutex);/* ************** */signal(full);/* ************** */until false;endconsumer: beginrepeatwait(full);wait(mutex);nextc:=buffer(out);out:=(out+1) mod n;signal(mutex);/* ************** */signal(empty);/* ************** */consume the item in nextc;until false;endparendend可见,生产者可以不断地往缓冲池送消息,如果缓冲池满,就会覆盖原有数据,造成数据混乱.而消费者始终因wait(full)操作将消费进程直接送入进程链表进行等待,无法访问缓冲池,造成无限等待.3.10在生产者-消费者问题中,如果将两个wait操作即wait(full)和wait(mutex)互换位置;或者是将signal(mutex)与signal(full)互换位置结果会如何?var mutex,empty,full: semaphore:=1,n,0;buffer: array[0,...,n-1] of item;in,out: integer:=0,0;beginparbeginproducer: beginrepeat..produce an item in nextp;..wait(empty);wait(mutex);buffer(in):=nextp;in:=(in+1) mod n;/* ***************** */signal(full);signal(mutex);/* ***************** */until false;endconsumer: beginrepeat/* **************** */wait(mutex);wait(full);/* **************** */nextc:=buffer(out);out:=(out+1) mod n;signal(mutex);signal(empty);consume the item in nextc;endparendendwait(full)和wait(mutex)互换位置后,因为mutex在这儿是全局变量,执行完wait(mutex),则mutex 赋值为0,倘若full也为0,则该生产者进程就会转入进程链表进行等待,而生产者进程会因全局变量mutex 为0而进行等待,使full始终为0,这样就形成了死锁.而signal(mutex)与signal(full)互换位置后,从逻辑上来说应该是一样的.3.11 我们为某临界区设置一把锁W,当W=1时,表示关锁;W=0时,表示锁已打开.试写出开锁原语和关锁原语,并利用它们去实现互斥.开锁原语:unlock(W):W=0;关锁原语:lock(W);if(W==1) do no_op;W=1;利用开关锁原语实现互斥:var W: semaphore:=0;beginparbeginprocess :beginrepeatlock(W);critical sectionunlock(W);remainder sectionuntil false;endparend3.12试修改下面生产者-消费者问题解法中的错误:producer:beginrepeat..producer an item in nextp;wait(mutex);wait(full); /* 应为wait(empty),而且还应该在wait(mutex)的前面 */buffer(in):=nextp;/* 缓冲池数组游标应前移: in:=(in+1) mod n; */signal(mutex);/* signal(full); */endconsumer:beginrepeatwait(mutex);wait(empty); /* 应为wait(full),而且还应该在wait(mutex)的前面 */nextc:=buffer(out);out:=out+1; /* 考虑循环,应改为: out:=(out+1) mod n; */signal(mutex);/* signal(empty); */consumer item in nextc;until false;end3.13 试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法.设初始值为1的信号量c[I]表示I号筷子被拿(I=1,2,3,4,...,2n),其中n为自然数.send(I):Beginif I mod 2==1 then{P(c[I]);P(c[I-1 mod 5]);Eat;V(c[I-1 mod 5]);V(c[I]);}else{P(c[I-1 mod 5]);P(c[I]);Eat;V(c[I]);V(c[I-1 mod 5]);}End3.14 在测量控制系统中的数据采集任务,把所采集的数据送一单缓冲区;计算任务从该单缓冲中取出数据进行计算.试写出利用信号量机制实现两者共享单缓冲的同步算法.int mutex=1;int empty=n;int full=0;int in=0;int out=0;main(){cobeginsend();obtain();coend}send(){while(1){..collect data in nextp;..wait(empty);wait(mutex);buffer(in)=nextp;in=(in+1) mod n;signal(mutex);signal(full);}}//sendobtain(){while(1){wait(full);wait(mutex);nextc:=buffer(out);out:=(out+1) mod n;signal(mutex);signal(empty);culculate the data in nextc;}//while}//obtain3.19 什么是AND信号量?试利用AND信号量写出生产者-消费者问题的解法.为解决并行所带来的死锁问题,在wait操作中引入AND条件,其基本思想是将进程在整个运行过程中所需要的所有临界资源,一次性地全部分配给进程,用完后一次性释放.解决生产者-消费者问题可描述如下:var mutex,empty,full: semaphore:=1,n,0;buffer: array[0,...,n-1] of item;in,out: integer:=0,0;beginparbeginproducer: beginrepeat..produce an item in nextp;..wait(empty);wait(s1,s2,s3,...,sn); //s1,s2,...,sn为执行生产者进程除empty外其余的条件wait(mutex);buffer(in):=nextp;in:=(in+1) mod n;signal(mutex);signal(full);signal(s1,s2,s3,...,sn);until false;endconsumer: beginrepeatwait(full);wait(k1,k2,k3,...,kn); //k1,k2,...,kn为执行消费者进程除full外其余的条件wait(mutex);nextc:=buffer(out);out:=(out+1) mod n;signal(mutex);signal(empty);signal(k1,k2,k3,...,kn);consume the item in nextc;until false;endparendend3.21 试比较进程间的低级通信工具与高级通信工具.用户用低级通信工具实现进程通信很不方便,因为其效率低,通信对用户不透明,所有的操作都必须由程序员来实现. 而高级通信工具则可弥补这些缺陷,用户可直接利用操作系统所提供的一组通信命令,高效地传送大量的数据.。

操作系统原理与实践教程(第三版)第3章习题答案

操作系统原理与实践教程(第三版)第3章习题答案

第3章处理器管理(1) 为什么程序并发执行会产生间断性特征,并失去封闭性和可再现性?解:之所以产生间断性特征是因为多个程序在并发执行时,需要为了完成同一项任务而相互合作,并发执行的程序间的这种相互制约导致了“暂停—执行—暂停”的间断性运行规律。

失去封闭性是因为程序在并发执行时,多个程序需要共享系统中的多种资源。

所以,这些资源的状态是由多个程序改变的,从而使程序的运行失去了封闭性。

失去可再现性是因为程序在并发执行时,由于失去了封闭性,从而导致其失去可再现性。

(2) 什么是进程?为什么要在操作系统中引入进程?解:进程是可并发执行且具有独立功能的程序在一个数据集合上的运行过程,它是操作系统进行资源分配和调度的基本单位。

“进程”概念是人们为了使程序能够并发执行,并且能对并发的程序加以描述和控制而引入的。

(3) 试从并发性、独立性、动态性上比较程序和进程的不同。

解:●并发性是进程的重要特征,同时也是OS 的重要特征。

引入进程的目的正是为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的。

●独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。

而对于未建立任何进程的程序,都不能作为一个独立的单位参加运行。

●动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程有一定的生命期;而程序只是一组有序指令的集合,是静态实体。

(4) 什么是PCB?它具有什么作用?为什么说PCB是进程存在的唯一标识?解:进程控制块(Process Control Block,PCB)是操作系统为了管理进程而设置的一个专门的数据结构,用它来记录进程的外部特征,描述进程的运动变化过程。

它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程.因为系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志。

第3章 计算机操作系统答案 进程管理

第3章 计算机操作系统答案  进程管理

第三章进程管理一、选择题:1、下面过于程序的描述,正确的是()A. 程序执行的最终结果受到外界因素的影响,跟初始条件无关B. 程序执行的最终结果跟速度有关C. 程序是按前后次序相继地进行计算机操作序列集合,是一个静态的概念;D. 程序只能通过顺序执行2、程序的顺序执行有以下特点()A. 顺序性、封闭性、独立性B. 顺序性、封闭性、可再现性C. 顺序性、封闭性、随机性D. 顺序性、随机性、独立性3、程序A、B共享变量N,执行次A都要操作变量N,N=N+1,每执行次B都要print(N),N=0,初始值为N=0。

若执行顺序为先A后B,其结果为()A. 1 1 0B. 0 1 0C. 1 0 1D. 0 0 14、如上题13所述,执行先B后A,其结果为()A. 1 1 0B. 0 1 0C. 1 0 1D. 0 0 15、如上题所述,执行为A在B中间,起结果为.()A. 1 1 0B. 0 1 0C. 1 0 1D. 0 1 16、下面关于进程描述完全的是()A. 进程是可以并发执行的计算部分;B. 进程是一个独立的调度活动.C. 进程是一个抽象实体.D. 进程是并发执行的过程中分配和管理资源的基本单位。

7、现代操作系统的特点()A. 程序的并发执行;B. 系统所拥有的资源被共享;C. 用户随机地使用系统资源;D. 以上三者都是。

8、进程和程序的区别是()A. 进程是一个动态的概念,而程序则是一个静态的概念;B. 进程具有并发性而程序没有;C. 进程是一个独立的调度活动.D. A和B都正确。

9、多道程序系统中的程序执行的特点为()A. 独立性、随机性、资源共享性;B. 顺序性、封闭性、可再现性;C. 顺序性、封闭性、随机性;D. 顺序性、随机性、独立性;10、描述信息所包括的下列描述不正确的是()。

A. 进程名B. 用户名C. 家族关系D. 用户资源11、现代oc的3个特点不包括()。

A. 程序并发执行B. 进程优先级C. 系统所拥有的资源共享D. 用户随即使用系统资源12、与进程优先级有关的PCB表项不包括()。

第3章进程并发控制作业题参考答案

第3章进程并发控制作业题参考答案

第3章进程并发控制作业题参考答案作业题题1进程间的互斥与同步表示了各进程间的______。

A.竞争与协作B. 相互独立与相互制约C .临界区调度原则 D. 动态性与并发性题2 若执行信号量S操作的进程数为3,信号量S初值为2,当前值为-1,表示有____个等待相关临界资源的进程。

A 0B 1C 2D 3题 3 由于并发进程执行的随机性,一个进程对另一个进程的影响是不可预测的,甚至造成结果的不正确,_________。

A.造成不正确的因素与时间有关B. 造成不正确的因素只与进程占用的处理机有关C.造成不正确的因素与执行速度无关D. 造成不正确的因素只与外界的影响有关题4 下列机构中不能用于进程间数据通信的是____________。

A.消息B.共享存储区C. 信号量D.管道题5 下面有关管程的说法,不正确的是________A.管程是种进程同步机制B. 管程是一种编程语言成分C. 管程是一种系统调用D.管程比信号量更容易保证并行编程的正确性题6 什么是临界资源和临界区?一个进程进人临界区的调度原则是什么?题7 进程之间存在哪几种制约关系?各是什么原因引起的?下列活动分别属于哪种制约关系?(1)图书馆借书。

属于互斥关系。

(2)两队举行篮球赛。

既有互斥关系,又有同步关系。

(3)流水生产线。

属于同步关系。

(4)乐队演奏。

属于同步关系。

(5)购买火车票。

属于互斥关系。

题8 在生产者消费者问题中,如果将两个P操作即生产者程序流程中的P(buffers)和P(mutex)互换位置.结果会如何? 形成死锁。

题9 试用P、V操作描述下列理发师和顾客之间的同步问题。

某个理发师当没有顾客时,去睡觉;当有顾客来理发,若理发师正在睡觉时,这个顾客会叫醒他,理发师给该顾客理发,理发期间若还有顾客到达则等待理发师依次理发,直到没有顾客到来,理发师又去睡觉。

wakeup,wait,mutex:semaphore;wakeup:=0;wait:=0;mutex:=1;cobegin顾客进程:{p(mutex);rc=rc+1;if(rc==1) v(wakeup);else p(wait);v(mutex);理发;}理发师进程:{P(wakeup);While(rc!=0){理发;p(mutex);rc=rc-1;if(rc!=0)v(wait);v(mutex);}}coend自测题一、选择题1.并发性是指若干事件在______发生。

操作系统第五版费祥林-课后习题答案解析参考

操作系统第五版费祥林-课后习题答案解析参考

>第一章操作系统概论1、有一台计算机,具有IMB 内存,操作系统占用200KB ,每个用户进程各占200KB 。

如果用户进程等待I/O 的时间为80 % ,若增加1MB 内存,则CPU 的利用率提高多少?答:设每个进程等待I/O 的百分比为P ,则n 个进程同时等待刀O 的概率是Pn ,当n 个进程同时等待I/O 期间CPU 是空闲的,故CPU 的利用率为1-Pn。

由题意可知,除去操作系统,内存还能容纳4 个用户进程,由于每个用户进程等待I/O的时间为80 % , 故:CPU利用率=l-(80%)4 =若再增加1MB 内存,系统中可同时运行9 个用户进程,此时:cPu 利用率=l-(1-80%)9 =故增加IMB 内存使CPU 的利用率提高了47 % :87 %/59 %=147 %147 %-100 % = 47 %2 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A 先开始做,程序B 后开始运行。

程序A 的运行轨迹为:计算50ms 、打印100ms 、再计算50ms 、打印100ms ,结束。

程序B 的运行轨迹为:计算50ms 、输入80ms 、再计算100ms ,结束。

试说明(1 )两道程序运行时,CPU有无空闲等待若有,在哪段时间内等待为什么会等待( 2 )程序A 、B 有无等待CPU 的情况若有,指出发生等待的时刻。

答:画出两道程序并发执行图如下:(1)两道程序运行期间,CPU存在空闲等待,时间为100 至150ms 之间(见图中有色部分)(2)程序A 无等待现象,但程序B 有等待。

程序B 有等待时间段为180rns 至200ms 间(见图中有色部分)3 设有三道程序,按A 、B 、C优先次序运行,其内部计算和UO操作时间由图给出。

试画出按多道运行的时间关系图(忽略调度执行时间)。

完成三道程序共花多少时间比单道运行节省了多少时间若处理器调度程序每次进行程序转换化时lms , 试画出各程序状态转换的时间关系图。

第三章 进程同步问题习题答案

第三章 进程同步问题习题答案

进程同步练习1.有一阅览室,共有100个座位。

读者进入时必须先在一张登记表上登记,该表为每一座位列一表目,包括座号和读者姓名。

读者离开时要消掉登记内容。

试用P、V操作描述读者进程的同步结构。

varmutex : semaphere;信号量,用于互斥full : semaphere; 信号量,用于同步table : array 0..n-1 of item; 登记表procedure reader;读者进程beginP(full);P(mutex);Register_name(table);V(mutex);Reading;P(mutex);Delet_name(table);V(mutex);V(full)end;beginseminitsal(mutex.v,1; full.v,100);初始化cobeginreader;reader;...coendend.2.设公共汽车上有一位司机和一位售票员,它们的活动如下:售票员:动车辆售票正常行车开车门到站停车关车门请分析司机与售票员之间的同步关系,如何用PV操作实现。

答:为了安全起见,显然要求:关车门后才能启动车辆;到站停车后才能开车门。

所以司机和售票员在到站、开门、关门、启动车辆这几个活动之间存在着同步关系。

用两个信号量S1、S2分别表示可以开车和可以开门,S1的初值为1,S2的初值为0。

用PV操作实现司机进程和售票员进程同步的算法描述如下:售票员:(S1)售票动车辆P(S2)正常行车开车门到站停车关车门V(S2)V(S1)另外,程序中PV操作出现的顺序与信号量的初值设置有关,以本题为例,算法如下描述时,S1、S2的初值均应为0。

售票员:常行车售票站停车P(S2)V(S2)开车门P(S1)关车门启动车辆V(S1)。

操作系统进程通信练习及答案

操作系统进程通信练习及答案

进程同步与通信练习题(一)单项选择题1.临界区是指(D)。

A.并发进程中用于实现进程互斥的程序段 B.并发进程中用于实现进程同步的程序段 C.并发进程中用户实现进程通信的程序段 D.并发进程中与共享变量有关的程序段2.相关临界区是指(D )。

A.一个独占资源 B.并发进程中与共享变量有关的程序段 c.一个共享资源 D.并发进程中涉及相同变量的那些程序段3.管理若干进程共享某一资源的相关临界区应满足三个要求,其中(A)不考虑。

A一个进程可以抢占己分配给另一进程的资源 B.任何进程不应该无限地逗留在它的临界区中 c.一次最多让一个进程在临界区执行 D.不能强迫一个进程无限地等待进入它的临界区4、(C)是只能由P和v操作所改变的整型变量。

A共享变量 B.锁 c整型信号量 D.记录型信号量5.对于整型信号量,在执行一次P操作时,信号量的值应(C)。

A.不变 B.加1 C减1 D.减指定数值6.在执行v操作时,当信号量的值(D )时,应释放一个等待该信号量的进程。

A>0 B.<0 c.>=0 D.<=0 这道题目问的是:使用v操作之前的情况。

即,若S信号量的值大于0则释放一个等待该信号量的进程,所以S的值小于等于0的时候才需要通过V操作实现释放一个等待该信号量的进程7.Pv操作必须在屏蔽中断下执行,这种不可变中断的过程称为(B)。

A初始化程序 B.原语c.子程序 D控制模块8.进程间的互斥与同步分别表示了各进程间的(A)。

A.竞争(互斥时竞争资源)与协作(同步时共同完成一个任务) B.相互独立与相互制约 c.不同状态 D.动态性与并发性9并发进程在访问共享资源时的基本关系为(B)。

A.相互独立与有交往的 B.互斥与同步 c 并行执行与资源共享 D信息传递与信息缓冲10.在进程通信中,(B)常用信件(信件在信箱中,信箱属于高级通信)交换信息。

A.低级通信 B.高级通信 c.消息通信 D.管道通信11.在间接通信时,用send(N,M)原语发送信件,其中N表示(C)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第3章进程同步与通信练习题(一)单项选择题1.临界区是指( )。

A.并发进程中用于实现进程互斥的程序段 B.并发进程中用于实现进程同步的程序段C.并发进程中用户实现进程通信的程序段 D.并发进程中与共享变量有关的程序段2.相关临界区是指( )。

A.一个独占资源 B.并发进程中与共享变量有关的程序段c.一个共享资源 D.并发进程中涉及相同变量的那些程序段3.管理若干进程共享某一资源的相关临界区应满足三个要求,其中( )不考虑。

A一个进程可以抢占己分配给另一进程的资源 B.任何进程不应该无限地逗留在它的临界区中c.一次最多让一个进程在临界区执行 D.不能强迫一个进程无限地等待进入它的临界区4、( )是只能由P和v操作所改变的整型变量。

A共享变量 B.锁 c整型信号量 D.记录型信号量5.对于整型信号量,在执行一次P操作时,信号量的值应( )。

A.不变 B.加1 C减1 D.减指定数值6.在执行v操作时,当信号量的值( )时,应释放一个等待该信号量的进程。

A>0 B.<0 c.>=0 D.<=07.Pv操作必须在屏蔽中断下执行,这种不可变中断的过程称为( )。

A初始化程序 B.原语 c.子程序 D控制模块8.进程间的互斥与同步分别表示了各进程间的( )。

A.竞争与协作 B.相互独立与相互制约 c.不同状态 D.动态性与并发性9并发进程在访问共享资源时的基本关系为( )。

A.相互独立与有交往的 B.互斥与同步 c并行执行与资源共享 D信息传递与信息缓冲10.在进程通信中,( )常用信件交换信息。

A.低级通信 B.高级通信 c.消息通信 D.管道通信11.在间接通信时,用send(N,M)原语发送信件,其中N表示( )。

A.发送信件的进程名 B.接收信件的进程名 C信箱名 D.信件内容12.下列对线程的描述中,( )是错误的。

A不同的线程可执行相同的程序 B.线程是资源分配单位 c.线程是调度和执行单位 D.同一进程中的线程可共享该进程的主存空间13.实现进程互斥时,用( )对应,对同一个信号量调用Pv操作实现互斥。

A.一个信号量与一个临界区 B.一个信号量与—个相关临界区 c.一个信号量与一组相关临界区 D一个信号量与一个消息14.实现进程同步时,每一个消息与一个信号量对应,进程( )可把不同的消息发送出去。

A.在同一信号量上调用P操作 B在不同信号量上调用P操作 c.在同一信号量上调用v操作D.在不同信号量上调用v操作(二)填空题1.目前使用的计算机的基本特点是处理器______执行指令。

2.进程的______是指进程在顺序处理器上的执行是按顺序进行的。

3.当一个进程独占处理器顺序执行时,具有______和______两个特性。

4.进程的封闭性是指进程的执行结果只取决于______,不受外界影响。

5 进程的可再现性是指当进程再次重复执行时,必定获得______的结果。

6.一个进程的工作在没有全部完成之前,另一个进程就可以开始工作,则称这些进程为______.7.若系统中存在一组可同时执行的进程,则就说该组进程具有______。

8.如果—个进程的执行不影响其他进程的执行,且与其他进程的进展情况无关,则说这些并发进程相互之间是______的。

9 如果一个进程的执行依赖其他进程的进展情况,则说这些并发进程相互之间是______ 10.有交往的并发进程一定______某些资源。

11.有交往的进程执行时可能产生与时间有关的错误,造成不正确的因素与进程______ 、______和外界的影响有关。

12.对______的使用不受限制,这是使有交往的并发进程执行时出现与时间有关的错误的根本原因。

13.临界区是指并发进程中与______有关的程序段。

14.______是指并发进程中涉及到相同变量的那些程序段。

15.只要涉及相同变量的若干进程的相关临界区______,就不会造成与时间有关的错误。

16.进程的______是指当有若干进程都要使用某一共享资源时,任何时刻最多只允许一个进程去使用。

17.Pv操作是在一个信号量上进行的______的过程,这种过程也称为______18.利用Pv操作管理相关临界区时,必须成对出现,在进入临界区之前要调用______,在完成临界区操作后要调用______。

l9.若信号量的初值为1,用Pv操作能限制一次______进程进入临界区操作。

20.进程的______是指并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息。

21 ______能把它进程需要的消息发送出去,也能测试自己需要的消息是否到达。

22.Pv操作不仅是实现______的有效工具,而且也是一种简单而方便的______工具。

23.用Pv操作实现进程同步时,调用______ 测试消息是否到达,调用______发送消息。

24.用Pv操作实现生产者消费者之间的同步时,在访问共享缓冲区的______和______分别调动P 操作和v操作。

25.进程的互斥实际上是进程______的一种持殊情况。

26.进程的互斥是进程间______共享资源的使用权,其结果没有______,而进程的同步则在共享资源的并发进程之间有一种______依赖关系。

27.Pv操作也可看作为进程间的一种通信方式,由于只交换了少量的信息,故称为______ 28.通过专门的通信机制实现进程间交换大量信息的通信方式称为______。

29.采用高级通信方式时,进程间用______来交换信息。

30.最基本的通信原语有两条,它们是______原语和______原语。

31.进程通信方式有两种:______和______。

32.直接通信是固定在______进程之间通信,而间接通信以信箱为媒体实现通信。

33.一个信息可以由______和______两部分组成。

34.进程间通过信件交换信息,可实现______。

35______是进程中可以独立执行的子任务。

36.线程是处理器的独立______单位,多个线程可以______执行。

37.线程与进程有许多相似之处,所以线程又称为______。

38.线程在生命周期内会经历______、______和______之间各种状态变化。

39.采用多线程技术可把生产者消费者两个进程作为一个进程和进程中的两个线程来处理,这两个线程仍具有______,但不在需要额外的______。

40.在使Pv操作实现进程互斥时,调用______相当于申请一个共享资源,调用______相当于归还共享资源的使用权。

41.在多线程操作系统中,线程与进程的根本区别在于进程作为______单位,而线程是______单位。

(二)简答题1.什么是进程的顺序性和并发性?2. 为什么并发进程执行时可能会产生与时间有关的错误?如何避免?3.简述临界区的相关临界区的概念。

4.管理相关临界区有些什么要求?5.假设PV操作用信号量s管理某个共享资源,请问当s>0,S=0和S<0时,它们的物理意义是什么?6.请给出Pv操作的定义。

7.用Pv操作实现进程间同步与互斥应注意些什么?8.何谓进程通信?最基本的通信原语有哪些?9. 直接通信与间接通信有何区别?10.线程与进程的根本区别是什么?(四)应用题1.有一南北向的单行车道,在车道A、B两端以外一段距离处有减速标志和自动计数系统,A、B 两处设有信号灯,信号灯的管理要求如下:绿灯行,红灯停,A、B两端红绿灯同时变换,一方红变绿时另一方绿变红。

绿灯保持到同一方向进入的车辆全部驶入AB段,当AB之间无车辆行驶时,允许到达A端(或B端)的车辆驶入AB段,但只准某一方的车辆进入;一方最后一辆车进入AB段后,双向亮红灯让车辆全部通过(假设2分钟),然后让已在等待的任何一方车辆驶入。

试用Pv操作管理AB路段车辆的行驶。

2.在测温系统中要完成采样、转换和显示等任务。

采样过程把从传感器上得到的整型微电压值存入一个缓冲区,转换过程把微电压值从缓冲区中取出,计算转换成温度值再存入该缓冲区,显示过程把缓冲区中的温度值取出并显示。

试用Pv操作实现三个过程共享缓冲区的同步问题。

3,现有三个进程,Reader进程把键盘输入的一个整数读入缓冲区B1,Executor进程把B1中的数据取出进行处理,处理完后存到输出缓冲区B2中,最后由Pinter进程将B2中的数据打印出来。

假设B1和n2都只能存放一个整数,请用Pv操作管理这三个并发进程的执行.4.用进程通信的方法解决生产者消费者问题。

要求生产者能告诉消费者产品的说明、规格、价格等。

而消费者能反馈对物品的评价和处理情况。

答案第3章进程同步与通信练习题参考答案(一)单项选择题1.D 2.D 3.A 4.c 5.c 6.D 7.B 8.A 9 B 10 B 11.C 12.B 13.C 14.D(二)填空题1.顺序 2.顺序性 3.封闭性,可再现件 4.进程本身 5.相同 6.可同时执行的 7并发性 8.无关 9.有交往的 10.共享 11.占用处理器的时间,执行的速度 12.共享资源 13共享变量 14.相关临界区 15互斥执行 16.互斥 17.不可被中断,原语 18.P操作,v操作 19.只有一个 20.同步 21.同步机制 22.进程互斥,同步 23.P操作,v操作 24.前,后 25.同步 26.竞争,固定的必然关系,必然的 27.低级通信方式 28.进程通信 29.信件 30.send,receive 31.直接通信,间接通信 32.一对 33.信箱说明,信箱体 34.进程同步 35.线程 36.调度,并发 37.轻型进程 38.等待态,就绪态,运行态 39并发性,公共缓冲区 40.P操作,v操作 41.资源分配,调度和执行(三)简答题1.进程的顺序性是指进程在顺序的处理器上严格地按顺序执行。

若系统中存在一组可同时执行的过程,则该组程序具有并发性。

可同时执行的进程是指这些进程执行时在时间上是重叠的,即一个进程的工作没有全部完成之前,另一个进程就可以开始工作。

2.有交往的并发进程可能会同时使用共享资源,如果对这种情况不加控制,由于进程占用处理器的时间、执行的速度和外界的影响等,就会引起与时间有关的错误。

只要使若干并发进程的相关临界区互斥执行,就可避免造成这类错误。

3.临界区是指并发进程中与共享变量有关的程序段。

相关临界区是指并发进程中涉及到相同变量的那些程序段。

4.管理相关临界区有三点要求:(1)一次最多让一个进程在临界区执行;(2)任何一个进入临界区执行的进程必须在有限的时间内退出临界区;(3)不能强迫一个进程无限地等待进入它的临界区。

5.信号量S的物理意义如下: s>0时,S表示可使用的资源数或表示可使用资源的进程数。

s=0时,表示无资源可供使用和表示不允许进程再进入临界区。

相关文档
最新文档