- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 进程管理 2.1 进程的基本概念 2.2 进程控制 2.3 线程 2.1 进程的基本概念 2.1.1 程序的顺序执行与并发执行 2.1.2 进程的定义 2.1.3 进程的特征 2.1.4 进程的状态及转换 2.1.5 进程控制块 前驱图(Precedence Graph) 前驱图是一个有向无循环图,记为DAG,可用于描述进程之间执行的前后关系。 程序的顺序执行 程序的顺序执行如图 程序的顺序执行 一个程序的多条语句的顺序执行: 程序顺序执行的特点 顺序性:一个程序开始执行必须要等到前一个程序已执行完成。 封闭性:程序运行时独占计算机资源,资源的状态只能由本程序修改。程序一旦开始执行,其计算结果不受外界因素影响。 可再现性:程序的结果与它的执行速度无关(即与时间无关),只要给定相同的输入,一定会得到相同的结果。 程序的并发执行 所谓程序的并发执行是指:若干个程序同时在系统中执行,这些程序的执行在时间上是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始。 程序的并发执行 一个程序的多条语句的并发执行: 程序并发执行的特点 间断性 失去程序的封闭性 程序在并发执行时,是多个程序共享系统中的资源,因此这些资源的状态将由多个程序来改变。 不可再现性 程序并发执行的特点 例:程序A、B,共享变量N,程序A,执行N:=N+1;程序B执行Print(N),然后将N置0。两个程序以不同速度运行,可能出现三种情况: N:=N+1在Print(N)和N=0之前,此时N值分为N+1,N+1, 0 N:=N+1在Print(N)和N=0之后,此时N值分为N, 0, 1 N:=N+1在Print(N)和N=0之间,此时N值分为N, N+1, 0 2.1.2 进程的定义 进程的概念是60年代初首先由麻省理工学院的MULTICS系统和IBM公司的CTSS/360系统引入的。进程有很多各式各样的定义,如: 行为的一个规则叫做程序,程序在处理机上执 行时所发生的活动称为进程。 具有一定功能的程序在某个数据集合上的 一次活动。 2.1.2 进程的定义 进程是一个程序与其数据一道通过处理机的执行所发生的活动。 进程是指进程实体的运行过程,是系统进行资源分配和调度的独立单位。 2.1.2 进程的定义 进程是可并发执行的程序在一个数据集合上的运行过程。 进程是指进程实体的运行过程。 进程同程序的比较 程序是指令的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态的概念。程序是静态的,进程是动态的; 程序可以作为一种软件资料长期存在,而进程是有一定生命期的。程序是永久的,进程是暂时的; 进程同程序的比较 进程更能真实地描述并发,而程序不能; 进程是由程序和数据、进程控制块PCB三部分组成的; 进程具有创建其他进程的功能,而程序没有 同一程序同时运行于若干个数据集合上,它将属于若干个不同的进程。也就是说同一程序可以对应多个进程 2.1.3 进程的特征(1) 结构性:由程序(段)、数据(段)、进程控制块(PCB)三部分组成; 动态性:进程是程序的执行过程; 并发性:多个进程可同存于内存中,能在一段时间内同时运行; 2.1.3 进程的特征(2) 独立性:独立运行的基本单位,独立获得资源和调度的基本单位; 异步性:各进程按各自独立的不可预知的速度向前推进。 2.1.4 进程的状态及转换 不同系统设置的进程状态数目不同 进程有三种基本状态: 进程在生命消亡前处于且仅处于三种基本状态之一。 进程的三种基本状态 就绪状态(Ready):存在于处理机调度队列中的所有进程,它们已经准备就绪,一旦得到CPU,就立即可以运行。这些进程所处的状态为就绪状态。 就绪队列:处于就绪状态的进程按一定的策略排队,同一时刻可有多个就绪队列。 进程的三种基本状态 运行状态(Running):正在运行的进程所处的状态为运行状态。 单处理机系统 只有一个进程处于该状态 多处理机系统有多个进程处于运行状态 进程的三种基本状态 等待/阻塞/睡眠状态(Wait/Blocked):若一进程正在等待某一事件发生(如等待输入输出工作完成),这时,即使给它CPU,它也无法运行,称该进程处于等待状态(阻塞、 睡眠、封锁状态)。 阻塞队列:根据阻塞原因可以设置多个队列。 进程的状态变迁图 五状态进程模型 七状态进程模型 七状态进程模型 【思考题】 1、如果系统中有N个进程,运行的进程最多几个,最少几个;就绪进程最多几个最少几个;等待进程最多几个,最少几个? 2、有没有这样的状态转换,为什么? 等待—运行; 就
文档评论(0)