网站大量收购闲置独家精品文档,联系QQ:2885784924
  1. 1、本文档共172页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux第4

第4章 进 程 管 理        4.1 进 程   进程是现代操作系统的核心概念,它用来描述程序的执行过程,是实现多任务操作系统的基础。操作系统的其他所有内容都是围饶着进程展开的。因此,正确地理解和认识进程是理解操作系统原理的基础和关键。 4.1.1 程序的顺序执行与并发执行   1. 程序的顺序执行   如果程序的各操作步骤之间是依序执行的,程序与程序之间是串行执行的,这种执行程序的方式就称为顺序执行。顺序执行是单道程序系统中的程序的运行方式。   程序的顺序执行具有如下特点:   (1) 顺序性:CPU严格按照程序规定的顺序执行,仅当一个操作结束后,下一个操作才能开始执行。多个程序要运行时,仅当一个程序全部执行结束后另一个程序才能开始。   (2) 封闭性:程序在封闭的环境中运行,即程序运行时独占全部系统资源,只有程序本身才能改变程序的运行环境。因而程序的执行过程不受外界因素的影响,结果只取决于程序自身。   (3) 可再现性:程序执行的结果与运行的时间和速度无关,结果总是可再现的,即无论何时重复执行该程序都会得到同样的结果。   总的说来,这种执行程序的方式简单,且便于调试。但由于顺序程序在运行时独占全部系统资源,因而系统资源利用率很低。DOS程序就是采用顺序方式执行的。   2. 程序的并发执行   单道程序、封闭式运行是早期操作系统的标志,而多道程序并发运行是现代操作系统的基本特征。由于同时有多个程序在系统中运行,使系统资源得到充分的利用,系统效率大大提高。   程序的并发执行是指若干个程序或程序段同时运行。它们的执行在时间上是重叠的,即同一程序或不同程序的程序段可以交叉执行。   程序的并发执行有以下特点:   (1) 间断性:并发程序之间因竞争资源而相互制约,导致程序运行过程的间断。例如,在只有一个CPU的系统中,多个程序需要轮流占用CPU运行,未获得CPU使用权的程序就必须等待。   (2) 没有封闭性:当多个程序共享系统资源时,一个程序的运行受其他程序的影响,其运行过程和结果不完全由自身决定。例如,一个程序计划在某一时刻执行一个操作,但很可能在那个时刻到来时它没有获得CPU的使用权,因而也就无法完成该操作。   (3) 不可再现性:由于没有了封闭性,并发程序的执行结果与执行的时机以及执行的速度有关,结果往往不可再现。   可以看出,并发执行程序虽然可以提高系统的资源利用率和吞吐量,但程序的行为变得复杂和不确定。这使程序难以调试,若处理不当还会带来许多潜在问题。   3. 并发执行的潜在问题   程序在并发执行时会导致执行结果的不可再现性,这是多道程序系统必须解决的问题。我们用下面的例子来说明并发执行过程对运行结果的影响,从而了解产生问题的原因。   设某停车场使用程序控制电子公告牌来显示空闲车位数。空闲车位数用一个计数器C记录。车辆入库时执行程序A,车辆出库时执行程序B,它们都要更新同一个计数器C。程序A和程序B的片段如图4-1所示。 图4?1 两程序并发运行,访问计数器C   更新计数器C的操作对应的机器语言有3个步骤:读取内存C单元的数据到一个寄存器中,修改寄存器的数值,然后再将其写回C单元中。   由于车辆出入库的时间是随机的,程序A与程序B的运行时间也就是不确定的。当出入库同时发生时,将使两程序在系统中并发运行。它们各运行一次后C计数器的值应保持不变。但结果可能不是如此。   如果两个程序的运行时序按图4-2(a)所示的顺序进行,即一个程序对C进行更新的操作是在另一个程序的更新操作全部完成之后才开始,则C被正确地更新了。如果两个程序的运行时序如图4-2(b)所示穿插地进行,即当一个程序正在更新C,更新操作还未完成时,CPU发生了切换,另一个程序被调度运行,并且也对C进行更新。在这种情况下会导致错误的结果。   可以看出,导致C更新错误的原因是两个程序交叉地执行了更新C的操作。概括地说,当多个程序在访问共享资源时的操作是交叉执行时,则会发生对资源使用上的错误。 图4?2 并发程序的执行时序影响执行结果 4.1.2 进程的概念   进程的概念最早出现在20世纪60年代中期,此时操作系统进入多道程序设计时代。多道程序并发显著地提高了系统的效率,但同时也使程序的执行过程变得复杂而不确定。为了更好地研究、描述和控制并发程序的执行过程,操作系统引入了进程的概念。进程概念对于理解操作系统的并发性有着极为重要的意义。   1. 进程   进程(process)是一个可并发执行的程序在某数据集上的一次运行。简单地说,进程就是程序的一次运行过程。   进程与程序的概念既相互关联又相互区别。程序是进程的一个组成部分,是进程的执行文本,而进程是程序的执行过程。两者的关系可以比喻为电影与胶片的关系:

文档评论(0)

kejie8080230 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档