第二章练习题一、单项选择题1.某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将(C)。A.从就绪变为运行;B.从运行变为就绪;C.从运行变为阻塞;D.从阻塞变为就绪2.进程控制块是描述进程状态和特性的数据结构,一个进程(D)。A.可以有多个进程控制块;B.可以和其他进程共用一个进程控制块;C.可以没有进程控制块;D.只能有惟一的进程控制块。3.临界区是指并发进程中访问共享变量的(D)段。A、管理信息B、信息存储C、数据D、程序4.当__B__时,进程从执行状态转变为就绪状态。A.进程被调度程序选中B.时间片到C.等待某一事件D.等待的事件发生5.信箱通信是一种(B)通信方式。A.直接通信B.高级通信C.低级通信D.信号量6.原语是(B)。A、一条机器指令B、若干条机器指令组成C、一条特定指令D、中途能打断的指令7.进程和程序的一个本质区别是(A)。A.前者为动态的,后者为静态的;B.前者存储在内存,后者存储在外存;C.前者在一个文件中,后者在多个文件中;D.前者分时使用CPU,后者独占CPU。8.任何两个并发进程之间存在着(D)的关系。A.各自完全独立B.拥有共享变量C.必须互斥D.可能相互制约9.进程从运行态变为等待态可能由于(B)。A.执行了V操作B.执行了P操作C.时间片用完D.有高优先级进程就绪10.用PV操作管理互斥使用的资源时,信号量的初值应定义为(B)。A.任意整数B.1C.0D.-111.现有n个具有相关临界区的并发进程,如果某进程调用P操作后变为等待状态,则调用P操作时信号量的值必定为(A)。A.≤0B.1C.n-1D.n12.用PV操作管理临界区时把信号量的初值定义为1,现已有一个进程在临界区,但有n个进程在等待进入临界区,这时信号量的值为(C)。A.-1B.1C.-nD.n13.用V操作唤醒一个等待进程时,被唤醒进程的状态应变成(B)状态。A.执行B.就绪C.运行D.收容14.有一共享文件可供n个并发进程使用,但限制最多m个进程(n≥m≥1)可同时读文件,用PV操作进行管理时其信号量的初值应该为(B)。A.nB.mC.n-mD.115.当一个任务需要若干进程协同完成时,进程之间需要交换一定数量的信息,把这种信息交换称为(B)。A.进程唤醒B.进程通信C.进程互斥D.进程同步二、判断题1、程序在运行时需要很多系统资源,如内存、文件、设备等,因此操作系统以程序为单位分配系统资源。(错)2、若无进程处于运行状态,则就绪队列和等待队列均为空。(错)3、进程的互斥和同步总是因相互制约而同时引起。(错)4、PV操作不仅可用来实现进程的同步与互斥,而且可以防止系统死锁。(错)5、并发进程的执行速度只取决于进程本身,不受外界影响。(错)三、填空题1.在现代操作系统中,资源的分配单位是进程,而处理机的调度单位是线程,一个进程可以有多个线程。2.进程调度完成进程状态从就绪态到运行态的转化。3.并发进程中涉及到访问临界资源的程序段称为临界区。4.进程的基本状态有就绪,运行,阻塞。5.用PV操作管理相关临界区时,任何一个进程要进入自己的临界区前应调用P操作,退出临界区时应调用V操作。6.系统中存在多个进程时,这些进程对共享资源的使用存在着不同的相互制约关系,制约关系可归结为两种,一种是直接制约关系,另一种是间接制约关系。7.用PV操作实现进程同步时,进程应调用P操作来检测自己等待的消息是否到达,调用V操作则可唤醒一个等待消息的进程。8.如果在一个取负值的信号量上调用P操作,则将使该进程变为阻塞状态,而调用V操作将使一个等待资源的进程成为就绪状态。9.有一资源可供n个进程共享,但限制它们只能互斥使用,若采用PV操作来管理则信号量的初值应定义为1,可能出现的信号量的最小值为1-n。10.若信号量S的初值定义为10,则在S上调用了18次P操作和15次V操作后S的值应该为7。11.若进程间利用信箱进行通信,则操作系统应该设计两个基本通信原语是send原语和receive原语。四、问答题1.一个单CPU的操作系统共有n个进程,不考虑进程状态过渡时的情况,也不考虑空转进程。给出运行进程的个数;给出就绪进程的个数;给出等待进程的个数。解:运行进程的个数可能是0,也可能是1;就绪的进程的个数可能是0,也可能是n-1等待进程的个数可能是0,也可能是n2.说明下列活动是属于哪些制约关系?1)若干同学去图书馆借书进程互斥2)两队进行篮球比赛进程互斥3)流水线生产中的各道工序进程同步4)商品生产和社会消费进程同步3.是否所有的共享资源都是临界资源,为什么?答:不是,根据定义,一次只允许一个进程使用的进程才叫临界资源,能同时被多个进程使用的资源不是临界资源4.某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题:(1)用P、V操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。(2)根据所定义的信号量,把应执行的P、V操作填入下述方框中,以保证进程能够正确地并发执行。COBEGINPROCESSPI(I=1,2,……)begin;进入售票厅;购票;退出;end;COEND(3)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。参考答案:(1)定义一信号量S,初始值为20。意义:S0S的值表示可继续进入售票厅的人数S=0表示售票厅中已有20名顾客(购票者)S0|S|的值为等待进入售票厅的人数(2)上框为P(S)下框为V(S)(3)S的最大值为20S的最小值为20-n5.四个进程A、B、C、D都要读一个共享文件F,系统允许多个进程同时读文件F。但限制是进程A和进程C不能同时读文件F,进程B和进程D也不能同时读文件F。为了使这四个进程并发执行时能按系统要求使用文件,现用PV操作进行管理,请回答下面的问题:(1)应定义的信号量及初值:。(2)在下列的程序中填上适当的P、V操作,以保证它们能正确并发工作:A()B()C()D(){{{{[1];[3];[5];[7];readF;readF;readF;readF;[2];[4];[6];[8];}}}}思考题解答:(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)6.设有一个发送者进程和接收者进程,其流程图如下图所示。S是用于实现进程同步的信号量,mutex是用于实现进程互斥的信号量。试问流程图中的A、B、C、D四框中应填写什么?假定缓冲区有无限多个,S和mutex的初值应为多少?图发送者及接收者工作流程图7.在公共汽车上,司机和售票员的工作流程如下:为保证乘客的安全,司机和售票员应密切配合协调工作。假定初始状态为:车辆正在起点站停着车、开着门,等待第一批乘客。当发车时间到,售票员关好车门后司机可以启动车辆。若用PV操作来实现司机与售票员之间的协调工作,请回答下列问题:(1)司机与售票员之间的关系是同步还是互斥?解释之。(2)用PV操作来管理时应定义几个信号量?初值为多少?(3)请在司机与售票员的工作流程中填上适当的P操作和V操作,使他们能安全、协调地工作。8.进程之间的通信方式有几种?在单机环境下,常用的哪几种通信方式?答:三种:共享内存,消息机制,以及管道通信在单机环境下:常采用共享内存以及管道通信。五、多选题1.有关并发进程的下列叙述中,(C、D)是正确的。A.任何时刻允许多个进程在同一CPU上运行B.进程执行的速度完全由进程自己控制C.并发进程在访问共享资源时可能出现与时间有关的错误D.同步是指并发进程中存在的一种制约关系E.各自独立的并发进程在执行时不会相互影响2.一个正在运行的进程调用P(S)后,若S的值为(AD),则该进程可以继续运行。A.S>0B.S<0C.S≠0D.S≥0E.S≤0薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿羁膂莈蚅袇膁蒀蒈螃膀膀蚃虿腿节蒆羈芈莄蚁袄芈蒆蒄螀芇膆蚀蚆袃莈蒃蚂袂蒁螈羀袁膀薁袆袁芃螆螂袀莅蕿蚈衿蒇莂羇羈膇薇袃羇艿莀蝿羆蒂薆螅羅膁蒈蚁羅芄蚄罿羄莆蒇袅羃蒈蚂螁羂膈蒅蚇肁芀蚁薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿羁膂莈蚅袇膁蒀蒈螃膀膀蚃虿腿节蒆羈芈莄蚁袄芈蒆蒄螀芇膆蚀蚆袃莈蒃蚂袂蒁螈羀袁膀薁袆袁芃螆螂袀莅蕿蚈衿蒇莂羇羈膇薇袃羇艿莀蝿羆蒂薆螅羅膁蒈蚁羅芄蚄罿羄莆蒇袅羃蒈蚂螁羂膈蒅蚇肁芀蚁薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄