- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
进程和线程的描述与控制
操作系统原理 第三章 进程和线程的描述与控制 本章教学目标 了解引入进程的原因,进程控制的方法,线程和管程的概念; 熟悉进程状态及变迁,进程的结构描述和组织方式 ; 掌握进程定义和特征 ; 掌握线程定义和特征。 学习重点、难点 进程定义和特征 进程状态及变迁 进程控制块及其组织 线程与进程的联系和区别 本章教学内容 3.1 进程的引入 3.2 进程的概念 3.3 进程控制 3.4 线程 3.1 进程的引入 所有现代的计算机都具有通道技术和中断技术,都能同时做几件事情。当一个用户程序正在运行时,计算机还能同时读盘,并向打印机或屏幕输出正文。在一个单CPU的多道程序系统中,CPU由这道程序向那道程序切换,使每道程序运行几十或几百毫秒。显然,在系统中运行的用户程序是走走停停的,当CPU分配给它时就能运行,否则它只能停下来。为了刻划系统内部出现的情况,描述系统内部各道程序的活动规律而引入进程这一概念。进程是理解和研究现代操作系统的一种观点。为了更好地阐明进程概念,我们首先从程序的顺序执行到并发执行的转变过程讲起。 3.1.1程序的顺序执行 大家习惯使用的程序设计方法就是传统的顺序程序设计法,程序中的语句按其内部的逻辑结构顺序地被执行。 单CPU的计算机的工作方式是顺序处理的:处理机逐条地一次只执行一条指令;主存储器一次只能访问一个字或一个字节。 把一个具有独立功能的程序独占处理机运行,直至得到最终结果的过程称为程序的顺序执行。 例如,用户要求计算机完成一道程序的运行时,通常先输入用户的程序和数据,然后运行程序进行计算,最后将结果打印出来。我们用圆结点表示各程序段的操作,其中I表示输入,C表示计算,P表示打印,用箭头指明操作间的先后次序。计算机处理完一道程序后再处理下一道程序。图3.1描述了二道程序在单CPU系统中先后被顺序执行。 程序顺序执行时的特征 (1)顺序性:因为一个程序独占处理机,所以该程序的各部分的执行,能够严格地按程序所确定的逻辑次序顺序地执行。 (2)封闭性:因为程序运行时独占全部系统资源,程序在封闭的环境下运行,资源的状态除初始状态外,只有该程序才能改变它,所以程序一旦开始运行,其执行结果不受外界因素的影响。 (3)可再现性:只要程序执行时的环境和初始条件相同,当程序多次执行时,不论它的运行方式如何,是从头到尾连续执行呢,还是“走走停停”地执行,都将获得相同的结果。 单道程序系统不利于系统资源的充分利用,但它却使该道程序具有程序顺序执行时的三大特性,这为程序员检测和改正程序中的错误时,带来很大方便。 多道程序的并发执行 现代计算机为了提高计算机的运行速度和系统处理能力,在总体设计和逻辑设计中采用并行操作技术,使多种硬件设备能并行工作。例如,系统引入通道和中断技术后,通道能执行通道指令独立地控制外部设备操作,从而使CPU与通道以及外部设备间均能并行地工作。硬件的并行操作技术为程序的并发执行提供了物质基础。在多道程序操作系统(多道批处理操作系统,分时操作系统,单用户多任务操作系统等)支持下,不但在多机系统中它可同时执行多个不同的程序,即使是在单机系统中,从逻辑上或宏观上看,多个程序也能并行运行。图3.2描述了多道程序均包括输入、计算、打印三部分操作时并发处理的过程。 其中,每道程序均保持原程序逻辑顺序Ii→Ci→Pi,从图中可看到Ii+1和Ci以及Pi-1可以并发执行。 多道程序的并发执行大大地提高系统的处理能力,改善了系统资源的利用效率。 程序并发执行时的特征 (1) 间断性 并发执行中的程序可能与其他程序竞争资源未获得而阻塞,也可能运行时由于一个时间片用完而中断,放弃处理机,使自己无法继续运行下去,但是当别的程序释放资源,使它能获得申请的资源并再次被调度选中时,它又能继续运行下去。这就是并发执行的程序具有“执行——暂停——执行”的活动规律,而且什么时候能执行,什么时候暂停,不能完全由程序自身决定。 (2) 失去封闭性 程序在并发执行时,多个程序共享系统中的所有资源,因此这些资源的使用状态将由多个程序改变,使程序运行失去了封闭性,使得某程序在执行时必然受到其他程序直接或间接的制约而影响。例如,当系统中的处理机被某程序占用时,其他程序必须等待。 (3) 不可再现性 由于程序的并发执行,打破了由某一道程序独占系统资源时的封闭性,也必将导致失去程序执行的可再现性。让我们来看一个简单但又能容易说明问题的例子。程序A和程序B是两个循环程序,它们共享一个变量N。程序A每执行一次循环都将变量N加1操作,程序B每隔一定时间打印共享变量N中的值,然后将N清成0。 并发程序用类C语言描述。用cobegin和coend将并发执行的函数括起来。下面是两个并发执行的程序A、B描述如下: int n=0;
文档评论(0)