1、操作系统第二章复习题一、选择最合适得答案1、 用P、V 操作管理临界区时,信号量得初值一般应定义为( C )。A、1 B、0 C、1 D、任意值2、 有m 个进程共享同一临界资源,若使用信号量机制实现对一临界资源得互斥访问,则信号量得变化范围就是( A )。A、1 至(m-1) B、1 至m-1 C、1 至m D、1 至m3、 在下面得叙述中,正确得就是( C )。A、临界资源就是非共享资源B、临界资源就是任意共享资源C、临界资源就是互斥共享资源D、临界资源就是同时共享资源4、 对进程间互斥地使用临界资源,进程可以( D )A、互斥地进入临界区B、互斥地进入各自得临界区C、互斥地进入同一临界区
2、D、互斥地进入各自得同类资源得临界区5、 设两个进程共用一个临界资源得互斥信号量mutex,当mutex1 时表示( B )。A、一个进程进入了临界区,另一个进程等待B、没有一个进程进入临界区C、两个进程都进入了临界区D、两个进程都在等待6、 设两个进程共用一个临界资源得互斥信号量mutex,当mutex-1 时表示( A )。A、一个进程进入了临界区,另一个进程等待B、没有一个进程进入临界区C、两个进程都进入了临界区D、两个进程都在等待7.当一进程因在记录型信号量S 上执行P(S)操作而被阻塞后,S 得值为( B )。A、0 B、0 B、2),且当前处理机没有执行进程调度程序,下述情况哪些可
3、能发生( BCD )。A、没有运行得进程,有2 个进程处于就绪状态,n 个进程处于等待状态。B、一个进程处于运行状态,n-1 个进程处于等待状态。C、 一个进程处于运行状态,1 个进程处于就绪状态,n-2 个进程处于等待状态。D、 一个进程处于运行状态,n-1 个进程处于就绪状态,没有进程处于等待状态三、判断正误,错误得简要说明理由1.一个临界资源可以对应多个临界区。()2.互斥地使用临界资源就是通过互斥地进入临界区实现得。(X)表达不确切,应该就是互斥得进入同类临界区。3.同步信号量得初值一般为1。(X)互斥信号量得初值一般为1;而同步信号量得初值应视具体情况而定。4.生产者消费者问题就是一
4、个既有同步又有互斥得问题。()5.进程A、B 共享变量x,需要互斥执行;进程B、C 共享变量y,B、C 也需要互斥执行,因此,进程A、C 必须互斥执行。(X)不具有传递性。6、单道程序系统中程序得执行也需要同步与互斥。(X)单道程序系统不具有并发性,因此不需要同步与互斥。7、 P、V 操作都就是原语操作。( )8、 进程执行得相对速度不能由进程自己来控制。( )9、 利用信号量得P、V 操作可以交换大量信息。( X )10、同步就是指并发进程之间存在得一种制约关系。( )11、一般来说,用户进程得PCB 存放在用户区,系统进程得PCB 存放在操作系统系统区。( X )12、进程可以由程序、数据
5、与进程控制块描述。( )13、进程就是程序在一个数据集合上得过程,它就是系统进行资源分配与调度得一个独立单位。( )。四、填空题1、在操作系统中引入线程概念得主要目得就是(缩短系统切换得时空开销,提高程序执行并发度)。2、引入了线程得操作系统中,资源分配得基本单位就是( 进程),CPU 分配得基本单位就是(线程)。3、进程得基本状态由执行、(就绪)、(阻塞)。4、进程得基本特征就是( 动态性)、(并发性)、(独立性)、(异步性)、(结构特征)。5、信号量得物理意义就是当信号量值大于0 时表示(系统当前可用资源数目);当信号量值小于0 时,其绝对值为(因请求该资源而被阻塞得进程数目)。6、进程由
6、(程序段)、(数据段)、(PCB)三部分组成。7、进程就是一个程序对某个数据集得(一次执行过程)。8、若一个进程已进入临界区,其她欲进入临界区得进程必须(等待)。9、程序并发执行与顺序执行时相比产生了一些新特征,分别就是(间断性)、(失去封闭性)、(不可再性)。10、采用用户级线程得系统中,处理器调度得对象就是(进程);采用内核支持得线程系统中,处理器调度得对象就是(线程)。11、高级通信方式分为三大类:(共享存储器系统)、(消息传递系统)、(管道通信系统)。12、在一个多道程序系统中,进程之间存在着不同关系可以划分为两大类:其中(同步)指进程间存在一定得逻辑关系,需要在执行次序上协调;(互斥
7、)指进程间在使用共享资源方面得约束关系。解决上述两个问题得一种常用得方法就是(信号量机制)。五、简答题1、在操作系统中为什么要引入进程概念?P37答:因为在多道程序环境下,程序得执行属于并发执行。可就是与此同时,她们将失去其封闭性,并具有间断性及不可再现性得特征。这决定了通常得程序就是不能参与并发执行。为了使程序能并发执行,且为了对并发执行得程序加以描述与控制,人们引入了进程得概念。2、试说明PCB 得作用。P41答: OS 调度进程得主要数据,依据记录进程得有关信息,供系统对进程进行控制,标志进程得存在3、试从调度性、并发性、拥有资源及系统开销4 个方面对进程与线程进行比较。P73答:A、在
8、引进线程得OS 中,把线程作为独立跳读与分派得基本单位,而把进程作为资源拥有得基本单位。B、在引进线程得OS 中,不仅进程间可并发执行,而且同一进程得多个线程亦可并发执行,因而使OS 具有更好得并发性。C、进程始终就是资源得一个独立单位,而线程自己不拥有系统资源,但就是它可以访问其隶属进程得资源。D、在创建、撤销与切换进程方面,进程开销远大于线程。4、同步机构应遵循哪些基本准则?P50答:A、空闲让进B、忙着等待C、有限等待D、让权等待5、线程具有哪些属性?P73-74答:A、轻型实体B、独立调度与分派得基本单位C 可并发执行D 共享进程资源六、解答题1.某车站售票厅,任何时刻最多可容纳20
9、名购票者进入,当售票厅中少于20 购票者时,则厅外得购票者可立即进入,否则需在外面等待。若把一个购票者瞧作一个进程,请回答下列问题:(1) 用P、V 操作管理这些并发进程时,应怎样定义信号量?写出信号量得初值以及信号量各种取值得含义。(2) 根据所定义得信号量,把应执行得P、V 操作填入下述程序中,以保证进程能够正确地并发执行。COBEGIN PROCESS Pi(i=1,2,)Begin ;进入售票厅;购票; ;退出;End;COEND(3)若欲购票者最多为n 个人,写出信号量可能得变化范围(最大值与最小值)。解:售票厅问题:(1)定义一信号量S,初始值为20。S0 S得值表示可继续进入售票
10、厅得人数S=0 表示售票厅中已有20名顾客S0 |S|得值为等待进入售票厅中得人数(2)上线为P(S) 下线为V(S)(3)S得最大值为20,S得最小值为20-N,N为某一时刻需要进入售票厅得最大人数。2. 进程之间存在哪几种相互制约关系?各就是什么原因引起得?下列活动分别属于哪种制约关系?(1)若干同学去图书馆借书;(2)两队举行篮球比赛;(3)流水线生产得各道工序;(4)商品生产与社会消费。解:进程间存在着2种相互制约得关系:直接制约关系(即同步问题)与间接制约关系(即互斥问题)。同步问题就是存在逻辑关系得进程之间相互等待所产生得制约关系,互斥问题就是相互无逻辑关系得进程间竞争使用相同资源
11、所发生得制约关系。(1)属于互斥关系,因为书得个数就是有限得,一本书只能借给一个同学;(2)属于互斥关系,篮球只有一个,两队都要争夺;(3)属于同步关系,各道工序得开始都依赖前道工序得完成;(4)属于同步关系,商品没生产出来,消费无法进行,商品未消费完,生产也无须进行。3.设有两个优先级相同得进程P1 与P2 如下。信号量S1 与S2 得初值均为0,试问P1、P2并发执行结束后,x=?,y=?,z=?进程P1进程P2y:=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
12、就是两个并发进程,所以进程调度程序调度P1与P2得顺序就是不确定得。这里不妨假设P1先执行。进程P1执行到语句P(S2)时,S2-1,进程P1阻塞。此时,y=3,z=4。当进程调度程序调度到进程P2时,由于进程P1已执行了V(S1),进程P2在执行P(S1)时并未阻塞而继续执行,当执行到V(S2)时,将P1唤醒,分成两种情况:(1)然后执行P2最后一个语句z:=x+z,此时x=5,z=9。当进程P1再次被调度时,继续执行P1得最后一个语句,此时y=12,最终结果就是:x=5,y=12,z=9。(2)如果当P2进程执行到V(S2)时,将P1唤醒,然后P2进程被中断,此时x=5,y=3,z=4。P
13、1进程开始执行然后执行最后一个语句y:=z+y,此时x=5,y=7,z=4。然后P2进程被调度,执行z:=x+z,此时x=5,y=7,z=9。如果P2先执行,则执行结果与上面相同。4、桌上有一空盘,只允许存放一个水果。爸爸可向盘中放苹果,也可向盘中放桔子。儿子专等吃盘中得桔子,女儿专等吃盘中得苹果。规定当盘中空时一次只能放一只水果供吃者取用,请用P、V 原语实现爸爸、儿子、女儿三个并发进程得同步。分析在本题中,爸爸、儿子、女儿共用一个盘子,且盘中一次只能放一个水果。当盘子为空时,爸爸可将一个水果放入果盘中。若放入果盘中得就是苹果,则允许女儿吃,儿子必须等待;若放入果盘中得就是桔子,则允许儿子吃
14、,女儿必须等待。本题实际上就是生产者-消费者问题得一种变形。这里,生产者放入缓冲区得产品有两类,消费者也有两类,每类消费者只消费其中固定得一类产品。解在本题中,应设置三个信号量S、So、Sa,信号量S 表示盘子就是否为空,其初值为1;信号量So 表示盘中就是否有桔子,其初值为0;信号量Sa 表示盘中就是否有苹果,其初值为0。同步描述如下:int S=1; 盘子就是为空int Sa=0; 盘中无苹果int So=0; 盘中无桔子main( )cobeginfather();son();daughter();coendfather()while(1)P(S );将水果放入盘中;if (放入得就是桔子) V(So);else V(Sa);son( )while(1)P(So);从盘中取出桔子;V(S);吃桔子;daughter( )while(1)P(Sa);从盘中取出苹果;V(S);吃苹果;