第二章练习题及答案1.有人说,一个进程是由伪处理机执行的一个程序,这话对吗?为什么?2试比较作业和进程的区别?3.比较进程和程序的区别:4.在操作系统中为什么要引进进程这个概念?它会产生什么影响?5.以进程为单位进行交换时,每次是否需要将整个进程换出,为什么?设某计算机系统有一台输入机、一台打印机。现有两道程序同时投入运行,且程序A先6开始运行,程序B后运行。程序A的运行轨迹为:计算50mS,打印信息100ms,再计算50ms,打印信息100ms,结束。程序B的运行轨迹为:计算50ms,输入数据80ms,再计算100ms,结束。试说明:(1)两道程序运行时,CPU有无空闲?若有,在那段时间内等待?为什么会空闲等待?(2)程序A、B运行时有无等待现象?若有,在什么时候会发生等待现象?7.程序在并发执行具有哪些特征?进程的五大特征是什么?8.9.进程的基本状态是什么以及它们是如何转换?10.进程同步机制的基本原则有哪些?11.什么是进程通信?进程的高级通信方式有哪三种?12.某小型超级市场,可容纳50个人同时购物。入口处备有篮子,每个购物者可拿一只篮子入内购物。出口处结帐,并归还篮子(出、入口禁止多人同时通过)。试用P、V操作写出购物者的同步算法。13.我们用进程流图来描述一组合进程执行的先后次序。用信号灯的操作实现右图中所示进程之间的同步关系,请在程序描述中填空。main()[ int s3=-1;cobeginP1P1();P2();P3():coend1P3P1()P2()P3()I ..I ....I...v(s3);v(s3);111
第二章 练习题及答案 1. 有人说,一个进程是由伪处理机执行的一个程序,这话对吗?为什么? 2. 试比较作业和进程的区别? 3. 比较进程和程序的区别: 4. 在操作系统中为什么要引进进程这个概念?它会产生什么影响? 5. 以进程为单位进行交换时,每次是否需要将整个进程换出,为什么? 6. 设某计算机系统有一台输入机、一台打印机。现有两道程序同时投入运行,且程序 A 先 开始运行,程序 B 后运行。程序 A 的运行轨迹为:计算 50ms,打印信息 100ms,再计 算 50ms,打印信息 100ms,结束。程序 B 的运行轨迹为:计算 50ms, 输入数据 80ms, 再计算 100ms,结束。试说明: ⑴ 两道程序运行时,CPU 有无空闲?若有,在那段时间内等待?为什么会空闲等待? ⑵ 程序 A、B 运行时有无等待现象?若有,在什么时候会发生等待现象? 7. 程序在并发执行具有哪些特征? 8. 进程的五大特征是什么? 9. 进程的基本状态是什么以及它们是如何转换? 10. 进程同步机制的基本原则有哪些? 11. 什么是进程通信?进程的高级通信方式有哪三种? 12. 某小型超级市场,可容纳 50 个人同时购物。入口处备有篮子,每个购物者可拿一只篮 子入内购物。出口处结帐,并归还篮子(出、入口禁止多人同时通过)。试用 P|、 V 操作写出购物者的同步算法。 13. 我们用进程流图来描述一组合进程执行的先后次序。用信号灯的操作实现右图中所示进 程之间的同步关系,请在程序描述中填空。 main( ) { int s3=-1; cobegin P1( ); P2( ); P3( ); coend } s f P1 P2 P3 P1( ) { . v(s3); } P2( ) { . v(s3); } P3( ) { . }
参考答案:答:对。因为伪处理机的概念只有在执行时才存在,它表示多个进程在单处理机上并发1.执行的一个调度单位。因此,尽管进程是动态的概念,是程序的执行过程,但是在多个进程并发执行时,仍然只有一个进程占据处理机执行,而其他并发进程则处于就绪或等待状态,这些并发进程就相当于由伪处理机执行的程序。答:一个进程是一个程序对某个数据集的执行过程,是分配资源的基本单位。作业是2.用户需要计算机完成某项任务,而要求计算机所做工作的集合。一个作业的完成要经过提交、收容、执行和完成四个阶段,而进程是已提交完毕的程序所执行过程的描述,是资源分配的基本单位,区别如下:①作业是用户向计算机提交任务的任务实体。在用户向计算机提交作业之后,系统将它放入外存中的作业等待队列中等待执行:而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位且必须至少由一个进程组成,反之不然。②一个作业可由多个进程组成,③作业的概念主而进程的概念则用在几乎所有的多道系统中。进程的实质是程序的一次执行过程,动态性是进程的基3.答:①进程是本特征,同时程序只是一组有序指令的集合,本身并无运动的含义,程的重要特征,引入进程的目的正是为了使其程序和其而程序(没有建立进程)是不能并发执行的。③独立性,分配资源和独立调度的基本单位:凡未建立进程的程序,是指进程一都不能作为一单位参加运行。④不同的进程可以包含同一个程序,同一个程序不的在执行中也可以产生多个进程。A.答:目的是为了实现多个程序的并发执行。建立进程的好处是系统资源得以充分利用,并提高系统的吞吐量,但为创建进程得付出一定代价,主要是增加了时间和空间的开销。5.答.并非如此。因为:1)从结构上看,可把进程看作是程序段、数据段和PCB所组成,其中PCB通常常住内存而不被换出;2)程序段或数据段可能正被若干进程所共享,故也不能换出。6.解:(1)两道程序运行期间,CPU存在空闲等待时间。空闲等待的时间段为程序A开始运行后100ms至150ms之间。在此期间,程序A正在打印信息,而程序B正在输入数据。(2)程序A启动运行后无等待现象,而在程序B启动运行后存在等待现象。程序B的等待时间段为程序A开始运行后180ms至200ms之间(或程序B开始运行后130ms至150ms之间)。中央处理机LA计算LB计算LA计算/B计算输入机LB输入打印机A打印-A打印程序a打印打印计算上7L计算上L程序b计算厂计算一输入-Y1J时间(ms)10 501001502503001802001.答:间断性、失去了封闭性及不可再现性。8.答:进程具有五个基本特征,具体为:a动态性。进b.并发性。c.独立性。d.异步性。e.结构特征。9.答:由进程运行的间断性,决定了进程至少具有下述三种状态:①就绪状态。②执行状态。③等待(阻塞)状态。进程状态的转换及原因:①就绪→执行:调度。②执行→等
参考答案: 1. 答:对。因为伪处理机的概念只有在执行时才存在,它表示多个进程在单处理机上并发 执行的一个调度单位。因此,尽管进程是动态的概念,是程序的执行过程,但是在多个 进程并发执行时,仍然只有一个进程占据处理机执行,而其他并发进程则处于就绪或等 待状态,这些并发进程就相当于由伪处理机执行的程序。 2. 答: 一个进程是一个程序对某个数据集的执行过程,是分配资源的基本单位。作业是 用户需要计算机完成某项任务,而要求计算机所做工作的集合。一个作业的完成要经过 提交、收容、执行和完成四个阶段,而进程是已提交完毕的程序所执行过程的描述,是 资源分配的基本单位,区别如下: ① 作业是用户向计算机提交任务的任务实体。在用户向计算机提交作业之后,系统将 它放入外存中的作业等待队列中等待执行;而进程则是完成用户任务的执行实体, 是向系统申请分配资源的基本单位。 ② 一个作业可由多个进程组成,且必须至少由一个进程组成,反之不然。 ③ 作业的概念主要用在批处理系统中,而进程的概念则用在几乎所有的多道系统中。 3. 答:①进程是一个动态的概念,进程的实质是程序的一次执行过程,动态性是进程的基 本特征,同时进程是有一定的生命期的;而程序只是一组有序指令的集合,本身并无运 动的含义,是静态的。②并发性,并发性是进程的重要特征,引入进程的目的正是为了 使其程序和其它程序并发执行;而程序(没有建立进程)是不能并发执行的。③独立性, 是指进程一个能独立运行、独立分配资源和独立调度的基本单位;凡未建立进程的程序, 都不能作为一个独立的单位参加运行。④不同的进程可以包含同一个程序,同一个程序 在执行中也可以产生多个进程。 4. 答:目的是为了实现多个程序的并发执行。建立进程的好处是系统资源得以充分利用, 并提高系统的吞吐量,但为创建进程得付出一定代价,主要是增加了时间和空间的开销。 5. 答.并非如此。因为:1)从结构上看,可把进程看作是程序段、数据段和 PCB 所组成, 其中 PCB 通常常住内存而不被换出;2) 程序段或数据段可能正被若干进程所共享,故 也不能换出。 6. 解:⑴两道程序运行期间,CPU 存在空闲等待时间。空闲等待的时间段为程序 A 开始 运行后 100ms 至 150ms 之间。在此期间,程序 A 正在打印信息,而程序 B 正在输入数 据。 ⑵程序 A 启动运行后无等待现象,而在程序 B 启动运行后存在等待现象。程序 B 的等待时间 段为程序 A 开始运行后 180ms 至 200ms 之间(或程序 B 开始运行后 130ms 至 150ms 之间)。 7. 答:间断性、失去了封闭性及不可再现性。 8. 答:进程具有五个基本特征,具体为:a. 动态性。进 b. 并发性。c. 独立性。d. 异步 性。e. 结构特征。 9. 答:由进程运行的间断性,决定了进程至少具有下述三种状态:①就绪状态。②执行状 态。③等待(阻塞)状态。进程状态的转换及原因:①就绪→执行:调度。②执行→等 程序 b 计算 输入 计算 时间(ms) 0 50 100 150 180 200 250 300 程序 a 计算 打印 计算 打印 打印机 A 打印 A 打印 输入机 B 输入 中央处理机 A 计算 B 计算 A 计算 B 计算
待:等待某个事件发生而睡眠。③等待→就绪:因等待的时间发生而唤醒。执行→就绪:时间片用完10.答:同步机制的准则:①空闲让进:②忙则等待:③让权等待:④有限等待;11.答:进程通信指进程间的信息交换。高级通讯机制类型有:①共享存储器系统(Shared-MemorySystem);②消息传递系统(MessagepassingSystem):3管道(pipe)通信系解:12structsemaphore s,mutex=50,1;cobeginvoid comsumeri(void) (i=1,2,..,k)while(TRUE)P(s);P(mutex):进入口出,并取一只篮子:V(mutex):进超市购物;....P(mutex);结帐,并归还篮子;V(mutex);V(s);)ACoend13.P(s3)
待:等待某个事件发生而睡眠。③等待→就绪:因等待的时间发生而唤醒。④执行→就 绪:时间片用完 10. 答:同步机制的准则:①空闲让进;②忙则等待;③让权等待;④有限等待; 11. 答:进程通信指进程间的信息交换。高级通讯机制类型有:①共享存储器系统 (Shared-Memory System);② 消息传递系统(Message passing System);3 管道(pipe)通信 系 12. 解: struct semaphore s,mutex=50,1; cobegin void comsumeri(void) (i=1,2,.,k) { while(TRUE){ P(s); P(mutex); 进入口出,并取一只篮子; V(mutex); . 进超市购物; . P(mutex); 结帐,并归还篮子; V(mutex); V(s);} } Coend 13.P(s3)