计算机操作系统(第三版)2进程管理_第1页
计算机操作系统(第三版)2进程管理_第2页
计算机操作系统(第三版)2进程管理_第3页
计算机操作系统(第三版)2进程管理_第4页
计算机操作系统(第三版)2进程管理_第5页
已阅读5页,还剩143页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章流程管理,2.1流程的基本概念2.2流程控制2.3流程同步2.4经典流程的同步问题2.5管道流程机制2.6流程通信2.7线程,了解教育目的:流程概念,了解流程控制流程同步和通信控制流程同步以及互斥算法了解线程的基本概念和通信机制的重点和难点。进程的同步互斥算法和通信,2.1.1进程的基本概念,2 . 1 . 1之前图2.1.2程序的顺序执行和特性2.1.3程序的并行执行和特性2.1.4进程的特性和状态2.1.5进程控制块,记录为说明进程之间执行前后关系的直接循环图形。初始节点关闭节点重量,节点具有直接引线(例如,具有9个节点的前向图,前向关系:p1p2、p1p3p33、p1p4、P2P

2、5、p3p5、p4p6、p4p7、p598、p6p示例:执行2.1.2程序顺序及其功能;程序:源代码程序、目标代码程序、执行可执行程序:编辑、编译、链接、执行程序结构:顺序结构、分支结构、循环结构、执行程序顺序示例:例如1:输入I、执行程序已关闭:流程运行时,计算结果不受外部元素的影响。再现性:如果程序运行时的环境和初始条件相同,则每次迭代运行的结果相同。2.1.3程序的并发执行及其特征,1 .程序的并发执行(称为程序的并发执行)意味着多个程序同时在系统上运行,这些程序的执行在时间上是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始。同时运行一个程序段的多个语句:s 1: a :=x

3、2s 2: b :=y 5s 3: c :=a b s 4:d :=c 6,2,程序并行运行的特征,与间歇资源共享交互闭合程序损失由于在并发运行中是多个程序共享系统的资源,因此这些资源的状态将由多个程序更改。再现性是由于梗阻性丧失造成的。在相同的初始条件下,可以多次重复一个程序,以获得不同的结果。并发执行示例1(与时间相关的错误)。此错误与相对执行速度相关,因此称为与时间相关的错误。并行程式范例2范例:程式a,b,共用变数n .代码为:程序A BEGIN REPEAT N:=N 1 UNTIL FALSE END,程序b BEGIN REPEAT Print(N)N :=0 UNTIL FAL

4、SE END,两个程序以不同的速度运行N 3360=程序的并发执行导致程序执行不可预测,结果不再唯一,并成为动态进程。程序作为静态概念,不再有效地反映程序执行的各种特征(独立性、并行性、动态性)。因此,我们调整了新概念过程,3,程序并发执行所带来的问题,即每个程序的执行顺序。例如,如果输入的数据尚未全部输入内存,则计算流程必须等待。多个执行程序共享系统资源会在程序之间相互影响,还会影响输出结果。选择哪个程序进入内存执行。内存中的执行程序由谁先运行,谁稍后运行?内存是如何有效分配的?4,并发运行条件:并发运行条件:关闭和再现性实现。同时执行导致封闭性消失的原因是共享资源的影响,消除这种效果即可。

5、1966年,Bernstein提供了并发执行条件。程序将语句或程序段Pi分为两组变量:R(pi)和W(pi)。其中R(pi)=a1、a2、an、程序pi在执行过程中引用的(读取的)变量集称为“读取集”。W(pi)=b1、b2、bm、程序pi运行期间更改的(写入的)变量集,称为“写入集”。Bernstein条件:对于门P1,p2,r(P1)w(p2)=r(p2)w(P1)=w(P1)w(p2)=门P1例如,有四个语句:s 1: a :=x y s 2: B :=z 1s : c :=a B s 4: W :=c 1其中:r (S1)=x,y w (S1)=R(S1)W(S2)=、R(S2)W(S

6、1)=、W(S1)W(S2)=结论:陈述式S1和S2符合Bernstein条件,可以同时执行。在其他语句之间自我分析。2.1.4进程的特征和状态,1 .过程的定义,过程是操作系统中最基本、最重要的概念。为了说明出现多通道程序系统后系统内部发生的动态情况,所有多通道程序设计操作系统都是基于过程的系统内各种程序的活动规律的引入。更一般的流程定义如下:(1)进程是程序的执行。(2)流程是程序及其数据按处理器顺序运行时发生的活动。(3)进程是在数据集中运行程序的进程,该程序是系统执行资源分配和计划的单独单元。(4)进程是进程实体的执行进程,是系统执行资源分配和调度的单独单元。(5)进程是具有集合特定独

7、立功能的程序的执行活动。(我国78庐山研讨会),1。流程的定义,2 .过程等过程的比较:过程是动态的,过程是静态的:程序是有序代码的集合;进程是程序的执行。通常,进程不能在计算机之间迁移。程序通常对应于文件、静态和可复制文件。过程是暂时的,程序是永久的。进程是状态更改的过程,具有特定的生命周期。程序可以保存很长时间作为软件信息。过程与程序不同。进程由程序、数据和进程控制块三部分组成。进程和程序之间的响应:同一程序在多个数据集合中同时运行,并且属于多个不同的进程。也就是说,同一程序可以对应多个进程。进程执行还可以包含一个或多个程序(调用)。3 .流程特征:结构特征:程序段、数据段、流程控制块(流

8、程实体)三个部分;力学:过程的本质是程序的执行过程。并发:多个进程可以保留在内存中,并且可以在一段时间内同时运行。独立:独立运行的基本单位,独立获取资源和计划的基本单位;异步:每个流程以独立的、不可预测的速度进行。4 .进程的三种默认状态,进程状态数取决于系统设置。进程的三个默认状态为1)就绪状态。进程已获得除CPU之外的所有必需资源,一旦获得CPU,即可立即运行。2)运行状态:进程收到CPU,程序正在CPU上运行。3)阻塞状态:运行的进程由于特定事件(如I/O请求)的发生而暂时无法继续运行,必须等到该事件完成后才能与CPU竞争。进程/线程执行、运行、进程所属处理器、处理器运行进程的程序。该进

9、程已释放处理器以外的所需资源,正在等待分配处理器执行。也称为待机、挂起、节能模式,进程不会通过等待特定条件(例如I/O操作或进程同步)来运行。由于多种原因,进程会根据其他阻塞原因插入相应的阻塞队列。、3状态流程模型、4、5状态流程模型、5、7状态流程模型、引入暂停状态的原因:最终用户的请求父流程需要操作系统请求负载协调时,“暂停”的本质是使流程无法继续,即使暂停的流程处于就绪状态,也不能参与CPU竞争。因此,待定进程处于停止状态,而非待定进程处于活动状态。处于停止状态的进程只能通过激活操作转换为活动状态。进程暂停后,程序代码和数据集将加载到外部存储库中的交换区域,以供其他进程使用。就绪状态:进

10、程位于内存中,可以立即运行。阻塞的状态:进程位于内存中,等待事件发生。“ready suspend(就绪状态暂停)”:进程存储在外部,但只需进入内存即可运行。“blocked suspend(阻塞状态)”:进程存储在外部,等待事件发生。没有这种状态转换,为什么?阻止运行准备阻止,6,流程配置,2.1.5流程控制块(PCB),1。流程控制块的作用,流程控制块的作用是使多个程序环境中不独立运行的程序(包括数据)成为可独立运行的基本单元,并使其与其他进程同时运行的进程。或根据PCB控制和管理同时执行的进程。流程与PCB一一对应。PCB必须驻留在内存中。进程标记、进程调度信息、进程控制信息、2。流程控

11、制块中的信息,2 .流程控制块中的信息,流程标识符:唯一标识系统中的每个流程。父进程的标识符和子进程的标识符也可以说明进程的家族关系。处理器状态:用于CPU转换时的现场存储和现场还原,主要由处理器的各种寄存器内容组成。进程调度和控制信息:用于进程调度和控制,主要包括进程状态、优先级、等待和使用CPU的总时间、程序和数据的地址、进程同步和通信信息、资源清点和进程队列指针等。3。流程控制块通过一个系统上称为PCB集合的多个PCB组成。为了便于管理,系统必须以适当的方式配置PCB。1)在单个队列中,所有进程的PCB通过链路列表构成单个队列,适用于进程数量不多的系统。执行指针、就绪队列指针、阻塞队列指

12、针、PCB、1、PCB、2、PCB、3、PCB、4、PCB、6、PCB、7、PCB,2.2.1进程的创建2 . 2 . 2 . 2进程的终止2.2.3进程的阻止和觉醒2.2.4进程的暂停和激活,进程管理的主要任务是进程控制,进程阻止进程创建wake进程暂停进程激活进程终止进程取消进程等进程管理的最基本功能,用于创建和撤消进程,以及有效地控制整个生命周期中各种状态之间的进程转变。过程控制是通过操作系统内核的原语实现的。基本:具有在系统状态下运行的特定功能的某些程序段称为原语。(原语的执行具有原子性,执行时不能分割。)。创建2.2.1进程,1 .流程图(Process Graph):用于说明一个流

13、程的家庭关系的方向树。从父流程继承父流程的所有资源的父流程父流程子流程;撤消子流程时,必须将从父流程获取的资源返回到父流程。取消父流程时,还必须撤消所有子流程。2 .创建过程的原因,(1)用户登录。(2)作业调度。(3)服务提供:在系统内核中创建新进程。(4)应用请求:使请求的应用程序自身创建新进程。3 .进程创建进程(Creation of Progress),(1)申请空PCB。(2)将资源分配给新进程。(3)初始化流程控制块。(4)将新流程插入准备队列。创建新流程是通过流程生成基元creat()完成的。流程生成原语的主要任务是流程生成控制块PCB。嘴,检查PCB链接列表,空PCB?获取空

14、的PCB(i),PCB(i)进入准备队列,PCB(i)进入进程族或进程链且创建失败,则返回,原始流图,N,Y,2.2.2进程结束,结束prob .结束父进程;c .父进程请求。结束进程OS通过调用进程结束基本完成进程的结束。第一步:根据在PCB集合中终止的进程的标识符查找相应的进程控制块,并读取进程的状态。步骤2:如果终止的流程正在运行,请终止流程运行,设置计划标志(指示流程结束后需要重新计划),然后选择新流程以分配处理者。步骤3:如果流程具有子流程,则必须终止所有子流程,以避免出现无法控制的状态。步骤4:释放进程拥有的所有资源(返回到父进程或系统),然后释放进程控制块(如果状态为“运行”,则调度进程)。步骤5:将终止的流程(PCB)从其队列(或连接的列表)中移出,等待其他程序收集相关信息。进程终止的具体原因-1,正常终止超时终止,结束时间超过预期时间内存不足,无法分配进程所需的内存空间。使用边界超时访问尝试中不允许的数据,计算错误(0除外),或等待存储硬件发生允许的最大超时等待事件,进程终止的特定原因-2,找不到文件,重试多次都无法读取和写入文件,或I/o失败,如错误的操作。试图执行不存在的命令的无效命令。尝试执行权限指令数据类型

温馨提示

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

评论

0/150

提交评论