- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(第4章进程与进程管理)习题四答案.pdf
《操作系统原理与Linux 系统实验》课后习题参考答案 沈华 湖北工业大学计算机学院
习题四参考答案(P69)
4-1 试解释下列名词:程序的顺序执行、程序的并发执行。
答:一个程序由若干个程序段组成,而这些程序段的执行必须是顺序的,这种
程序执行的方式就称为程序的顺序执行。若干个程序段同时在系统中运行,这
些程序的执行在时间上是重迭的,一个程序段的执行尚未结束,另一个程序段
的执行已经开始,即使这种重迭是很小的,也称这几个程序段是并发执行的。
4-2 什么是与时间有关的错误?试举例说明。
答:当程序并发执行时,系统处于一个复杂的动态组合状态,各程序执行的相
对速度不确定,这使得(即使初始条件相同)这些程序多次并发执行得到的结
果不同,其中有一个结果是正确的,而其他的是错误的。这些错误与并发程序
执行的相对速度有关,是与时间有关的错误。例如,三个并发执行程序的誊抄。
其中,get 程序负责从输入序列f 中读取字符,并送到缓冲区s 中;copy 程序把缓
冲区s 中的数据复制到缓冲区t 中去;put 程序从缓冲区t 中取出数据打印。若程
序写出:
while(誊抄未完成){
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
Email: nancy78733@126.com 1
《操作系统原理与Linux 系统实验》课后习题参考答案 沈华 湖北工业大学计算机学院
6、get; put; copy
易知,如果按照1 和2 的执行顺序可以得到正确的誊抄结果,而3、4、5、6 的
执行顺序都会到错误的誊抄结果(即产生了与时间相关的错误)。
4-3 什么是进程?进程与程序的主要区别是什么?
答:进程,即是一个具有一定独立功能的程序关于某个数据集合的一次活动。
进程与程序的主要区别是:
(1)程序是指令的有序集合,是一个静态概念,其本身没有任何运行的含义,
进程是程序在处理机上的一次执行过程,是一个动态概念。
(2 )程序作为软件资料可长期保存,而进程是有生命期的,因创建而产生、因
调度而执行、因得不到资源而暂停、因撤消而消亡。
(3 )程序是记录在介质上指令的有序集合,而进程则由程序、数据和进程控制
块3 部分组成。
(4 )进程与程序之间无一一对应关系。不同的进程可以包含同一程序,同一程
序在执行中也可以产生多个进程。
(5 )进程是一个独立的运行单位,也是系统进行资源分配和调度的独立单位。
而程序无此概念。
4-4 图4-2 标明程序段执行的先后次序。其中I 表示输入操作、C 表示计算操作、
P 表示打印操作,下角标说明是对哪个作业进行上述操作。请指明:
(1)哪些操作必须有先后次序,其原因是什么?
(2 )哪些操作可以并发执行,其原因又是什么?
答:(1)I 必须先于 C 执行,C 必须先于P 执行,这是因为同一个作业的这三
i i i i
个操作之间具有逻辑上的严格的先后执行次序;I 必须先于I 执行,C 必须先
i i+1 i
于C 执行,P 必须先于P 执行,这是因为I 和I 共享输入设备、C 和C
i+1 i i+1 i i+1 i i+1
共享CPU、P 和P 共享输出设备。
i i+1
(2 )I 和C 、P
文档评论(0)