第3章 进程管理_第1页
第3章 进程管理_第2页
第3章 进程管理_第3页
第3章 进程管理_第4页
第3章 进程管理_第5页
已阅读5页,还剩113页未读 继续免费阅读

下载本文档

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

文档简介

1、第3章流程管理,3.1流程的概念3.2流程的说明3.3流程状态和转换3.4流程控制3.5流程互不相容3.6流程同步3.7流程通信3.8死锁问题3.9线程讲座会话:12.0,3.1流程的概念,3.1.1程序的并发执行1,程序2,程序的顺序执行特性:顺序闭合性再现,3.1流程的概念在程序的同时执行前体程序的同时执行中,特征的间断性丧失闭合性不可再现性,3.1过程的概念,例如共享一个变量n的两个循环程序a和b。 每次运行程序a时。必须全部执行n:=n 1操作。每次程序b运行时执行Print(N)操作,并将N设置为“0”。程序a和b以不同的速度运行。(1)N:=n 1 Print(N)和N:=0之前,

2、N的值分别为N 1、N 1,0。(2)N:=N 1 Print(N)和N:=0后,N的值分别为N、0,1。(3)N:=N 1介于Print(N)和N:=0之间,N值分别为N、N 1和0。过程是操作系统中最基本、最重要的概念。引进过程的目的是表征系统的动力学。与静态程序相比,过程从生成到消亡,都是动态的、暂时的、持续的动态的。在操作系统中引入进程概念,表明系统内部的“动态性”更好地说明了。3.1流程的概念,引入流程的目的是解决共享。可重新进入程序:多个程序可以同时调用的纯代码,在执行过程中不会自行更改。可重新进入程序可以在系统内形成多个执行实体的同时共享系统资源。此时,程序的概念不能准确说明可共

3、享性。3.1流程的概念,更常见的流程定义流程是程序的执行。进程是程序及其数据按处理程序的顺序运行时发生的操作。流程是在数据集合中运行的流程,它是系统执行资源分配和计划的单独流程。3.1流程的概念,流程的定义:流程是数据收集中具有独立功能的程序(段)的单个执行活动,是系统执行资源分配和计划的独立单元。如流程的定义所示,流程和程序是不同的,具有独特的特征。3.1进程的概念,进程的属性(1)动态:进程是具有生命周期的执行进程。并发:多个进程可以同时运行。结构:流程包括程序块、数据块、流程控制块等多个部分。独立:资源分配和系统计划的独立单位。3.1进程的概念,进程的属性(2)共享:多个进程共享同一程序

4、。交互:多个进程之间可能存在约束关系。异步:每个进程以其自身无法预测的速度进行。3.1过程的概念,过程和程序的关系过程是动态的,程序是静态的;过程由程序和数据等多个部分组成。多个进程可能对应于一个过程。进程具有生命周期,且很短。程序比较长。进程具有并发性,但在程序中不存在。3.1进程的概念,在进程的基本状态进程的生命周期中,一个进程至少有三种基本状态:运行状态、等待状态和就绪状态。运行状态运行:流程所属处理器正在运行。就绪状态ready:具有执行条件,但由于没有CPU而暂时无法执行的状态。等待状态wait:阻塞状态,休眠(sleep)状态导致等待事件发生,暂时无法运行。3.3流程状态及其转换,

5、流程的默认状态通常是创建一个流程后的就绪状态。每个进程仅在运行过程中的任意时间或处于上述三种状态之一时运行。同时,一个进程运行时其状态会发生变化。3.3流程状态及其转换、流程状态转换流程的状态反映了流程执行流程的更改。这些状态将根据流程的执行和外部条件进行更改和转换。实际上,过程的状态转换是一个非常复杂的过程。3.3进程状态及其转换、3.3进程状态及其转换、进程的三种状态及其转换图、进程状态转换可能导致进程状态转换的原因包括:执行状态等待状态:事件可能会发生,例如等待资源使用或等待外围设备传输。待机状态就绪状态:相应的等待事件已发生,例如外围设备传输终止。(等待退出)运行状态就绪状态:发生了时

6、间点到时间点或更高优先级的进程。(落选)就绪状态运行状态:流程由调度程序选择。3.3进程状态和转换、3.3进程状态和转换、进程的7种状态模型就绪状态:进程位于内存中,可以立即进入锁定状态:进程位于内存中,等待事件的阻塞停止状态:已锁定、已暂停进程的七种状态模型已中断:内存不足时,等待进程或准备进程将从内存临时传输到外部存储,以满足新进程或高优先级进程的内存请求要求。 激活:在没有准备进程、可用内存充足或暂停准备进程优先级高的情况下,等待要暂停的准备进程或进程重新加载内存时,状态会发生变化。流程的静态说明从CPU计划开始,流程实体的说明称为流程的静态说明(逻辑说明)。流程的静态说明由三部分组成:

7、流程控制块PCB、程序段和数据集。对3.2进程的说明,对3.2进程的说明,进程控制块的角色进程控制块的作用是使多通道程序环境中不独立运行的程序(包含数据)成为能够独立运行的基本单元,使其成为能够与其他进程以冰方式运行的进程。或者,OS根据PCB控制和管理并发执行。流程控制块PCB系统使用PCB控制和管理流程,PCB是系统识别流程的唯一表示形式。流程与PCB一一对应。通常,PCB包含三类信息:描述性信息、控制信息和现场信息。3.2进程的说明,进程控制块PCB说明信息用于唯一标识进程。唯一的进程标识符(processID),通常为整数:通常基于可执行文件名称的进程名(非唯一);使用者识别码(use

8、rID):所属使用者;流程家族关系、3.2流程的说明以及流程控制块PCB控制信息用于管理和调度流程。进程的当前状态state和进程优先级priority;代码执行门户地址和程序的外部存储地址;执行统计资料:执行时间,页面排程;进程的队列指针;进程的消息队列指针:同步信号;资源列表:所需资源、打开文件列表等;3.2流程的说明-流程控制块PCB现场信息在流程运行时保留CPU上存储的关键信息,如果流程中断,则将现场信息存储在流程控制块中,并在流程重新运行时恢复处理器现场。一般内容如下:寄存器内容:通用、程序计数器PC、状态PSW、堆栈指针等;指向流程中指定的段/页表的指针;3.2进程的说明、3.2进

9、程的说明、进程控制块的组织方式1、链接方法、3.2进程的说明、进程控制块的组织方式2、索引方法、3.2进程的说明、进程上下文转移、主体、引入下一进程上下文切换的线程的概念进程空间和大小、进程的内存图像(ProcessImage进程作为进程映像在系统上运行。进程图像主要由四个元素组成:PCB、程序块、数据块和堆栈。,3.2流程的说明,3.2流程的说明,虚拟流程的流程图像,流程的内存图像(ProcessImage)操作系统中的流程物理实体(流程图像),支持流程执行的环境称为流程上下文(processcontext),用户级上下文(user-)系统级上下文:包含流程的标识信息、现场信息和控制信息、流

10、程环境块、系统堆栈等的流程地址空间。3.2进程的说明、进程的内存图像操作系统中的进程上下文包括程序状态单词寄存器、各种控制寄存器、地址寄存器、公共寄存器、用户堆栈指针等三个组件。3.2流程说明、教室总结、流程概念和特征流程的PCB流程图像(上下文)流程状态及其转换,以及处理器管理的主要任务之一是控制流程。流程控制是通过使用具有特定功能的程序段创建、撤消和完成流程的每个状态的转换,实现多流程有效的并发执行和协调以及资源共享的目的。3.4进程控制、创建进程、阻塞进程、唤醒进程、暂停进程、激活进程、终止进程和取消进程等3.4进程控制。这些控制和管理功能由操作系统的原语实现。基元是在管道状态下执行和完

11、成系统的特定功能的过程。原语类似于机械命令,其特征是不可分割的基本单位,在执行过程中不允许中断。因此,原语的执行不能是连续和并发的。3.4流程控制,流程生成操作系统为程序配置流程控制块并分配地址空间后,创建了流程。需要创建流程的情况包括:提交批处理作业或通过终端提交交互式作业时,系统程序模块将创建与每个作业对应的新进程。发生系统调用时,系统将生成服务进程。父流程会建立新子流程,以形成具有父子关系的流程系列树。3.4进程控制,进程生成事件发生:如果系统需要创建新进程,则(1)用户登录:用户登录时,系统已为用户创建根进程,最大的进程(2)任务调度(3)提供服务:调用系统程序,系统进程用于用户(4)

12、应用程序请求:系统内部的程序向主工艺表中添加项目,并从PCB池请求空PCB。为新流程的流程图像分配地址空间。将各种资源(内存除外)分配给新进程。找到子存储中的流程主体段,然后将其加载到流程地址空间的主体区域。初始化流程控制块(如状态)并分配标识符。按照优先级将流程放入准备队列,等待流程调度。3.4流程控制,撤消流程将撤消流程。(1)进程完成了所需的功能,正常终止。所有计算机系统都必须具有指示流程运行完成的说明。例如,在批处理系统中,通常调度程序最后一个Holt指令或结束的系统调用。程序发出Holt指令时,将中断通知操作系统此过程已完成。在时间共享系统中,用户可以使用logloglogoff指示

13、进程已完成,这可能会导致中断,通知操作系统进程已完成。3.4进程控制,2)异常终止超出边界错误。指示程序访问的存储库。进程不再访问的区域。保护错误。进程试图以不适当的方式访问不允许访问的资源或文件,如进程试图写入只读文件。非法指示。程序尝试执行不存在的命令。此错误可能是由于程序错误地使用数据作为指导传输到数据区域。权限命令无效。用户进程尝试执行仅允许操作系统的命令。运行超时。进程运行超过了指定的最大值(例如死循环)。等待超时。进程等待事件的时间超过指定的最大值。算术计算错了。试图执行进程被禁止的计算(如除以0)。I/o失败。这是I/O过程中出现错误等情况。3)外部干预外部干扰意味着该进程在运行

14、过程中没有发生异常事件,而是根据外部用户的请求终止运行。操作员或操作系统干预。例如,如果发生死锁,操作员或操作系统终止进程:父进程请求。父进程在父进程请求时终止,因为父进程有权终止子进程。父进程已终止。父进程终止后,OS将终止所有子进程,并可能继续存在。2 .进程的结束进程(1)根据正在结束的进程的标识符从PCB集合中检索该进程的PCB,以读取该进程的状态。(2)如果已终止的进程正在运行,请立即终止进程运行,并将调度标志设置为true,以指示进程结束后需要重新调度。(3)如果流程具有子流程,则必须终止所有子流程,以避免成为无法控制的流程。(4)将已终止进程拥有的所有资源返回给父进程或返回给系统

15、。(5)在队列(或连接的列表)中移动正在关闭的进程(PCB),等待其他程序收集信息。进程的阻塞和唤醒进程的阻塞指示进程等待资源等待、I/O完成、等待事件发生等事件,通常是进程本身的行为,因为进程直接调用阻塞原语以阻止自身。等待事件关闭后,操作系统将激活,系统控制下阻止的进程(例如I/O操作终止、资源可用或事件发生预期)将断开。3.4进程控制、进程阻塞和唤醒事件、打印服务启动运行I/O设备等系统服务请求新数据未达到进程同步没有新任务等待新任务、3.4进程控制、正在运行的进程、发现上述事件之一时无法继续执行,因此进程调用阻塞基本块来阻止自己。进程被阻止的步骤包括:停止运行进程,并将字段信息保存到P

16、CB。修改流程控制块的内容,例如,将流程控制块的当前状态从执行更改为阻止。3.4流程控制,3.4流程控制,将修改的流程控制块添加到相应的等待流程队列。如果系统中设置了多个因其他事件而被阻止的阻塞队列,则必须将进程插入到具有相同事件的阻塞(排队)队列中。然后,您必须转到流程调度器并安排其他流程运行。按照新进程的PCB上的处理器状态设置CPU的环境。当阻止的进程遇到预期的事件时,如I/O完成或达到预期的数据,调用wakeup (wakeup)将唤醒等待该事件的进程。3.4流程控制,3.4流程控制,流程唤醒的步骤如下:从相应的等待进程队列中删除进程控制块。修改流程控制块的信息,例如,流程状态更改为“就绪”。将修改后的流程控制块添加到准备流程队列。上面介绍了流程转换的基本流程。具有交互的进程可能有两种情况:竞争关系在同一时期内竞争以使用一种非共享资源。流程互不相容是解决流程之间竞争关系(间接约束关系)的手段。协作关系是指系统中多个进程中发生的事件具有某种计时关系,必须相互协作才能完成一项任务。进程同步是解决进

温馨提示

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

评论

0/150

提交评论