(第4章进程与进程管理)习题四答案

上传人:suns****4568 文档编号:60838929 上传时间:2018-11-19 格式:PDF 页数:22 大小:460.16KB
返回 下载 相关 举报
(第4章进程与进程管理)习题四答案_第1页
第1页 / 共22页
(第4章进程与进程管理)习题四答案_第2页
第2页 / 共22页
(第4章进程与进程管理)习题四答案_第3页
第3页 / 共22页
(第4章进程与进程管理)习题四答案_第4页
第4页 / 共22页
(第4章进程与进程管理)习题四答案_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《(第4章进程与进程管理)习题四答案》由会员分享,可在线阅读,更多相关《(第4章进程与进程管理)习题四答案(22页珍藏版)》请在金锄头文库上搜索。

1、操作系统原理与 Linux 系统实验课后习题参考答案 沈华 湖北工业大学计算机学院 Email: 1 习题四参考答案(习题四参考答案(P P6969) 4-1 试解释下列名词:程序的顺序执行、程序的并发执行。试解释下列名词:程序的顺序执行、程序的并发执行。 答:答:一个程序由若干个程序段组成,而这些程一个程序由若干个程序段组成,而这些程序段的执行必须是顺序的,这种序段的执行必须是顺序的,这种 程序执行的方式就称为程序的顺序执行程序执行的方式就称为程序的顺序执行。若干个程序段同时在系统中运行,这若干个程序段同时在系统中运行,这 些程序的执行在时间上是重迭的,一个程序段的执行尚未结束,另一个程序

2、段些程序的执行在时间上是重迭的,一个程序段的执行尚未结束,另一个程序段 的执行已经开始,即使这种重迭是很小的,也称这几个程序段是并发执行的。的执行已经开始,即使这种重迭是很小的,也称这几个程序段是并发执行的。 4-2 什么是与时间有关的错误?试举例说明。什么是与时间有关的错误?试举例说明。 答:答:当程序并发执行时,系统处于一个复杂的动态组合状态,各程序执行的相当程序并发执行时,系统处于一个复杂的动态组合状态,各程序执行的相 对速度不确定,这使得(即使初始条件相同对速度不确定,这使得(即使初始条件相同)这些程序多次并发执行得到的结)这些程序多次并发执行得到的结 果不同,其中有一个结果是正确的,

3、而其他的是错误的果不同,其中有一个结果是正确的,而其他的是错误的。这些错误与并发程序这些错误与并发程序 执行的相对速度有关,是与时间有关的错误执行的相对速度有关,是与时间有关的错误。例如,。例如,三个并发执行程序三个并发执行程序的的誊抄誊抄。 其中,其中,get 程序负责从输入序列程序负责从输入序列 f 中读取字符,并送到缓冲区中读取字符,并送到缓冲区 s 中中;copy 程序把缓程序把缓 冲区冲区 s 中的数据复制到缓冲区中的数据复制到缓冲区 t 中去中去;put 程序从缓冲区程序从缓冲区 t 中取出数据打印。中取出数据打印。若程若程 序写出:序写出: while(誊抄未完成)誊抄未完成)

4、cobegin copy; put; get; coend copy、 put、 get 三个程序段并发执行, 就有六种组合:三个程序段并发执行, 就有六种组合: (假设此时的状态为:(假设此时的状态为: f=(r1, r2, ., rn);s=r2,t=r1,g=(r1)) 1、copy; put; get 2、copy; get; put 3、put; copy; get 4、put; get; copy 5、get; copy; put 操作系统原理与 Linux 系统实验课后习题参考答案 沈华 湖北工业大学计算机学院 Email: 2 6、get; put; copy 易知易知,如果

5、按照,如果按照 1 和和 2 的执行顺序可以得到正确的誊抄结果,而的执行顺序可以得到正确的誊抄结果,而 3、4、5、6 的的 执行顺序都会到错误的誊抄结果(即产生了与时间相关的错误) 。执行顺序都会到错误的誊抄结果(即产生了与时间相关的错误) 。 4-3 什么是进程?进程与程序的主要区别是什么?什么是进程?进程与程序的主要区别是什么? 答:进程,即是一个具有一定独立功能的程答:进程,即是一个具有一定独立功能的程序关于某个数据集合的一次活动。序关于某个数据集合的一次活动。 进程与程序的主要区别是:进程与程序的主要区别是: (1)程序是指令的有序集合,是一个静态概念,其本身没有任何运行的含义,)程

6、序是指令的有序集合,是一个静态概念,其本身没有任何运行的含义, 进程是程序在处理机上的一次执行过程,是一个动态概念。进程是程序在处理机上的一次执行过程,是一个动态概念。 (2)程序作为软件资料可长期保存,而进程是有生命期的,因创建而产生、因)程序作为软件资料可长期保存,而进程是有生命期的,因创建而产生、因 调度而执行、因得不到资源而暂停、因撤消而消亡。调度而执行、因得不到资源而暂停、因撤消而消亡。 (3)程序是记录在介质上指令的有序集合,而进程则由程序、数据和进程控制)程序是记录在介质上指令的有序集合,而进程则由程序、数据和进程控制 块块 3 部分组成。部分组成。 (4)进程与程序之间无一一对

7、应关系。不同的进程可以包含同一程序,同一程)进程与程序之间无一一对应关系。不同的进程可以包含同一程序,同一程 序在执行中也可以产生多个进程。序在执行中也可以产生多个进程。 (5)进程是一个独立)进程是一个独立的运行单位,也是系统进行资源分配和调度的独立单位。的运行单位,也是系统进行资源分配和调度的独立单位。 而程序无此概念。而程序无此概念。 4-4 图图 4-2 标明程序段执行的先后次序。其中标明程序段执行的先后次序。其中 I 表示输入操作、表示输入操作、C 表示计算操作、表示计算操作、 P 表示打印操作,下角标说明是对哪个作业进行上述操作。请指明:表示打印操作,下角标说明是对哪个作业进行上述

8、操作。请指明: (1)哪些操作必须有先后次序,其原因是什么?)哪些操作必须有先后次序,其原因是什么? (2)哪些操作可以并发执行,其原因又是什么?)哪些操作可以并发执行,其原因又是什么? 答:答: (1)Ii必须先于必须先于 Ci执行,执行,Ci必须先于必须先于 Pi执行,这是因为同一个作业的这三执行,这是因为同一个作业的这三 个操作之间具有逻辑上的严格的先后执行次序;个操作之间具有逻辑上的严格的先后执行次序;Ii必须先于必须先于 Ii+1执行,执行,Ci必须先必须先 于于 Ci+1执行,执行,Pi必须先于必须先于 Pi+1执行,这是因为执行,这是因为 Ii和和 Ii+1共享输入设备、共享输入

9、设备、Ci和和 Ci+1 共享共享 CPU、Pi和和 Pi+1共享输出设备共享输出设备。 (2)Ii+1和和 Ci、Pi-1可以并发执行,因为这三个进程分属于不同的作业,且它们可以并发执行,因为这三个进程分属于不同的作业,且它们 占据的是不同的资源。占据的是不同的资源。 操作系统原理与 Linux 系统实验课后习题参考答案 沈华 湖北工业大学计算机学院 Email: 3 4-5 如如下下图所示,设一誊抄程序,将图所示,设一誊抄程序,将 f 中记录的序列正确誊抄到中记录的序列正确誊抄到 g 中,这一程序中,这一程序 由由 get、copy、put 三个程序段组成,它们分别负责获得记录、复制记录

10、、输出三个程序段组成,它们分别负责获得记录、复制记录、输出 记录。请指出这三个程序段对记录。请指出这三个程序段对 f 中的中的 m 个记录进行处理时各种操作的先后次序,个记录进行处理时各种操作的先后次序, 并画出誊抄此记录序列的先后次序图。 (假设并画出誊抄此记录序列的先后次序图。 (假设 f 中有中有 1,2,m 个记录,个记录,s,t 为设置在主存中的软件缓冲区,每为设置在主存中的软件缓冲区,每次只能装一个记录。 )次只能装一个记录。 ) 答:答: (不是很明白题目的要求,所以给出三个程序段正确完成誊抄的算法)(不是很明白题目的要求,所以给出三个程序段正确完成誊抄的算法) 。 输入:输入:

11、f 输出:输出:g 1. if (f 不为空不为空) then 2. 3. get(s, f); /从从 f 中读入一个字符放入缓冲区中读入一个字符放入缓冲区 s 4. while(1) 5. 6. if (s 中的字符不是结束符中的字符不是结束符) then 7. 8. copy(t, s); 9. cobegin 10. get(s, f); 11. put(g, t); 12. coend 13. 14. else 15. 16. copy(t, s); 17. put(g, t); 18. break; 操作系统原理与 Linux 系统实验课后习题参考答案 沈华 湖北工业大学计算机学院

12、 Email: 4 19. 20. /while 21. 4-6 进程有哪几个基本状态?进程有哪几个基本状态?在一个系统中为什么必须区分出这几种状态在一个系统中为什么必须区分出这几种状态。 答:进程有三个基本状态:运行状态、就绪状态和等待状态(又称阻塞、挂起、答:进程有三个基本状态:运行状态、就绪状态和等待状态(又称阻塞、挂起、 睡眠) 。睡眠) 。 因为因为多道程序设计技术的引入,使多道程序设计技术的引入,使得多个进程可以并发执行。并发执行的进程得多个进程可以并发执行。并发执行的进程 之间由于合作具有直接制约关系或由于共享资源具有间接制约关系,使得它们之间由于合作具有直接制约关系或由于共享

13、资源具有间接制约关系,使得它们 的执行过程具有“执行的执行过程具有“执行暂停暂停执行执行暂停暂停执行执行”的动态特”的动态特 征,因此需要对进程在其生命周期内所处于的不同状态进行区分,以便对进程征,因此需要对进程在其生命周期内所处于的不同状态进行区分,以便对进程 进行分析、管理和控制。进行分析、管理和控制。 4-7 试用图画出批处理系统的进程状态变迁图。试用图画出批处理系统的进程状态变迁图。 答:答:如下所示如下所示。 4-8 试用图画出分时系统的进程状态变迁图。试用图画出分时系统的进程状态变迁图。 答:答:如下所示如下所示。 操作系统原理与 Linux 系统实验课后习题参考答案 沈华 湖北工

14、业大学计算机学院 Email: 5 4-9 某系统进程状态变迁图如下图所示,请回答下列问题:某系统进程状态变迁图如下图所示,请回答下列问题: (1)什么原因会导致发现变迁)什么原因会导致发现变迁 2、3、4? (2)当)当观察系统中进程时,可能看到某一进程产生的一次状态变迁将引起另一观察系统中进程时,可能看到某一进程产生的一次状态变迁将引起另一 进程作一次状态变迁,这两个变迁称为因果变迁。在什么情况,一个进程的变进程作一次状态变迁,这两个变迁称为因果变迁。在什么情况,一个进程的变 迁迁 3 能立即引起另一个进程的变迁能立即引起另一个进程的变迁 1? (3)下述因果变迁是否可能发生?如果可能的

15、话,在什么情况下发生?)下述因果变迁是否可能发生?如果可能的话,在什么情况下发生? a. 2-1 b. 3-2 c. 4-1 答:答: (1)如图中所示)如图中所示。 (2)正在运行的进程因请求资源未得到满足而变为等待状态的变迁正在运行的进程因请求资源未得到满足而变为等待状态的变迁 3,必然引,必然引 起一个就绪进程被调度执行的变迁起一个就绪进程被调度执行的变迁 1(只要就绪队列不为空)(只要就绪队列不为空) 。 (3)a.正运行的进程因时间片到变为就绪状态的变迁正运行的进程因时间片到变为就绪状态的变迁 2,必然引起一个就绪进必然引起一个就绪进 程被调度执行的变迁程被调度执行的变迁 1。 操作系统原理与 Linux 系统实验课后习题参考答案 沈华 湖北工业大学计算机学院 Email: 6 b. 3-2 不可能。不可能。 c.当一进程从等待状态变为就绪状态的变迁当一进程从等待状态变为就绪状态的变迁 4,在该进程的优先级最高且系统采,在该进程的优先级最高且系统采 用抢占式调度时用抢占式调度时,就会引起该进程又被调度执行的变迁就会引起该进程又被调度执行的变迁

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号