第三章 进程管理(1).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 进程管理 计算机科学工程系 主讲:何中胜 主要内容 进程的基本概念√ 进程的状态及其转换√ 进程描述√ 进程控制 进程调度√ 进程互斥与同步√ 进程通信 死锁√ 线程 Linux的进程与线程机制 3.1 进程的基本概念 为何引入进程概念 现代操作系统的重要特点是程序的并发执行,及系统所拥有的资源被共享和系统的用户随机地使用。这三个特点是互相联系和互相依赖的,它们是互相独立的用户如何使用有限的计算机系统资源的反映。通常,操作系统的重要任务之一是使用户充分、有效地利用系统资源。 采用一个什么样的概念,来描述计算机程序的执行过程和作为资源分配的基本单位才能充分反映操作系统的执行并发、资源共享及用户随机的特点呢?这个概念就是进程。 为了讲清进程的概念,以及引入进程概念的必要性等,下面将从操作系统的特点讲起。 程序的顺序执行及其特征 一个程序通常是由多个程序段组成,各程序段必须按照事先规定的次序顺序执行,仅在当前程序段执行完后才能执行下一个程序段。 例如:进行计算。I:输入操作 P:计算操作 O:输出操作。在进行计算时,总是先输入用户的程序和数据,然后进行计算,最后将结果输出来。 程序的顺序执行及其特征 我们把一个具有独立功能的程序独占处理机直至最终结束的过程称为程序的顺序执行。程序的顺序执行具有如下特点: (1) 顺序性 程序顺序执行时,其执行过程可看作一系列严格按程序规定的状态转移过程。 (2) 封闭性 程序执行得到的最终结果由给定的初始条件决定,不受外界因素的影响。 (3) 可再现性 只要输入的初始条件相同,则无论何时重复执行该程序都会得到相同的结果。 程序的顺序执行导致程序独占系统的所有资源,而程序在其执行的某一时刻不可能同时使用所有这些资源,帮程序的顺序执行导致系统资源的严重浪费。故引入多道程序概念 程序的并发执行及其特征 多道程序系统中程序执行环境的变化 在许多情况下,需要计算机能够同时处理多个具有独立功能的程序。批处理系统、分时系统、实时系统以及网络与分布式系统等都是这样的系统。这样的执行环境具有下述三个特点: (1) 独立性 每道程序都是逻辑上独立的,它们之间不存在逻辑上的制约关系。 (2) 随机性 在多道程序环境下,特别是在多用户环境下,程序和数据的输入与执行开始时间都是随机的。 (3) 资源共享 资源共享将导致对进程执行速度的制约。 程序的并发执行及其特征 什么是程序的并发执行 所谓并发执行,是为了增强计算机系统的处理能力和提高资源利用率所采取的一种同时操作技术。程序的并发执行可进一步分为两种:第一种是多道程序系统的程序执行环境变化所引起的多道程序的并发执行。由于资源的有限性,多道程序的并发执行总是伴随着资源的共享与竞争。从而制约各道程序的执行速度。而无法作到在微观上,也就是在指令级上的同时执行。因此,尽管多道程序的并发执行在宏观上是同时进行的,但在微观上仍是顺序执行的;第二种并发执行是在某道程序的几个程序段中(例如几个程序),包含着一部分可以同时执行或顺序颠倒执行的代码。例如语句: S1:p=x+13 S2: q=y-24 S3: m=p+q-12 S4:n=n+m+16 S1和S2相互独立,可行同时并发执行 又如:系统中有三道程序,每个程序均由输入、运算、输出三部分组成,它们之间的并发执行过程如图所示: 程序的并发执行可总结为:一组在逻辑上互相独立的程序或程序段在执行过程中,其执行时间在客观上互相重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的这种执行方式。 程序的并发执行不同于程序的并行执行。程序的并行执行是指一组程序按独立的、异步的速度执行。并行执行不等于时间上的重叠。可以将并发执行过程描述为: S0 Cobegin P1;P2;... Pn Coend Sn 这里,S0,Sn分别表示并发程序段P1,P2,…,Pn开始执行前和并发执行结束后的语句。P1,P2,…,Pn也可以由同一程序段中的不同语句组成。 语句间并发执行的条件 1966年Bernstein 提出了两相邻语句S1,S2可以并发执行的条件: 将程序中任一语句Si划分为两个变量的集合R(Si)和W(Si)。其中 R(Si)={a1 a2 … am},aj(j=1,…,m) 是语句Si在执行期间必须对其进行读写的变量; W(Si)={b1 b2 … bn},bj(j=1,…,n) 是语句Si在执行期间必须对其进行修改、访问的变量; 如果对于语句S1和S2,有 ① R(S1)∩ W(S2)={∮}, ② W(S1)∩ R(S2)={∮}, ③ W(S1)∩ W(S2)={∮} 同时成立,则语句S1和S2是可以并发执行的。 程序的并发执行所带来的影响 程序的并发执行充分地利用了系统资源,从而

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档