- 1、本文档共94页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机操作系统主讲教师:曹建秋 贺清碧;课程主要内容;从进程的观点研究操作系统;Process Management 进程管理---第2章;2.1 进程的基本概念;一、前趋图的定义;Eg1: 以下三条语句的前趋图为: s1: a:=x+y s2: b:=a-5 s3: c:=b+1 ;二、程序顺序执行;三、程序并发执行;三、程序并发执行;程序并发执行条件例题;一、进程的定义、特征;进程与程序的主要区别;;2、进程process的基本特征
(1)结构特征
为了描述和记录进程的运动变化过程,并使之能正确运行,每个进程都应配置了一个进程PCB。所以,从结构上看,每个进程(进程实体)都是由程序段、相关数据段及进程控制块(PCB)组成。
注:1.在早期UNIX版本中称进程的三个组成部分为“进程映像”
2.区别进程实体和进程
(2)动态性
进程的实质是程序在处理机上的一次执行过程,因此是动态性的。所以动态性是进程的最基本的特征。同时动态性还表现在 进程则是有生命期的,它因创建而产生,因调度而执行,因得不到资源而暂停,因撤消而消亡。;(3)并发性
指多个进程实体同时存在于内存中,能在一段时间内同时运行。
引入进程的目的就是为了使进程能并发执行,以提高资源利用率,所以并发性是进程的重要特征,也是OS的重要特征。
(4)独立性
指进程是一个能独立运行的基本单位,也是系统进行资源分配和调度的独立单位。
(5)异步性
指进程以各自独立的、不可预知的速度向前推进。
;二、 进程状态; 进程在运行期间并非固定处于某个状态,而是不断从一个状态转换到另一个状态。
2、进程状态转换;3、进程的挂起状态
在某些系统中,为了更好地管理和调度进程,引入了挂起状态:
挂起状态/静止状态:
程序在运行期间,由于某种需要,往往要将进程暂停执行,使其静止下来,以满足其需要。这种静止状态就称为进程的挂起状态。;引起挂起状态的原因;具有挂起状态的进程状态 在引入挂起状态后,就增加了挂起状态(静止状态)与非挂起状态(活动状态)间的转换,如图所示:;三、进程控制块Process Control Block (PCB);2、进程控制块PCB中的信息
根据操作系统的要求不同,PCB所包含信息有些不同,但通常包含以下信息:
进程标志符:由系统创建进程时分配给进程的唯一标识号,通常为一整数,称为进程号,用于区分不同的进程。其所属用户通常也为一整数,称为用户号。
处理机状态(断点信息):即处理机中各种寄存器(通用寄存器、PC、PSW等)的内容
进程调度:记录了进程调度的相关信息(状态、优先级、事件等)。
进程控制:记录了系统对进程控制的信息(程序和数据的地址、同步机制、资源清单、链接指针);3、进程控制块PCB的组织方式
在一个系统中,通常存在着许多进程,它们所处的状态不同,为了方便进程的调度和管理,需要将各进程的PCB用适当方法组织起来。目前常用的组织方式有:
链接方式 图示
把同一状态的PCB链接成一个队列,这样就形成了就绪队列、阻塞队列等。
索引方式 图示
将同一状态的进程组织在一个索引表中,索引表的表项指向相应的PCB ,不同状态对应不同的索引表。 ;1;按索引方式组织PCB;2.3 进程的控制; 补充:处理机的执行状态
为防止OS及其关键数据(如PCB等)不被用户有意或无意破坏,通常将处理机的执行状态分为两种;一、进程创建;2、引起进程创建的事件;3、进程的创建; 一个进程在完成其任务后,应加以撤消,以便及时释放其占有的各类资源。
1、导致进程撤消的事件
进程正常结束
进程异常结束
外界干预
如果系统中发生了要求撤消进程的事件,OS便调用撤消原语去撤消进程。
2、撤消原语可采用2种撤消策略:
只撤消指定的进程
撤消指定进程及其所有的子孙进程; 3、进程撤消的过程; 当一个进程期待的事件尙未出现时,该进程调用阻塞原语block()(功能:将进程由执行状态转为阻塞状态)将自己阻塞起来。对于处于阻塞状态的进程,当该进程期待的事件出现时,由其它相关进程调用唤醒原语wakeup()(功能:将进程由阻塞状态变为就绪状态)将阻塞的进程唤醒,使其进入就绪状态。
1、引起进程阻塞和唤醒的事件
请求系统服务
启动某种操作
新数据尚未到达
无新工作可做;停止执行; 当
文档评论(0)