第2章-进程管理-1课件

上传人:大米 文档编号:569165989 上传时间:2024-07-27 格式:PPT 页数:52 大小:1.17MB
返回 下载 相关 举报
第2章-进程管理-1课件_第1页
第1页 / 共52页
第2章-进程管理-1课件_第2页
第2页 / 共52页
第2章-进程管理-1课件_第3页
第3页 / 共52页
第2章-进程管理-1课件_第4页
第4页 / 共52页
第2章-进程管理-1课件_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《第2章-进程管理-1课件》由会员分享,可在线阅读,更多相关《第2章-进程管理-1课件(52页珍藏版)》请在金锄头文库上搜索。

1、第二章进 程 管 理 第二章 进程管理第二章进 程 管 理 22.1进程与线程进程与线程2.1.1进程的引入进程的引入1、进程进程是一个程序对某个数据集的一次运行活动。进程是动态的概念,程序是静态的概念。进程是系统进行资源分配的基本单位。1、程序的顺序执行:、程序的顺序执行:一个有四条语句的程序段:一个有四条语句的程序段: S1: a:=x+2; S2: b:=y+4; S3: c:=a+b;S4: d:=c+b; 31 1、前趋图和程序执行、前趋图和程序执行 程序顺序执行程序顺序执行s1s2s3s4第二章进 程 管 理 顺序性顺序性:处理机处理机的操作严格按照程序所规定的顺的操作严格按照程序

2、所规定的顺序执行,即每一个操作必须在下一操作之前结束。序执行,即每一个操作必须在下一操作之前结束。封闭性:封闭性:程序在封闭环境下执行,结果不受外界程序在封闭环境下执行,结果不受外界因素影响。因素影响。可再现性:可再现性:只要环境和初始条件相同,程序重复只要环境和初始条件相同,程序重复执行时执行时,总得到相同结果。总得到相同结果。2. 程序顺序执行的特征4第二章进 程 管 理 3. 程序并发执行程序并发执行一个有四条语句的程序段:一个有四条语句的程序段: S1: a:=x+2; S2: b:=y+4; S3: c:=a+b;S4: d:=c+b; 5第二章进 程 管 理 3、程序的并发执行s1

3、s2s3s46第二章进 程 管 理 4、程序并发执行的特征、程序并发执行的特征间断性间断性 : 共享、合作、制约导致:共享、合作、制约导致: 执行执行暂停暂停执行执行失去封闭性失去封闭性 : 资源状态由多程序改变资源状态由多程序改变 程序是多个程序共享多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行失去了封闭性。这样,某程序在执行时,必然会受到其它程序的影响。例如,当处理机这一资源已被某个程序占有时,另一程序必须等待。 不可再现性不可再现性 : 相同环境和初始条件,相同环境和初始条件, 重复执行结果不同。重复执行结果不同。7 程序程序A AL1L1: N:=N

4、+1N:=N+1goto L1goto L1程序程序B BL2L2: PRINTPRINT(N N);); N:=0N:=0; goto L2goto L2设共享变量设共享变量N初值为初值为5,则会产生,则会产生3中执行结果:中执行结果:先先A,后,后B 6,6,0先先B,后,后A 5,0,1先先B,后,后A ,再,再B 5,6,08第二章进 程 管 理 5、程序并发执行的条件BernsteinBernstein条件条件读集:读集:R(Pi)=a1,a2,am 程序程序Pi执行期间参考的变量集合执行期间参考的变量集合写集:写集:W(Pi)=b1,b2,bm 程序程序Pi执行期间改变的变量集合执

5、行期间改变的变量集合两个进程两个进程P1, P2若满足:若满足:R(P1)W(P2)R(P2)W(P1)W(P1)W(P2)=则则P1, P2并发执行,且具有可再现性。并发执行,且具有可再现性。nP1: a=5nP2: b=6nP3: c=a+bnP4: d=c+1P1、P2可以并发执行吗?可以并发执行吗?P3、P4可以并发执行呢?可以并发执行呢?问题?问题?第二章进 程 管 理 nP1:a=5nP2:b=6nR(P1)=W(P1)=anR(P2)=W(P2)=bnR(P1) W(P2)= R(P2) W(P1)=nW(P1) W(P2)=nR(P1)W(P2) R(P2)W(P1) W(P1

6、)W(P2)=nP1、P2可以可以并发执行并发执行Bernstein条件例1第二章进 程 管 理 Bernstein条件例2nP3:c=a+bnP4:d=c+1nR(P3)=a,bW(P3)=cnR(P4)=cW(P4)=dnR(P3) W(P4)=nR(P4) W(P3)=cnR(P3) W(P4) R(P4) W(P3) W(P3)W(P4) =cnP3、P4不能不能并发执行并发执行第二章进 程 管 理 2.1.2进程的定义及描述1、进程的定义进程是程序在处理器上的一次执行过程。进程是一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位。12第二章进 程 管 理 132、进程的

7、基本特征、进程的基本特征动态性:动态性:进程由进程由创建而产生创建而产生,由,由调度而执行调度而执行,由,由撤销而消亡撤销而消亡的的过程。过程。并发性:并发性:多个进程同在内存中,且能在一段时间内同时运行。多个进程同在内存中,且能在一段时间内同时运行。独立性:独立性:进程是一个能独立运行、独立分配资源、独立接受调进程是一个能独立运行、独立分配资源、独立接受调度的基本单位。度的基本单位。异步性:异步性:进程按各自独立的、不可预知的速度向前推进。进程按各自独立的、不可预知的速度向前推进。第二章进 程 管 理 3、进程和程序的关系、进程和程序的关系(1)进程是一个动态概念,程序是一个静态概念;)进程

8、是一个动态概念,程序是一个静态概念;(2)进程具有并行特征,程序没有;)进程具有并行特征,程序没有;(3)进程是竞争资源的基本单位;)进程是竞争资源的基本单位;(4)一一个个程程序序对对应应多多个个进进程程,一一个个进进程程为为多多个个程程序序服务。服务。14第二章进 程 管 理 4、进程和作业的区别、进程和作业的区别一个作业可由多个进程组成,而且必须至少由一个进程组成。 但一个进程不能构成多个作业。作业:主要用在批处理系统批处理系统中。 进程:用于几乎所有的多道程序系统中。155、进程的组成、进程的组成程序段程序段数据段数据段动态特征的集中反映动态特征的集中反映描述要完成的功能描述要完成的功

9、能操作对象及工作区操作对象及工作区PCB进程控制块进程控制块16PCB(Process Control Block ):):其中,记录了操作系统所需的用于其中,记录了操作系统所需的用于描述进程的当前情况描述进程的当前情况以以及及控制进程运行控制进程运行的全部信息。的全部信息。如:处理机状态、进程调度信息、进程控制信息等。如:处理机状态、进程调度信息、进程控制信息等。进程结构进程结构第二章进 程 管 理 PCB中的信息(1 1)进程标识符)进程标识符(2 2)处理机状态)处理机状态(3 3)进程调度信息)进程调度信息(4 4)进程控制信息)进程控制信息第二章进 程 管 理 (1 1)进程标识符)

10、进程标识符外部标识符外部标识符 由字母、数字组成,给用户使用。由字母、数字组成,给用户使用。内部标识符内部标识符 进程唯一的数字编号,给进程唯一的数字编号,给OS使用。使用。第二章进 程 管 理 (2 2)处理机状态)处理机状态处理机中主要的寄存器:处理机中主要的寄存器:通用寄存器通用寄存器 8-32个,暂存信息用个,暂存信息用指令计数器指令计数器 要访问的下一条指令地址要访问的下一条指令地址程序状态字程序状态字 PSW 条件码、执行方式、中断屏蔽标条件码、执行方式、中断屏蔽标志志 用户栈指针用户栈指针 用户进程拥有的系统栈,存放过程和系用户进程拥有的系统栈,存放过程和系统调用参数及调用地址。

11、统调用参数及调用地址。第二章进 程 管 理 (3 3)进程调度信息)进程调度信息进程状态进程状态进程优先级进程优先级与调度算法有关信息与调度算法有关信息 事件事件 如:阻塞原因如:阻塞原因第二章进 程 管 理 (4 4)进程控制信息)进程控制信息程序和数据地址程序和数据地址进程同步和通信机制进程同步和通信机制资源清单:除资源清单:除CPU之外的所需资源与已之外的所需资源与已经分配资源清单经分配资源清单 链接指针:本进程链接指针:本进程PCB所在队列的下一所在队列的下一个地址。个地址。第二章进 程 管 理 2.1.3 2.1.3 进程的状态与转换进程的状态与转换1、进程、进程的三种基本的三种基本

12、状态:状态:就绪状态就绪状态执行状态执行状态阻塞状态阻塞状态22第二章进 程 管 理 (1)就绪状态)就绪状态进程已经分配了除处理机以外的所有必要资源,进程已经分配了除处理机以外的所有必要资源,只要再获得处理机只要再获得处理机就能够就能够执行执行的状态。的状态。这样的进程可能有多个,通常排成一个队列,称这样的进程可能有多个,通常排成一个队列,称就绪队列就绪队列。23(2)执行状态已经获得已经获得CPU,正在运行。,正在运行。在单处理机系统在单处理机系统只有一个只有一个进程进程处于处于执行执行状态。多状态。多处理机系统则有多个处于执行状态。处理机系统则有多个处于执行状态。第二章进 程 管 理 (

13、3)阻塞状态)阻塞状态正在执行的进程由于发生某事件而暂时正在执行的进程由于发生某事件而暂时无法继续执行时,放弃处理机而进入的无法继续执行时,放弃处理机而进入的状态,又称状态,又称等待状态等待状态。引起阻塞的事件:请求引起阻塞的事件:请求I/O,申请缓存。申请缓存。24第二章进 程 管 理 2、进程的三种基本状态转换、进程的三种基本状态转换 就绪就绪阻塞阻塞执行执行I/O请求I/O完成时间片完进程调度2.1.4 进程的控制进程的控制原语原语原语原语是由若干条机器指令构成的一段程序,用以完成特定功能,这段程序在执行期间不可分割。它与一般过程的区别在于:它们是“原子操作(Action Operati

14、on)”。所谓原子操作,是指一个操作中的所有动作要么全做,要么全不做。换言之,它是一个不可分割的基本单位,因此,在执行过程中不允许被中断。原子操作在系统态下执行,常驻内存。 26第二章进 程 管 理 进程管理中最基本功能是进程管理中最基本功能是进程控制进程控制 进程控制任务:进程控制任务: 进程的创建、终止、进程状态的转变等。进程的创建、终止、进程状态的转变等。进程控制一般是由进程控制一般是由OS的内核中的的内核中的原语原语来实现的。来实现的。 进程控制第二章进 程 管 理 进程管理中最基本功能是进程管理中最基本功能是进程控制进程控制 进程控制任务:进程控制任务: 进程的创建、终止、进程状态的

15、转变等。进程的创建、终止、进程状态的转变等。进程控制一般是由进程控制一般是由OS的内核中的的内核中的原语原语来实现的。来实现的。 进程控制1 1、进程的创建、进程的创建(1 1)进程图)进程图(Process Graph)(Process Graph)进程图是用于描述一个进程的家族关系的有向树,如图进程图是用于描述一个进程的家族关系的有向树,如图所示。图中的结点所示。图中的结点(圆圈圆圈)代表进程。在进程代表进程。在进程D创建了进程创建了进程I之之后,称后,称D是是I的的父进程父进程(Parent Process),I是是D的的子进程子进程(Progeny Process)。 进程图进程图第二

16、章进 程 管 理 (2)引起创建进程的事件)引起创建进程的事件 用户登录。用户登录。作业调度。作业调度。提供服务。提供服务。 应用请求。应用请求。 由系统内核创建由系统内核创建 由自己创建由自己创建 第二章进 程 管 理 (3)进程的创建过程)进程的创建过程 原语原语CREAT()按下述步骤创建一个新进程()按下述步骤创建一个新进程:(1) 申请空白申请空白PCB。(2) 为新进程分配资源。为新进程分配资源。(3) 初始化进程控制块。初始化进程控制块。 (4) 将新进程插入就绪队列将新进程插入就绪队列 。 第二章进 程 管 理 PCB的初始化的初始化初始化标识信息。初始化处理机状态信息。初始化

17、处理机控制信息。引起进程终止的事件正常结束 异常结束 外界干预 越界错误。保护错。 非法指令。特权指令错。 运行超时。等待超时。 算术运算错。I/O故障。 操作员或os干预。被父进程终止父进程终止 2.进程的终止过程进程的终止过程第二章进 程 管 理 进程的终止过程进程的终止过程 (1)从)从PCB集合中检索出该进程的集合中检索出该进程的PCB,从中,从中读出该进程的状态;读出该进程的状态;(2)若处于执行状态,终止该进程的执行,并)若处于执行状态,终止该进程的执行,并置调度标志为真,重新调度。置调度标志为真,重新调度。(3)若有子孙进程,将所有子孙进程终止。)若有子孙进程,将所有子孙进程终止

18、。(4)将进程全部资源归还其父进程或系统。)将进程全部资源归还其父进程或系统。(5)将其)将其PCB从所在队列(或链表)中移出。从所在队列(或链表)中移出。 第二章进 程 管 理 引起阻塞和唤醒的事件请求系统服务启动某种操作新数据尚未到无新工作可做 3. 3. 进程的阻塞与唤醒进程的阻塞与唤醒第二章进 程 管 理 进程阻塞过程 入口保存当前进程的CPU现场置该进程状态置该进程状态进入等待队列转进程调度由阻塞原语BLOCK 完成第二章进 程 管 理 进程唤醒过程进程唤醒过程 入口入口从等待队列中摘下被唤醒进程从等待队列中摘下被唤醒进程 置该进程为置该进程为就绪就绪 态态进入就绪队列进入就绪队列转

19、进程调度或返回转进程调度或返回由唤醒原语WAKEUP 完成第二章进 程 管 理 注意BLOCK和WAKEUP是一对作用相反的原语。如果在某进程中调用了阻塞原语阻塞原语,则必须在与之相合作的另一进程中或其他相关的进程中,安排唤醒原语唤醒原语,以能唤醒阻塞进程;否则,被阻塞进程将会因不能被唤醒而长久地处于阻塞状态,从而再无机会继续运行。第二章进 程 管 理 2.1.5线程的基本概念线程的基本概念 1、线程的引入、线程的引入如果说,在操作系统中引入进程的目的引入进程的目的,是为了使多个程序能并发执行,以提高资源利用率和系统吞吐量程序能并发执行,以提高资源利用率和系统吞吐量,那么,在操作系统中再引入线

20、程引入线程,则是为了减少减少程序在并发执行时所付出的时空开销时空开销,使OS具有更好的并发性更好的并发性。进程的两个基本属性进程的两个基本属性 为了说明这一点,我们首先来回顾进程的两个基本属性: 进程是一个可拥有资源的独立单位进程是一个可拥有资源的独立单位; 进程同时又是一个进程同时又是一个可独立调度和分派的基本单位。可独立调度和分派的基本单位。正是由于进程有这两个基本属性,才使之成为一个能独立运行的基本单位,从而也就构成了进程并发执行的基础。然而,为使程序能并发执行,系统还必须进行以下的一系列操作。 第二章进 程 管 理 (1) 创建进程系统在创建一个进程时,必须为它分配其所必需的、除处理机

21、以外的所有资源,如内存空间、I/O设备,以及建立相应的PCB。(2) 撤消进程系统在撤消进程时,又必须先对其所占有的资源执行回收操作,然后再撤消PCB。 2. 程序并发执行所需付出的时空开销程序并发执行所需付出的时空开销第二章进 程 管 理 (3) 进程切换对进程进行切换时,由于要保留当前进程的CPU环境和设置新选中进程的CPU环境,因而须花费不少的处理机时间花费不少的处理机时间。换言之,由于进程是一个资源的拥有者,因而在创建、撤消和切换中,系统必须为之付出较大的时空开销较大的时空开销。正因如此,在系统中所设置的进程,其数目不宜过多,进程切换的其数目不宜过多,进程切换的频率也不宜过高频率也不宜

22、过高,这也就限制了并发程度的进一步提高。 如何能使多个程序更好地并发执行多个程序更好地并发执行同时又尽量减少系统的又尽量减少系统的开销开销,已成为近年来设计操作系统时所追求的重要目标。第二章进 程 管 理 3、线程、线程作为作为调度和分派的基本单位调度和分派的基本单位(1 1)轻型)轻型实体实体。线程中的实体基本上不拥有系统资源;。线程中的实体基本上不拥有系统资源;(2 2)独立调度和分派的基本单位。)独立调度和分派的基本单位。 线程的切换非常迅速、开销小;线程的切换非常迅速、开销小;(3 3)可并发执行;)可并发执行;(4 4)共享进程资源。)共享进程资源。 第二章进 程 管 理 4、线程与

23、进程的比较、线程与进程的比较(1)调度的基本单位)调度的基本单位进程:进程:在传统传统的操作系统中,作为拥有资源的基本单位拥有资源的基本单位和独独立调度、分派的基本单位立调度、分派的基本单位。线程:线程:而在引入线程的操作系统中,则进程进程作为资源拥有的资源拥有的基本单位基本单位,而把线程线程作为调度和分派的基本单位作为调度和分派的基本单位。 把传统进程的两个属性分开两个属性分开,使线程基本上不不拥有资源,这样线程便能轻装前进,从而可显著地提高系统的并发程度提高系统的并发程度。在同一进程同一进程中,线程的切换不会引起进程的切换,但从一个进程中的线程切换到另一个进程中的线程时,将会引起进程的切换

24、。 第二章进 程 管 理 (2)并发性)并发性在引入线程的操作系统中,不仅在引入线程的操作系统中,不仅进程之间可以并发执行进程之间可以并发执行,而且在而且在一个进程中的多个线程之间亦可并发执行一个进程中的多个线程之间亦可并发执行,使得操作,使得操作系统具有系统具有更好的并发性更好的并发性,从而能更加有效地提高系统资源的,从而能更加有效地提高系统资源的利用率和系统的吞吐量。利用率和系统的吞吐量。第二章进 程 管 理 (3)拥有资源)拥有资源不论是传统的操作系统,还是引入了线程的操作系统,进程都可以拥有资源进程都可以拥有资源,是系统中拥有资源的一个基本单位。 一般而言,线程自己不拥有系统资源线程自

25、己不拥有系统资源(也有一点必不可少的资源),但它可以访问其隶属进程的资源但它可以访问其隶属进程的资源,即一个进程的代码段、数据段及所拥有的系统资源,如已打开的文件、I/O设备等,可以供该进程中的所有线程所共享。 第二章进 程 管 理 (4)系统开销)系统开销在创建或撤消进程进程时,系统都要为之创建和回收进程控创建和回收进程控制块,分配或回收资源制块,分配或回收资源,如内存空间和I/O设备等,操作系统所付出的开销明显大于线程开销明显大于线程创建或撤消时的开销。 Solaris 2 OS中,线程创建比进程创建快30倍。 类似地,在进程切换时,涉及到当前进程CPU环境的保存及新被调度运行进程的CPU

26、环境的设置,而线程的切换则线程的切换则仅需保存和设置少量寄存器内容,不涉及存储器管理方面的仅需保存和设置少量寄存器内容,不涉及存储器管理方面的操作操作,所以就切换代价而言,进程也是远高于线程的。上下文切换:上下文切换: 将CPU切换到另一进程需要保存当前进程的状态保存当前进程的状态并恢复恢复另一个进程的状态另一个进程的状态,这一任务称为上下文切换。第二章进 程 管 理 (5)进程与线程的关系操作系统中的进程和线程可以设计为以上四种书p60第二章进 程 管 理 (6)进程模型 进程是资源的拥有者进程是资源的拥有者 线程不拥有资源线程不拥有资源,只有,只有TCB及堆栈及堆栈5、线程的实现、线程的实

27、现用户级线程用户级线程用户级线程用户级线程内核级线程内核级线程内核级线程内核级线程组合的方法组合的方法组合的方法组合的方法 线程的创建、撤消和切换,都不利用系统调用来实现。线程与内核无关线程与内核无关,内核也不知道线程的存在。 依赖于内核依赖于内核,线程的创建、撤消和切换都由内核实现。在内核中有线程控制块(TCB),内核根据TCB感知线程的存在,并对线程进行控制。 由内核支持的用户线程。一个进程可以有一个或多个轻量级线程,每个轻量级线程由一个单独的内核线程来支持。第二章进 程 管 理 用户级线程与内核级线程6用户级线程与内核控制线程的连接用户级线程与内核控制线程的连接多线程模型多线程模型 有些

28、系统同时支持用户线程和内核线程由此产生了不同的多线程模型,即实现用户级线程和内核级线程的连接方式。 1) 多对一模型多对一模型将多个用户级线程映射到一个内核级线程,线程管理在用户空间完成。此模式中,用户级线程对操作系统不可见。优点:线程管理是在用户空间进行的,因而效率比较高。缺点:当一个线程在使用内核服务时被阻塞,那么整个进程都会被阻塞;多个线程不能并行地运行在多处理机上。 2) 一对一模型一对一模型将每个用户级线程映射到一个内核级线程。将每个用户级线程映射到一个内核级线程。Windows 2000、Windows NT、OS/2等系统上都实现了该模型。 优点优点:当一个线程被阻塞后,允许另一个线程继续执行,所以并发能力较强。缺点:缺点:每创建一个用户级线程都需要创建一个内核级线程与其对应,这样创建线程的开销比较大创建线程的开销比较大,会影响到应用程序的性能。 3) 多对多模型多对多模型将 n 个用户级线程映射到 m 个内核级线程上,要求 m = n。特点:特点:克服了多对一模型的并发度不高的缺点,又克服了一对一模型的一个用户进程占用太多内核级线程,开销太大的缺点。拥有多对一模型和一对一模型各自的优点,集两者之所长集两者之所长。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号