计算机操作系统第2章-进程管理第一部分_第1页
计算机操作系统第2章-进程管理第一部分_第2页
计算机操作系统第2章-进程管理第一部分_第3页
计算机操作系统第2章-进程管理第一部分_第4页
计算机操作系统第2章-进程管理第一部分_第5页
已阅读5页,还剩212页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1,2章流程管理第1部分流程的说明和控制,演示者:王斯峰,2,主要目录,流程介绍2.1之前的图表和程序执行2.2流程的说明2.3流程控制2.4线程的基本概念2.5本章基本要点总结练习和参考回答2.6任务,3,流程介绍,流程的概念是操作系统中最基本、最重要的概念。这是为了说明系统内部各种操作的活动规律而引入的新概念,以雕刻出多通道程序系统出现后系统内部发生的情况。4、在多通道程序部署系统和分时系统中,程序不独立运行,作为资源分配和独立运行的基本单元是进程。操作系统具有的四个主要特征也是基于过程形成的,从过程的角度研究操作系统,可以说是所谓的过程观点。运行5,2.1之前的映射和程序(顺序或并行)

2、,运行2.1.1之前图表的定义2.1.2程序顺序:表示一些进程按顺序运行。第一,程序顺序执行2、程序顺序执行功能2.1.3程序并发执行1、程序并发执行2.1.4程序并发执行条件、6,2.1.1之前路径图的定义之前路径图(Procedence Graph)为directed acyclic graph。用于说明进程之间执行前后的关系。图中的每个节点用于表示语句、程序段或进程,节点之间的垂直边用于表示两个节点之间存在的“部分顺序”(Partial Order)或“前向关系”(Procedence Relation),=(pi,pj)| pi must complete befoot如果(Pi,Pj

3、)属于,则可以写为pPj。换句话说,Pi是pj的前进流,Pj是Pi的直接后续。没有前面节点的节点称为初始节点,没有后面节点的节点称为结束节点。每个节点都有重量,以该节点包含的进程或节点的运行时间来衡量。,7,以上图标:p=P1,p2,P3,P4,P5,P6,p7=(P1,p2),(P1,),8,2.1.2运行进程顺序,运行进程顺序常规进程的运行必须按一定的顺序全局执行。这是程序内部的顺序,不同的程序也严格按调用顺序执行。这是程序外部的顺序。9,一个程序段中的多个语句也有执行顺序。第二,在执行程序顺序时,特征1,顺序处理器操作严格按照程序中规定的顺序执行。也就是说,每个任务必须在下一个任务开始之

4、前结束。10,2,关闭程序垄断了整个机器资源。因此,只有此过程才能更改本地资源的状态(初始状态除外)。一旦启动,其运行结果不受外部因素的影响。11,3,再现性程序的执行结果与时间无关,与执行速度无关。2.1.3运行程序并发1,在运行程序并发之前的问题上,不能完全并发运行程序,但是同一程序可以分为不同的程序段。不同方案段所需的资源不同。因此,可以在程序段级别并行运行。13,2.1之前的贴图和程序运行,即两个不同程序之间的不同程序段之间存在以前的关系。14,2.1之前的映射和程序执行,第二,程序同时执行时的特征1,间歇程序同时执行时的共享资源或相互协作以完成同一任务,从而在并发程序之间形成了相互制

5、约的关系。15,由于相互约束,并发程序具有间歇性活动规律:执行-暂停执行-执行。16,2,关闭程序并发运行丢失时,多个并发程序共享系统的各种资源,因此这些资源的状态由多个程序更改,程序运行将失去关闭性。这些程序在运行时受其他程序的影响。17,3,再现性程序同时运行时,闭合性将丢失,其运行结果的再现性将丢失。发生与时间相关的错误。如果,18,N的值为N(1),则N:=n 1在print(N)和N:=0之前,N的值为N 1,N 1,0。(2)N:=N 1 print(N)和N:=0后N的值分别为N、0,1(3)N 3360=N 1,在print(N)和N:=0之间N由此可见,如果程序同时运行,则没

6、有关闭,计算结果与并发程序的运行速度相关,程序的再现性丢失。也就是说,多次运行后,运行环境和初始条件相同,但结果不相同,如上所述,20,2.1.4程序的并发运行条件(通常可以理解),程序并发运行可以有效地提高资源利用率和系统吞吐量,但必须确保并发程序保持再现性。同时运行程序的条件。定义R(pi)=a1,a2,am,表示程序pi在执行过程中需要引用的所有变量的集合。称为读取集。W(pi)=b1、b2、bm是程序pi在执行过程中要更改的所有变量的集合,称为“写入集”。21,如果有两个门ci=a-b和wi=c 1,则读写集分别为R(c:=a-b)=a,b,r (w :=c 1)=c w (cR(c

7、:=a-b)=R(W :=a-b)=R(W :=c 1)AC W(W :=c 1)=,R(p1)相交W(p2)=W(p1)相交R(p2)=W(p1)相交W(p2)=,23。其中前两个条件可确保两个操作之间程序内存中的数据不会更改。最后一个条件确保程序写操作的结果不会丢失。同时只要满足三个条件,同时运行的程序就可以保持闭合性和再现性。但并不是所有的问题都解决了。在实际程序执行过程中,很难检查这三个条件。例如:s 1: a :=x y s 2330 b :=z 1s : c :=a-b s 4: W :=c 1,24,r (S1)=x,y,r (S2)为什么?25,2.2流程的说明、2.2.1流程

8、的定义和特征1、流程的定义2、流程的特征2.2.2流程的默认状态1、流程的三个默认状态2、新状态和结束状态3、流程状态的转换2.2.3流程的暂停状态1、引入暂停状态2、流程状态的转换2.2.4流程控制块PCB 1、流程控制其中包括进程标识符、进程运行的当前状态、程序和数据的地址,以及可以存储程序运行时CPU的环境信息。PCB或流程描述符process descriptor将流程实体组织为程序段、数据段和流程控制块。27,2.2.1流程的定义和特征1,流程定义过程的概念是在20世纪60年代早期由MIT的Multics系统和IBM的CTSS/360系统引入的,其后还有其他定义。MIT称为proce

9、ss,IBM称为task,Univac称为activityaction。反映流程本质的定义如下:28、(1)进程是程序在处理器上运行的进程。(2)过程是可以与其他计算同时执行的计算。(3)流程可以定义为执行数据结构和操作的程序(4)流程。进程是操作(5)进程,当程序及其数据按处理程序的顺序执行时,它是系统分配和调度资源的单独单元。在本教程中,将进程定义为、进程是在一个数据段中一次执行的进程。Sequential process(序列流程)、29、2、流程的特性(相对于程序)流程有五个与程序不同的基本特性。1、动态力学是过程最基本的特性。动态性在创建中生成,在调度中运行,由于资源不可用而暂停执行

10、,并因撤消而消亡。进程具有特定的生命周期。程序只是有序命令集的集合,保存在特定介质中,本身没有运动的意义,因此程序是静态实体。30,2,并发性是过程的重要特征,也是操作系统的重要特征。引入进程的目的是使程序与其他进程中的程序同时运行。程序不能同时运行。3、独立进程实体是可以独立运行的基本单位,独立于系统获取资源和独立计划的基本单位。未设置进程的所有程序不能作为单独的单元运行。31,4,异步过程各以不可预测的独立速度进行。或进程异步运行。异步。5、结构化特征过程由称为过程图像的过程段、数据段和过程控制块组成。32,3,过程和过程的关系(通常理解)过程和过程是两个紧密相关的,但是是不同的概念,在以

11、下方面存在差异或联系:(1)流程是计算机上程序及其数据的执行活动,是动态的概念。进程的执行实体是程序,离开程序的进程没有任何意义。从静态角度来看,流程由程序、数据和流程控制块组成,而程序是静态概念的有序命令集合。即可从workspace页面中移除物件。(2)过程是暂时的,过程是永久性的。进程是程序可以保存很长时间的状态更改进程。(3)流程与包含程序、数据和流程控制块的程序的配置不同。33,(4)过程与程序密切相关。多次运行使一个程序可以响应多个流程,并且通过调用关系,一个流程可以包含多个程序。进程可以编写其他进程,但程序不会形成新程序。M: n的关系。34、一个进程的生命周期可以分为描述整个进

12、程的一组状态。在流程执行过程中,系统中多个流程的并发执行和相互约束将继续更改流程的状态。通常,进程至少可以分为三种基本状态。35,2 . 2 . 2 . 2进程的默认状态: 3状态模型1,进程的三个默认状态1,准备状态进程已分配给除CPU之外的所有必需资源,如果处理器重新可用,则这些进程状态称为准备状态。多个进程排列到一个或多个就绪队列中。三种情况下的过程构成了准备队列。新流程通常处于就绪状态。36,2,运行(运行)状态running在单处理器系统上只能运行一个进程,在多处理器系统上可以运行多个进程。又名运行状态。37,3、阻塞状态或待机状态休眠进程因发生I/O请求或缓冲区空间请求等事件而暂停

13、执行的状态称为待机或阻塞状态(也称为待机或睡眠状态)。处于阻塞状态的多个进程被排列到阻塞队列中。在某些系统上,处于阻塞状态的进程会根据阻塞的原因置于多个队列中。38,请注意,前两个状态在逻辑上类似,两个状态的进程都可以运行,但不会为第一个状态临时分配CPU。第三种状态无法运行,即使CPU空闲,也无法运行。39、中断发生后操作系统的最低任务阶段、硬件压痕堆栈程序计数器、PSW等硬件在中断向量(内存低地址)下设置新程序计数器汇编语言进程存储寄存器值汇编语言进程设置新堆栈c中断服务实例执行(正常读取和缓冲输入)调度程序将下一进程c进程返回到汇编代码汇编语言进程开始执行新的当前进程、40、系统中每个进

14、程可能具有的状态和如图所示,42 .准备状态可以更改为运行状态。准备过程释放处理器资源(分配处理器时间片)可能会阻止执行状态。也就是说,可以请求资源的使用和分配,或等待事件发生。这将发生进程上下文的切换。(用户级上下文、寄存器上下文和系统级上下文)阻塞状态可以变更为就绪状态。发生等待事件时,中断处理程序会将进程从阻塞转换为就绪。您可以将运行状态更改为就绪状态(时间片已用完或抢占)。43,内核实现的进程切换,意味着当前运行的进程转换到另一状态,然后返回运行状态。在此过程中,流程的执行环境发生了实质性的变化。转换过程:1)存储处理器上下文,包括程序计数器和其他寄存器。2)更新流程控制块信息。3)将

15、流程的流程控制块移动到相应的队列,例如准备、在特定时间阻止等。4)选择其他流程运行,然后更新相应的流程控制块。5)更新内存管理的数据结构6)恢复处理器上下文。44、2、新状态和终止状态: 5状态模型某些系统中添加了两种状态。1、“new status(新建状态)”(创建状态)如果流程正在创建,但尚未运行,并且尚未移至准备队列,则该流程处于创建状态。在Unix系统上,如果fork()和exec() 2,exec()2,terminated(关闭状态)进程正常终止或异常终止,从而释放了进程控制块以外的其他资源,则OS会将该资源从准备队列中移出,但如果尚未撤消,则该进程将处于关闭状态。45,引入新状态的原因是OS在设置过程时分两个阶段进行。第一步是为新登录的用户程序(分时系统)创建进程并为其分配资源。过程将进入新状态。在第二个步骤中,将新创建的流程发送到准备队列,将新状态转换为准备状态。完成的过程有两个步骤,即关闭系统。第一步是在准备队列中移动进程,使其成为无法重新运行的进程,该进程处于关闭状态,系统会暂时将其保留在系统中,以便其他进程收集有关

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论