版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、编辑编辑ppt1进程(处理器)管理进程(处理器)管理 1 进程的基本概念2 进程控制3 进程同步4 经典进程的同步问题5 进程通信6 线程 编辑编辑ppt2学习目标学习目标l在多道程序环境下,程序不能独立运行。作为资源分配和独立运行的基本单位是进程。操作系统所有的特征都是基于进程而体现的。所以,本章的主要问题是:进程的概念:进程的状态、进程的调度、进程控制与协作、进程的特征进程的同步:同步的概念、同步的实现进程通信编辑编辑ppt3引言引言l处理机管理是操作系统的基本管理功能之一,它所关心的是处理机的分配问题。也就是说把CPU(中央处理机)的使用权分给某个程序,通常把这个正准备进入内存的程序称为
2、作业,当这个作业进入内存后我们把它称为进程。处理机管理分为作业管理和进程管理两个阶段去实现处理机的分配,常常又把直接实行处理机时间分配的进程调度工作作为处理机管理的主要内容。 l进程通常具有三种状态:运行状态(正在使用CPU)、阻塞状态(等待输入/输出)和就绪状态(等待分配CPU)。 编辑编辑ppt41.程序的顺序执行程序的顺序执行 一个复杂的程序一般均含一个复杂的程序一般均含若干个程序段若干个程序段,并按,并按一定先一定先后顺序执行后顺序执行,每个操作必须在下一个操作开始之前结束。,每个操作必须在下一个操作开始之前结束。也即仅当前一个操作结束之后,后继操作才开始执行,此也即仅当前一个操作结束
3、之后,后继操作才开始执行,此即即程序的顺序执行性。程序的顺序执行性。 例如一般程序包括输入例如一般程序包括输入(I)、计算、计算(C)、输出、输出(P)三部分,而三部分,而计算计算须在须在输入输入完成方可开始。完成方可开始。 进程概念的引入-程序的顺序执行和并发执行编辑编辑ppt52.程序顺序执行时的特征程序顺序执行时的特征 1) 顺序性:顺序性: 处理机的操作处理机的操作是严格是严格按照程序所规定的顺序按照程序所规定的顺序执行的,每一操作开始都不得先于前一操作执行的,每一操作开始都不得先于前一操作的结束。的结束。 2) 封闭性:封闭性:程序一旦开始执行,其执行结果程序一旦开始执行,其执行结果
4、不受外界因不受外界因素影响素影响。 3) 确定性、可再现性:确定性、可再现性:程序重复执行将获得相同结果。程序重复执行将获得相同结果。l程序的顺序执行:一个具有独立功能的程序独占处理机直至得到最终结果的过程称为程序的顺序执行。S1: a:=x+y;S2: b:=a-5;/s2必须是s1执行后再执行S3: c:=b+1;/s3必须是s2执行后再执行lS1 、S2、 S3必须按照顺序依次执行。优点:有利于程序的编制和调试;缺点:资源的独占性,使得系统利用率很低。编辑编辑ppt6说明说明l顺序执行是顺序执行是单道批处理系统单道批处理系统的执行方式的执行方式l在单道程序工作环境中,我们把一个在单道程序
5、工作环境中,我们把一个“程序程序”理解理解为为“一个在时间上按严格次序前后相继的操作序列一个在时间上按严格次序前后相继的操作序列”l由于各类软件的出现及日益复杂化,使得程序设计由于各类软件的出现及日益复杂化,使得程序设计的概念和方法有了很大的发展的概念和方法有了很大的发展编辑编辑ppt7前趋图前趋图l前趋图是一个有向无循环图,记为DAG (Drected Acyclic Graph),前趋图用来描述程序各部分间的依赖关系或一个大的计算各子部之间的因果关系。l前趋图中的元素:u 结 点:表示一个语句、程序段、进程;u 有向边: 表示结点间的偏序关系(前趋关系)l =(Pi , Pj)|Pi mu
6、st complete before Pj may startl 若(Pi , Pj) ,可写成 Pi Pj,称 Pi是 Pj的直接前趋,而 Pj是Pi的直接后继。编辑编辑ppt8前趋图示例前趋图示例P2P3P1P6P7P4P5前趋关系前趋关系在前趋图中,把没有前趋的结点称为初始结点(Initial Node),把没有后继的结点称为终止结点(Final Node)。每个结点还具有一个重量(Weight),用于表示该结点所含有的程序量或结点的执行时间。 前趋图中能否有循环存在?前趋图中能否有循环存在?编辑编辑ppt9具有循环的图具有循环的图S1S2S3S2 must complete befor
7、e S3 may startS3S2S3 must complete before S2 may start编辑编辑ppt10例:下述四条语句的程序段画出前趋图例:下述四条语句的程序段画出前趋图S1: a:x+2S2: b:y4S3: c:abS4: d:c6S1S2S4S3编辑编辑ppt11程序的并发执行及其特征程序的并发执行及其特征1.程序的并发执行程序的并发执行 一组一组逻辑上相互独立逻辑上相互独立的程序或程序段在执行过程中,的程序或程序段在执行过程中,其其执行时间执行时间在客观上在客观上相互重叠相互重叠,即一个程序段的执行,尚,即一个程序段的执行,尚未结束,另一个程序段的执行已经开始的
8、这种执行方式。未结束,另一个程序段的执行已经开始的这种执行方式。 程序的并发执行可分为两种程序的并发执行可分为两种: : (1) (1) 在计算机系统支持并行操作时,如采用多道程序在计算机系统支持并行操作时,如采用多道程序设计技术,则内存中多道程序处于并发执行状态。设计技术,则内存中多道程序处于并发执行状态。编辑编辑ppt122.1.2程序间并发执行程序间并发执行I1P3t1t2t3t4t5I2C1I3C2P1C3P2编辑编辑ppt13程序的并发执行及其特征程序的并发执行及其特征(2) (2) 并发执行是在某道程序的几个程序段中包含着一部分并发执行是在某道程序的几个程序段中包含着一部分可以同时
9、执行或顺序颠倒执行的代码可以同时执行或顺序颠倒执行的代码. . 如如: read(a); read(b);: read(a); read(b); 可以同时执行可以同时执行, ,也可颠倒次序执行。对于这样的语句也可颠倒次序执行。对于这样的语句, ,同时执行不会改变顺序程序所具有的逻辑性质同时执行不会改变顺序程序所具有的逻辑性质. .总结总结: :一组在逻辑上互相独立的程序或程序段在执行过程一组在逻辑上互相独立的程序或程序段在执行过程中其执行时间在客观上互相重叠中其执行时间在客观上互相重叠, ,即一个程序的执行尚即一个程序的执行尚未结束未结束, ,另一个程序的执行已经开始的执行方式另一个程序的执行
10、已经开始的执行方式. . 编辑编辑ppt142.程序并发执行时的特征程序并发执行时的特征 1) 1) 间断性间断性: :程序在并发执行时,由于它们程序在并发执行时,由于它们共享资源共享资源或为完或为完成某一项任务而合作,致使成某一项任务而合作,致使在并发程序之间存在相互制约在并发程序之间存在相互制约的关系。的关系。 2) 2) 失去封闭性失去封闭性: :程序在并发执行时,是多个程序共享系统程序在并发执行时,是多个程序共享系统中的各种资源,因而中的各种资源,因而这些资源的状态这些资源的状态将由将由多个程序来改变多个程序来改变,致使程序的运行失去了封闭性。致使程序的运行失去了封闭性。 3) 3)
11、不可再现性不可再现性: : 程序在并发执行时,由于失去了封闭性,程序在并发执行时,由于失去了封闭性,也导致失去了可再现性。也导致失去了可再现性。 编辑编辑ppt15 例如:有两个循环程序例如:有两个循环程序A A和和B B,它们共享一个变量,它们共享一个变量N N。程序。程序A A每执行一次时都要做每执行一次时都要做N N:N N1 1操作;程序操作;程序B B每执行一次时,每执行一次时,都要做都要做printprint(N N)操作,然后再操作,然后再将将N N置成置成“0 0”,程序,程序A A和和B B以不以不同的速度运行。(假定某时刻变量同的速度运行。(假定某时刻变量N N的值为的值为
12、n n)(1 1)N N:N N1 1在在printprint(N N)和)和N N:0 0之前,此时得到的之前,此时得到的N N值值分别为:分别为: n n1 1, n n1 1, 0 0(2 2)N N:N N1 1在在printprint(N N)和)和N N:0 0之后,此时得到的之后,此时得到的N N值值分别为:分别为: n n, 0 0, 1 1(3 3)N N:N N1 1在在 printprint(N N)和)和N N:0 0之间,此时得到的之间,此时得到的N N值分别为:值分别为: n n, n n1 1, 0 0编辑编辑ppt16例:观察者例:观察者/ /报告者报告者观察者
13、:观察者: 报告者:报告者: begin begin repeat repeat wait a car go through delay a time N=N+1; Print N ; N=0 ; until until end end初始初始N=n时不同执行序列:时不同执行序列: N=N+1; Print N; Print N ; Print N ; N=0 ; N=N+1 ; N=0 ; N=N+1 ; N=0 ;结果各不相同结果各不相同: : 打印打印n+1n+1,N=0N=0; 打印打印n n,N=1N=1;打印;打印n n ,N=0N=0;编辑编辑ppt17l程序的并发执行程序的并发
14、执行:人们在硬件上引入了:人们在硬件上引入了通道通道和和中断中断技术,使得技术,使得处理器和外部设备处理器和外部设备、外部设备外部设备和和外部设外部设备备之间可以并行工作。从而使系统的多个程序同时之间可以并行工作。从而使系统的多个程序同时活动,并由统一的操作系统来管理,这就是活动,并由统一的操作系统来管理,这就是多道程多道程序系统序系统。l在单道系统中可以用程序代表顺序执行过程,但在多道系统中,程序并行、制约等特征使程序这个静态的概念已不能描述系统的运行情况了,为此操作系统引入了一个新的概念进程。编辑编辑ppt18进程的特征与状态进程的特征与状态1.进程的定义和特征进程的定义和特征 进程进程:
15、是指在系统中能是指在系统中能独立运行独立运行并作为并作为资源分配资源分配的基本的基本单位,单位,是一个活动实体。是一个活动实体。 简单的理解为,进程是简单的理解为,进程是程序程序在在数据集合数据集合上的上的一次运行一次运行过程过程,是系统进行,是系统进行资源分配和调度的资源分配和调度的基本单位。基本单位。 进程是一个进程是一个动态的概念,动态的概念,是一个运行过程。它不同于程是一个运行过程。它不同于程序,但又序,但又依赖于程序依赖于程序。对不同的数据集合,依照一定的程。对不同的数据集合,依照一定的程序运行处理的每一个过程是序运行处理的每一个过程是不同的进程不同的进程。 编辑编辑ppt19进程的
16、特征进程的特征1)1)结构特征结构特征 从结构上看,进程是由程序段、数据段及进程控制块三部分组成。 2)动态性动态性 程序是指令的集合,进程是指令的执行过程。动态性是进程最基本的特征。 PCB程序段程序段( (正文段正文段) )数据段数据段( (数据集合数据集合) )编辑编辑ppt203)并发性并发性 这是指多个进程实体,同存于内存中,能在一段时间内同时运行。并发性是进程的重要特征,同时也成为OS的重要特征。引入进程的目的也是为了使该进程的程序能和其它进程的程序并发执行。4)独立性独立性 进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。没有建立进程的程序,不
17、能作为一个独立的单位参加运行。5)异步性异步性 各进程按其各自独立的,各进程按其各自独立的,不可预知的速度不可预知的速度向前推进。向前推进。 进程的特征进程的特征编辑编辑ppt21思考?思考?进程与程序的区别? 编辑编辑ppt22作业和进程的关系作业和进程的关系作业是用户需要计算机完成某项任务时要求计算机所做的工作的集合。一个作业的完成要经过作业提交、作业后备、作业执行和作业完成四个阶段。进程是对已提交完毕程序的执行过程的描述,是资源分配的基本单位。他们主要区别和关联如下:(1)作业是用户向计算机提交任务的实体,而进程是完成用户任务的实体;(2)一个作业可由多个进程组成,且必须至少由一个进程组
18、成。(3)作业的概念主要用在批处理操作系统中,而进程的概念则几乎用在所有的多道程序操作系统中。编辑编辑ppt232.进程的三种基本状态进程的三种基本状态1)就绪就绪(Ready)状态状态 当进程当进程已经分配已经分配到到除除CPUCPU以外以外的的所有必要的资源所有必要的资源后,只后,只要能要能获得处理机获得处理机,就可以,就可以立即执行立即执行。这时的进程的状态称。这时的进程的状态称为就绪状态。为就绪状态。2)执行状态执行状态(Running)(运行状态)(运行状态) 指进程指进程已获得处理机已获得处理机,其程序正在执行。在,其程序正在执行。在单处理机单处理机系系统中,统中,只能有一个进程只
19、能有一个进程处于执行状态。(在多处理机中,处于执行状态。(在多处理机中,可能有多个进程处于执行状态。)可能有多个进程处于执行状态。)编辑编辑ppt243)阻塞状态阻塞状态(Block) (等待状态等待状态) 进程进程因发生某个事件因发生某个事件而而暂停执行暂停执行时的状态(如:请求时的状态(如:请求I/OI/O、申请缓冲空间等),也就是说,、申请缓冲空间等),也就是说,进程受到阻塞进程受到阻塞,所以,所以称这种暂停状态为称这种暂停状态为阻塞状态阻塞状态,有时也称,有时也称“等待等待”状态状态或或“睡眠睡眠”状态。状态。 编辑编辑ppt25进程的特征与状态进程的特征与状态 处于就绪态进程处于就绪
20、态进程: :一般处于就绪态的进程一般处于就绪态的进程按照一定的算法按照一定的算法(如先来的进程排在前面,或采用优先权高的进程排在前(如先来的进程排在前面,或采用优先权高的进程排在前面)排成一个面)排成一个就绪队列就绪队列。 处于运行态进程处于运行态进程: :如系统有如系统有一个处理机一个处理机,则在任何一时刻,则在任何一时刻,最多只有一个进程最多只有一个进程处于运行态。处于运行态。 处于等待态进程处于等待态进程: :处于处于等待等待态的进程排在态的进程排在等待等待队列中。由队列中。由于于等待事件原因等待事件原因不同,不同,等待等待队列也按队列也按事件原因事件原因可分成几个可分成几个队列。队列。
21、 编辑编辑ppt26 进程的基本状态转换注意的三点:注意的三点:1 1)进程从阻塞态到执行态,必须经过就绪态;)进程从阻塞态到执行态,必须经过就绪态;2 2)进程从执行态到阻塞态,一般由进程自己主动提出的;)进程从执行态到阻塞态,一般由进程自己主动提出的;3 3)一个进程由执行到就绪态总是由外界事件引起的,而不是该进程自己引)一个进程由执行到就绪态总是由外界事件引起的,而不是该进程自己引起的。起的。编辑编辑ppt27进程状态间的转换进程状态间的转换 就绪就绪执行:执行:调度调度 执行执行等待:等待:等待某个事件发生而睡眠等待某个事件发生而睡眠 等待等待就绪:就绪:因等待的事件结束而唤醒因等待的
22、事件结束而唤醒 执行执行就绪:就绪:时间片用完时间片用完 练习:练习:1 1、如果系统中有、如果系统中有n n个进程,则就绪队列中进程的个数最多个进程,则就绪队列中进程的个数最多为(为( )。)。 A A、n+1 Bn+1 B、 n Cn C、 n-1 Dn-1 D、1 12 2、设系统中有关、设系统中有关n(n2)n(n2)个进程,且当前不在执行进程调度个进程,且当前不在执行进程调度程序,试考虑下述四种情况:程序,试考虑下述四种情况:A A、没有运行进程,有、没有运行进程,有2 2个就绪进程,个就绪进程,n n个进程处于等待状态。个进程处于等待状态。B B、有、有1 1个运行进程,没有就绪进
23、程,个运行进程,没有就绪进程,n-1n-1个进程处于等待状态。个进程处于等待状态。C C、有、有1 1个运行进程,有个运行进程,有1 1个就绪进程,个就绪进程,n-2n-2个进程处于等待状态。个进程处于等待状态。D D、有、有1 1个运行进程,个运行进程,n-1n-1个就绪进程,没有进程处于等待状态。个就绪进程,没有进程处于等待状态。上述情况中,不可能发生的情况是(上述情况中,不可能发生的情况是( )。)。C CA A编辑编辑ppt28进程的状态进程的状态u3 创建状态和终止状态 1.创建状态创建状态 是一个进程刚刚建立,但还没有将它送入就绪队列时的状态 2.终止状态终止状态 当一个进程已经正
24、常结束或异常结束,OS已经将它从就绪队列中移出,但还没有将它撤消时的状态。编辑编辑ppt29编辑编辑ppt30编辑编辑ppt31事件事件动作动作编辑编辑ppt324.挂起状态挂起状态1.1.挂起状态的引入挂起状态的引入 1)1)终端用户的需要终端用户的需要 当终端用户在自己的程序运行期间,发现当终端用户在自己的程序运行期间,发现有可疑问题有可疑问题时,时,往往希望暂时使自己的往往希望暂时使自己的进程静止下来进程静止下来。也就是说,如果进。也就是说,如果进程处于程处于执行状态,则暂停执行执行状态,则暂停执行;如果进程处于;如果进程处于就绪状态,就绪状态,则暂时不接受调度则暂时不接受调度,以便,以
25、便研究其执行情况研究其执行情况或对或对程序进行修程序进行修改改。我们把这种静止状态称为。我们把这种静止状态称为挂起状态挂起状态。 编辑编辑ppt332)2)父进程的需求父进程的需求 父进程常常希望父进程常常希望考察考察和和修改子进程修改子进程,或者当要,或者当要协调各子协调各子进程进程间的活动时,间的活动时,要挂起自己的子进程。要挂起自己的子进程。3)3)负荷调节的需要负荷调节的需要 当当实时系统实时系统中的工作负荷较重,可能影响到对实时任务中的工作负荷较重,可能影响到对实时任务的控制时,可由系统把的控制时,可由系统把一些不重要或不紧迫的进程一些不重要或不紧迫的进程挂起,挂起,以保证系统仍然能
26、正常运行。以保证系统仍然能正常运行。 4)4)操作系统的需要操作系统的需要 操作系统有时需要挂起某些进程,检查运行中操作系统有时需要挂起某些进程,检查运行中资源的使资源的使用情况及进行记帐用情况及进行记帐,以便改善系统的运行性能。,以便改善系统的运行性能。 编辑编辑ppt34 2.2.进程状态的转换进程状态的转换 在引入挂起状态后,又将增加从在引入挂起状态后,又将增加从挂起状态(又称静止挂起状态(又称静止状态状态)到)到非挂起状态(又称活动状态非挂起状态(又称活动状态)的转换。或者相反,)的转换。或者相反,可以有以下几种情况:可以有以下几种情况: 1) 1) 活动就绪活动就绪 静止就绪静止就绪
27、 当进程处于未被挂起的当进程处于未被挂起的就绪状态就绪状态时,称此为时,称此为活动就绪状活动就绪状态态,表示为,表示为Readya。当用挂起原语。当用挂起原语SuspendSuspend将该进程挂起将该进程挂起后,该进程便转变为后,该进程便转变为静止就绪状态静止就绪状态。表示为表示为Readys(处(处在在Readys状态的进程,状态的进程,不再被调度执行。不再被调度执行。)编辑编辑ppt35 2) 2) 活动阻塞活动阻塞 静止阻塞静止阻塞 当进程处于当进程处于未被挂起的阻塞状态未被挂起的阻塞状态时,称为它处在时,称为它处在活活动阻塞状态动阻塞状态(表示为(表示为Blockeda)。当)。当S
28、uspendSuspend原语将原语将它挂起后,进程便转变为它挂起后,进程便转变为静止阻塞状态静止阻塞状态(表示为(表示为Blockeds)。处于该状态的进程,在其)。处于该状态的进程,在其所期待的事所期待的事件出现件出现以后,他将从以后,他将从静止阻塞静止阻塞变为变为静止就绪静止就绪。编辑编辑ppt36 3) 3) 静止就绪静止就绪 活动就绪活动就绪 处于处于ReadysReadys状态的进程,若用激活原语状态的进程,若用激活原语ActiveActive激活激活后,该进程将转变为后,该进程将转变为ReadyaReadya状态。状态。4) 4) 静止阻塞静止阻塞 活动阻塞活动阻塞 处于处于Bl
29、ockedsBlockeds状态的进程,若用激活原语状态的进程,若用激活原语ActiveActive激激活后,进程将转变为活后,进程将转变为BlockedaBlockeda状态。状态。编辑编辑ppt37挂起挂起执行执行活动就绪活动就绪活动阻塞活动阻塞静止就绪静止就绪静止阻塞静止阻塞等待事件等待事件激活激活事件发生事件发生挂起挂起事件发生事件发生激活激活挂起挂起具有挂起状态的进程状态图具有挂起状态的进程状态图被调度被调度时间片用完时间片用完创建创建许可许可许可许可终止终止释放释放编辑编辑ppt38 正在执行的进程由于时间片用完而被暂停执行,正在执行的进程由于时间片用完而被暂停执行,此时进程应从执
30、行状态变为此时进程应从执行状态变为_状态;状态; 处于静止阻塞状态的进程,在进程等待事件出处于静止阻塞状态的进程,在进程等待事件出现后,应转变为现后,应转变为_状态;状态; 若进程正处于执行状态时,应终端的请求而暂若进程正处于执行状态时,应终端的请求而暂停下来以便研究其运行情况,这时进程应转变为停下来以便研究其运行情况,这时进程应转变为_状态,若进程已处于阻塞状态,则此时应转状态,若进程已处于阻塞状态,则此时应转变为变为_状态。状态。- -:A.A.静止阻塞静止阻塞 B.B.活动阻塞活动阻塞 C.C.静止就绪静止就绪 D.D.活动就绪活动就绪 E.E.执行执行 练习:练习:D DC CC CA
31、 A编辑编辑ppt39【思考题思考题】1如果系统中有N个进程,运行的进程最多几个,最少几个;就绪进程最多几个最少几个;等待进程最多几个,最少几个?2. 有没有这样的状态转换,为什么? 等待运行; 就绪等待3. 一个状态转换的发生,是否一定导致另一个转换发生,列出所有的可能编辑编辑ppt40 由三部分组成由三部分组成PCB、有关、有关程序段程序段和该程序段对其进行和该程序段对其进行操作的操作的数据数据集合。集合。1) 进程控制块进程控制块:用于用于描述进程情况描述进程情况及及控制进程运行控制进程运行所需的全所需的全部信息。部信息。 2) 程序段程序段:是进程中能被是进程中能被进程调度程序进程调度
32、程序在在CPUCPU上执行的上执行的程序程序代码段。代码段。3) 数据段数据段:一个进程的数据段,可以是进程对应的程序加工一个进程的数据段,可以是进程对应的程序加工处理的处理的原始数据原始数据,也可以是程序执行后产生的,也可以是程序执行后产生的中间或最终中间或最终数据。数据。进程的结构进程的结构编辑编辑ppt411.进程控制块的作用进程控制块的作用 进程控制块是操作系统用于记录和刻画进程状态及进程控制块是操作系统用于记录和刻画进程状态及有关信息的有关信息的数据结构数据结构。 进程控制块是进程控制块是进程存在的唯一标志进程存在的唯一标志,当系统或父进,当系统或父进程程创建一个进程创建一个进程时,
33、实际上就是为其时,实际上就是为其建立一个进程控建立一个进程控制块。制块。 进程控制块进程控制块既能标识进程的存在既能标识进程的存在,又能刻画出,又能刻画出进程进程的动态特征的动态特征,它是一个进程仅有的被系统真正感知的,它是一个进程仅有的被系统真正感知的部分。对操作系统而言,所有部分。对操作系统而言,所有PCBPCB将构成将构成并发执行控制并发执行控制和和维护系统工作维护系统工作的依据。的依据。进程控制块进程控制块编辑编辑ppt42 PCB程序段程序段( (正文段正文段) )数据段数据段( (数据集合数据集合) )处理机状态处理机状态进程调度信息进程调度信息2.2.进程控制块中的信息进程控制块
34、中的信息内内/ /外部标识符外部标识符通用寄存器通用寄存器指令计数器指令计数器程序状态字程序状态字PSWPSW用户栈指针用户栈指针进程状态进程状态进程优先级进程优先级其它信息其它信息/ /事件事件程序和数据的地址程序和数据的地址进程同步和通信机制进程同步和通信机制PCBPCB中的信息中的信息进程标识符进程标识符进程控制信息进程控制信息资源清单资源清单链接指针链接指针编辑编辑ppt43 为了方便管理为了方便管理,把处于相同状态的进程链接在一把处于相同状态的进程链接在一起,称为起,称为“进程队列进程队列”。 常用的组织方式有两种:常用的组织方式有两种:链接方式(单链接方式(单/ /双向)双向)、索
35、引方式索引方式。3. 3. 进程控制块的组织方式进程控制块的组织方式1 1、链接方式、链接方式 具有相同状态的具有相同状态的PCBPCB,用其中的链接字,链接成一个队,用其中的链接字,链接成一个队列。这样就可以形成列。这样就可以形成就绪队列就绪队列、若干个阻塞队列若干个阻塞队列和和空白队列空白队列等。对其中的就绪队列常按照进程优先权的大小排列,把优等。对其中的就绪队列常按照进程优先权的大小排列,把优先权高的进程的先权高的进程的PCBPCB排在队列前面。排在队列前面。 进程队列进程队列:不同状态进程分别组成就绪队列、:不同状态进程分别组成就绪队列、等待队列、空白队列。等待队列、空白队列。编辑编辑
36、ppt44执行指针就绪队列指针阻塞队列指针空闲队列指针PCB1PCB2PCB3PCB4PCB5PCB6PCB7PCB8PCB94308 79010PCB链接队列示意图链接队列示意图编辑编辑ppt45(a)等待队列分开等待队列分开PCB5执行队列 就绪队列 阻塞队列1 阻塞队列2 队列表头队列表头PCB8PCB1PCB4PCB3PCB2PCB7编辑编辑ppt46(b)等待队列不分开等待队列不分开 就绪队列 阻塞队列 PCB1PCB7PCB2PCB3 PCB8PCB4编辑编辑ppt47队首指针队首指针进程进程A A进程进程B B进程进程E E.0 0PCBPCBA APCBPCBB BPCBPCB
37、E E单向链接单向链接队首指针队首指针0 00 0PCBPCBA APCBPCBB BPCBPCBE E进程进程A A进程进程B B进程进程E E.双向链接双向链接编辑编辑ppt48 2.索引方式索引方式 系统根据所有进程的状态,建立几张索引表。例如:就绪索引表、阻塞索引表。并把各索引表在内存的首地址记录在内存中的一些专用单元中。每个索引表的表目中,记录具有相同状态的某个PCB在PCB表中的地址。编辑编辑ppt49执行指针就绪索引表等待索引表PCB3PCB4PCB5PCB7PCB6PCB2PCB1按索引方式组织按索引方式组织PCB就绪索引表等待索引表编辑编辑ppt50u当事件当事件n n发生,
38、对应队列移进就绪队列发生,对应队列移进就绪队列编辑编辑ppt51进程控制块是进程存在的标志,当系统或父进程创建一个进程时,实际上就是为其建立一个进程控制块。 进程控制块既能标识进程的存在,又能刻画出进程的动态特征,它是一个进程仅有的被系统真正感知的部分。对操作系统而言,所有进程控制块将构成并发执行控制和维护系统工作的依据。总结总结控制块的作用:控制块的作用:编辑编辑ppt52进程控制进程控制 为了防止操作系统及关键数据受到破坏,通常将处理为了防止操作系统及关键数据受到破坏,通常将处理机的状态分为机的状态分为管态管态(系统态)系统态)和和目态目态(用户态)用户态)。管态:又叫管态:又叫特权态特权
39、态、系统态系统态或或核心态核心态。CPUCPU在管态下可以在管态下可以执行指令系统的全集。通常,执行指令系统的全集。通常,操作系统在管态操作系统在管态下运行。下运行。目态:又叫目态:又叫常态常态或或用户态用户态。机器处于目态时,程序。机器处于目态时,程序只能执只能执行非特权指令行非特权指令。用户程序。用户程序只能在目态下运行只能在目态下运行,如果用户程,如果用户程序在目态下执行特权指令,硬件将发生中断,由操作系统序在目态下执行特权指令,硬件将发生中断,由操作系统获得控制,特权指令执行被禁止,这样可以获得控制,特权指令执行被禁止,这样可以防止用户程序防止用户程序有意或无意的破坏系统有意或无意的破
40、坏系统。从目态转换为管态的唯一途径是。从目态转换为管态的唯一途径是中断中断。编辑编辑ppt53OSOS内核内核:通常将一些通常将一些与硬件紧密相关与硬件紧密相关的模块(中断处理程的模块(中断处理程序),各种序),各种常用设备的驱动程序常用设备的驱动程序,以及,以及运行频率较高运行频率较高的模的模块(时钟管理、进程调度)都安排在紧靠硬件的软件层次块(时钟管理、进程调度)都安排在紧靠硬件的软件层次中,使它们中,使它们常驻内存常驻内存,以便提高,以便提高OSOS的运行效率,并对它们的运行效率,并对它们加以加以特殊的保护特殊的保护, ,把这一部分称为把这一部分称为OSOS内核。内核。 OSOS内核通常
41、是运行在内核通常是运行在系统态系统态的,进程控制是由的,进程控制是由OSOS内核内核中的原语来中的原语来实现的。实现的。进程控制进程控制:进程控制的任务就是:进程控制的任务就是为作业创建进程为作业创建进程,撤消已撤消已结束的进程结束的进程,以及,以及控制进程控制进程在运行过程中的在运行过程中的状态转换状态转换。编辑编辑ppt54 原语原语 在操作系统中,某些被进程调用的操作,一旦开始执行就在操作系统中,某些被进程调用的操作,一旦开始执行就不能被中断不能被中断,否则否则就会出现就会出现操作错误操作错误,造成系统混乱。原语,造成系统混乱。原语就是为实现这些操作而设置的。就是为实现这些操作而设置的。
42、原语:系统状态下执行的某些具有特定功能的原语:系统状态下执行的某些具有特定功能的程序段程序段。(原语也是由(原语也是由若干条指令构成若干条指令构成的,用于完成一定功能的过程。的,用于完成一定功能的过程。原子操作在原子操作在管态管态下执行,下执行,常驻内存常驻内存。)。)原语操作:一个操作中的动作原语操作:一个操作中的动作要么全做,要么全不做要么全做,要么全不做。 在操作系统中,通常把进程控制用程序段在操作系统中,通常把进程控制用程序段做成原语做成原语。用于。用于进程控制的原语有:进程控制的原语有:创建原语、撤销原语、阻塞原语、唤醒创建原语、撤销原语、阻塞原语、唤醒原语等。原语等。编辑编辑ppt
43、55进程的创建进程的创建1 进程图进程图: :进程图是用来进程图是用来描述进程家族关系描述进程家族关系的的有向树。有向树。 系统初启时,首先创建一个系统初启时,首先创建一个系统总控进程系统总控进程,再由,再由该总控进程该总控进程创建其他系统进程创建其他系统进程,这些系统进程一旦,这些系统进程一旦创建便永无休止地创建便永无休止地参与并发运行参与并发运行,为所有的用户进,为所有的用户进程程提供服务提供服务,直至系统终止。,直至系统终止。编辑编辑ppt56 子进程子进程可以继承可以继承父进程的所有资源父进程的所有资源,当子进程,当子进程被撤消被撤消时,时,应将从父进程那里获得的资源应将从父进程那里获
44、得的资源归还给父进程归还给父进程。撤消父进程撤消父进程时也必须同时时也必须同时撤消其所有的子进程撤消其所有的子进程。ABCDMEIJHGFLK编辑编辑ppt572 引起创建进程的事件引起创建进程的事件1) 1) 用户登录用户登录:在:在分时系统分时系统中,用户在终端键入登录命令后,若中,用户在终端键入登录命令后,若 是是合法用户合法用户,系统,系统建立一个进程建立一个进程,并插入,并插入就绪队列就绪队列。2) 2) 作业调度作业调度:批处理系统批处理系统中,作业调度程序中,作业调度程序调度到某个作业调度到某个作业以以 后,就把这个作业后,就把这个作业装入内存,装入内存,并并分配必要的资源分配必
45、要的资源,创建进程,创建进程,插入插入就绪队列。就绪队列。3) 3) 提供服务提供服务:运行中的用户向系统提出请求后,系统专门建立:运行中的用户向系统提出请求后,系统专门建立一个进程为用户服务。(打印请求)一个进程为用户服务。(打印请求)由操作系统核心(系统程序模块)创建由操作系统核心(系统程序模块)创建4)4) 应用请求:应用请求:应用进程的需要,由它应用进程的需要,由它自己创建一个新进程自己创建一个新进程,使,使新进程新进程以并发运行方式以并发运行方式完成特定任务。(完成特定任务。(输入数据输入数据并将并将处理处理结果结果输出到表格上)输出到表格上)由父进程创建由父进程创建 编辑编辑ppt
46、581 1 申请空白的申请空白的PCBPCB为新进程为新进程分配唯一的数字标识符,分配唯一的数字标识符,并从并从PCBPCB集合中集合中索取一个空白的索取一个空白的PCBPCB2 2 为新建立的进程分配资源为新建立的进程分配资源为新进程的为新进程的程序程序和和数据数据,以及,以及用用户栈、分配必要的内存空间。户栈、分配必要的内存空间。3 3 初始化进程控制块初始化进程控制块 初始化标识符信息初始化标识符信息: :将将系统中分配的标识符、父进程标识系统中分配的标识符、父进程标识符符填入新填入新PCBPCB中。初始化处理机状态信息。使程序计数器指中。初始化处理机状态信息。使程序计数器指向向程序的入
47、口地址,程序的入口地址,栈指针指向栈指针指向栈顶栈顶。 初始化处理机控制信息初始化处理机控制信息: :将进程的状态设置为将进程的状态设置为就绪状态就绪状态或或静止就绪状态静止就绪状态。4 4 将新进程插入就绪队列将新进程插入就绪队列3 进程的创建过程(进程的创建过程(creat)编辑编辑ppt59入口查PCB链表有同名?将PCB入就绪队列 将PCB入总链将入口信息填入PCB相应项向系统申请一个空的PCB结构返回出错有创建原语流程图无有空PCB?出错无有编辑编辑ppt601 引起进程终止的事件引起进程终止的事件1) 1) 正常结束:正常结束:计算机系统中,都有一个表示计算机系统中,都有一个表示进
48、程已经运进程已经运行完成的指示行完成的指示。(批处理,。(批处理,HaltHalt。分时系统中,。分时系统中,Logs OffLogs Off)2) 2) 异常结束异常结束: : 越界错误、保护错、特权指令错、越界错误、保护错、特权指令错、 非法指非法指令错、令错、 运行超时、等待超时、算术运算错、运行超时、等待超时、算术运算错、 I/OI/O故障故障3) 3) 外界干预外界干预: : 操作员或操作系统干预、父进程请求、父操作员或操作系统干预、父进程请求、父进程终止进程终止进程的终止(撤销进程)进程的终止(撤销进程)编辑编辑ppt612 进程终止过程进程终止过程1 1 根据被终止进程的根据被终
49、止进程的标识符标识符,从,从PCBPCB集合中集合中检索出该进程的检索出该进程的PCBPCB,从中,从中读出读出该该进程的状态进程的状态2 2 若被终止进程处于若被终止进程处于执行态执行态,应立即,应立即终止该进程的执行终止该进程的执行,并,并设置设置调度标志为真调度标志为真(用于指示该进程被终止时应重新调(用于指示该进程被终止时应重新调度),然后度),然后再选择一个进程,分配处理机再选择一个进程,分配处理机给它。给它。3 3 如果该进程如果该进程还有子孙进程还有子孙进程,还应,还应将将它的它的所有子孙进程终止所有子孙进程终止,以防它们成为不可控的。以防它们成为不可控的。4 4 将该进程所拥有
50、的将该进程所拥有的全部资源全部资源,或者,或者归还归还给它的给它的父进程父进程,或,或者归还给者归还给系统系统。5 5 将将被终止进程(被终止进程(PCBPCB)从所在队列(链表)中)从所在队列(链表)中移出移出。编辑编辑ppt62入口返回查进程链表或进程家族有此PCB吗?该PCB有子进程吗?释放该进程所占有的资源释放该PCB结构本身出错处理有无有无编辑编辑ppt631 引起进程阻塞和唤醒的事件引起进程阻塞和唤醒的事件 1) 请求系统服务请求系统服务: :正在执行的程序正在执行的程序请求操作系统服务请求操作系统服务,但,但是由于某种原因操作系统是由于某种原因操作系统没有立即满足没有立即满足该进程的要求,该进该进程的要求,该进程只能程只能转变为阻塞状态转变为阻塞状态来等待。来等待。 2) 启动某操作启动某操作: :当进程启动某种操作后,如果该进程必须当进程启动某种操作后,如果该进程必须在该操作完成之后才能继续执行,则在该操作完成之
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理与康复医学
- 基础护理学:感染控制与隔离技术
- 护理职业发展与规划
- 护理课件:老年护理特殊需求
- 骨灰管理员常识强化考核试卷含答案
- 特种气体生产工安全强化模拟考核试卷含答案
- 农机驾驶操作员班组评比水平考核试卷含答案
- 慢性肺源性心脏病的药物治疗
- 煤提质工岗前基础综合考核试卷含答案
- 栲胶生产工岗前全能考核试卷含答案
- 江苏省兴化市2026届中考数学模拟预测题含解析
- 2026年辽宁能源集团招聘考试指南及模拟题解析
- TSG08-2026《特种设备使用管理规则》全面解读课件
- 2026广东广州市黄埔区大沙街道招聘编外聘用人员4人备考题库及参考答案详解
- 老龄政策课件
- 国家事业单位招聘2025中国工艺美术馆招聘拟聘人员笔试历年参考题库典型考点附带答案详解(3卷合一)
- 企业管理 华为会议接待全流程手册SOP
- 通信行业雨季安全培训课件
- 2025年四川遂宁中考道德与法治试题及答案
- 诽谤罪课件教学课件
- 社会体育管理题目及答案
评论
0/150
提交评论