第二部分处理器管理.ppt
《第二部分处理器管理.ppt》由会员分享,可在线阅读,更多相关《第二部分处理器管理.ppt(81页珍藏版)》请在三一办公上搜索。
1、第2章 处理器管理,第2章 处理器管理,2.1 进程概念2.2 进程控制2.3 进程调度2.4 调度算法2.5 线程概念2.6 多处理器系统,2.1 进程概念,2.1.1 多道程序设计2.1.2 进程的定义2.1.3 进程的状态2.1.4 进程控制块2.1.5 进程结构,2.1.1 多道程序设计,1.程序的顺序执行早期的计算机系统基本上都是单处理器系统,每一次只允许一道程序运行,这个程序运行时,它将独占整个计算机系统的资源,而且系统按照程序步骤顺序地执行,在该程序执行完之前,其他程序只能等待,从而不存在共享资源的问题。这种程序的执行方式,称为顺序执行。,S1:a=x+y;S2:b=a-5;S3
2、:c=b+1;,程序顺序执行特点,(1)顺序性(不同程序之间是按一定顺序执行的)。(2)封闭性(程序在运行时独占系统资源,只有程序本身能改变系统资源状态(除初始状态外)。(3)无关性(即确定性,程序执行结果与其执行速度无关)。(4)可再现性(程序运行不受外界因素影响,只要初始条件相同,运行结果也相同)。缺点:资源利用率低。,为增强计算机系统的处理能力和提高各种资源的利用率,现在计算机系统多采用多道程序设计技术,任一时刻,系统中存在许多并行的活动。并发执行:两个程序的执行在时间上是重叠的。,并发执行基于多道程序的概念,即让多个程序在计算机内交替执行,当一道程序不占用CPU时,另一道程序就马上使用
3、,这就是多道程序设计的思想,这样的计算机系统就称为多道程序设计系统。采用多道程序设计,并由操作系统进行管理后,CPU得到了充分的利用。虽然在某一时刻仍然只有一条指令在执行,只有一个程序占用CPU,但在机器的内存中同时存放了多个程序,在某一时间间隔内,这些程序在交替执行。因此,从微观上看,指令是顺序的,但从宏观上看,程序却是并发的,这是理解进程操作的关键。,2.程序的并发执行,并发执行时的前趋图,对于具有下述四条语句的程序段:S1:a=x+2 S2:b=y+4 S3:c=a+b S4:d=c+b,程序的并发执行具有如下特征:,异步性/间断性:走走停停,具有执行-暂停-执行的活动规律。并发程序段竞
4、争同一资源,得到资源的程序段继续执行,得不到的暂停执行。,2.程序并发执行丧失了程序顺序执行所保持的封闭性和可再现性例:有两个循环程序A和B,它们共享一个变量N。程序A每执行一次时,都要做N=N+1操作;程序B每执行一次时,都要执行Print(N)操作,然后再将N置成“0”。程序A和B以不同的速度运行。(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=N+1在Print(N)和N=0之间,此时得到的N值分别为 n,n+1,0。,在执行期间并发程序相互制约:多道程序之
5、间存在着资源的竞争与共享,因而产生了相互制约的关系。直接制约,如一个程序段需要另一个程序段的计算结果。间接制约,竞争使用同一资源。程序与机器执行程序的活动(计算)不再一一对应:允许多个用户作业调用一个共享程序段,从而形成多个“计算”。,课前提问,什么是多道程序设计?为什么要采用多道程序设计?程序的并发执行具有哪些特点?,2.1.2 进程的定义,多道程序环境下,程序这个静态概念已不能如实反应程序活动的特性,如独立性、并发性、动态性、制约性等。为了更好地描述系统中的并发活动引入进程的概念。由于并发活动的复杂性,所以各个操作系统中对进程的定义未能统一:(1)进程是程序在处理机上的执行(Dijkstr
6、a)。(2)进程是可以与别的计算并发执行的计算(Donovan)。(3)进程是一个程序及其数据在处理机上顺序地执行时所发生的活动(A Lan Show)。(4)进程是系统资源和程序代码的执行位置的集合(Java)。(5)进程是进程映像的执行(Unix)。,归纳为:进程是程序关于某个数据集合的可并发的一次运行活动,是系统进行资源分配和调度的一个独立单位。,进程特性,动态性:进程是一次运行活动结构性:进程实体是程序和数据集合并发性独立性异步性:并发进程相互制约,呈现走走停停的状态,2.1.3 进程的表示,1.进程的组成进程是一个动态的概念,程序及其相关的数据集合是进程存在的实体,那么如何表示一个进
7、程?又如何知道进程的存在呢?在操作系统中,进程通过三个部分被感知,即程序、数据集合和进程控制块。(1)程序(program)。进程运行所对应的执行代码,一个进程可以对应一个程序,也可以只对应一个程序的一部分,多个进程也可同时对应一个程序,即这个程序被多个进程所共享,可共享的程序代码叫纯代码或叫可重入代码,在运行过程中不能被改变。(2)数据(data)。进程运行中必需的数据资源,包括对CPU的占用、存储器、堆栈、缓冲区、I/O通道和I/O设备等的需求信息。,(3)进程控制块(Process Control Block/PCB)。系统为进程定义的一种专门的数据结构,用PCB描述进程的运动变化过程,
8、记忆进程的外部特征和与其他进程的联系。PCB与进程一一对应,系统创建一个进程,在系统区就为进程设置一个PCB,再利用PCB对进程进行管理和控制,进程被撤消时,系统就收回它的PCB,进程随之消亡。所以,PCB是进程存在的惟一标志。三者关系:进程的程序和数据比喻为进程的“躯体”,那么PCB便是进程的“灵魂”。,2.进程控制块中的信息,PCB是进程存在的唯一标志。一般包含以下信息:(1)进程标识符:惟一地标识一个进程。内部标识符。在所有的操作系统中,都为每一个进 程赋予一个惟一的数字标识符,它通常是一个进程的序号。主要是为了方便系统使用。外部标识符。由创建者提供,通常由字母、数字组成,往往是用户(进
9、程)在访问该进程时使用。为了描述进程的家族关系,还应设置父进程标识及子进程标识。此外,还可设置用户标识,以指示拥有该进程的用户。,(2)位置信息:进程的程序和数据部分在内存或外存中的物理位置。(3)状态信息:进程当前的状态(4)进程的优先级。(5)进程现场保护区:进程状态改变时,保存当时的cpu现场到内存中。(6)资源清单:除了内外存,还有其他资源,如I/O设备(7)队列指针或链接字:链接处于同一状态的进程(8)其它。根据os的不同,pcb具有的内容不同,3.进程控制块的组织方式,一个系统通常可有数十个、数百个甚至数千个PCB,为了对他们有效管理,应当用适当的方式将他们组织起来。1)线性表方式
10、:,PCB线性表示意图,2)链接方式,具有同一状态的PCB用链接字连接成一个队列,就绪队列(优先级),若干阻塞队列(阻塞原因不同),空白队列,PCB链接队列示意图,3)索引方式,按索引方式组织PCB,根据进程状态建立索引表,并将索引表在内存的首地址记录在内存的一些专用单元中,每个索引表的表目中,记录相应状态的某个PCB在PCB表中的位置。,2.1.4 进程的状态,代表进程生命周期的三种基本状态:运行/执行(running)、就绪(ready)和等待/阻塞(waited或blocked)状态,此外还有停止(stop)状态、死锁(deadlock)状态等。运行状态:进程的物理运行。就绪和等待状态:
11、进程的逻辑运行。停止状态:进程无需再运行。死锁状态:进程无法执行。,进程在某个时刻总是处于某种状态,随着进程自身的推进和外界条件的变化,进程的状态也随之变化。,进程的三种基本状态及其转换,(1)就绪运行(2)运行就绪(3)运行等待(4)等待就绪,具有挂起状态的进程状态图,2.2 进程控制,2.2.1 创建进程(create)2.2.2 停止进程(halt)2.2.3 挂起进程(suspend)2.2.4 激活进程(activate)2.2.5 阻塞进程(block)2.2.6 唤醒进程(wakeup),进程状态转换原语,进程的控制指操作系统必须提供某种机制,来创建一个新进程、撤消一个已经结束运
12、行的进程、改变进程状态、实现进程之间的通信。通过OS内核中的原语来实现的。所谓“原语”,指由若干条机器指令构成的并用以完成特定功能的一段程序,这段程序在执行期间是不可分割的。,进程:系统进程;用户进程系统进程:系统活动构成的进程,程序实体是在管态下执行的操作系统程序,所有的系统进程构成一个系统进程族。系统初启时,创建一个系统总控进程。由总控进程创建其他系统进程或常驻内存的系统进程。系统进程一旦创建便参与并发运行,直到系统终止,由总控进程撤销所有系统进程。总控进程自行消亡。,2.2.1 创建进程(create),用户进程:一个独立的用户程序活动构成的进程,程序实体是用户程序或在目态下执行的系统程
13、序。一个用户进程族随某个用户活动的开始而动态产生,随用户活动的进行而动态形成,随用户活动的终止而动态消亡。,在分时系统中,合法用户登录时,系统将为该终端用户创建一个进程。在批处理系统中,当作业调度程序按一定的算法调度到某个作业时,系统将该作业调入内存,分配必要的资源,随之为它创建一个进程。运行中的程序提出某种请求,需要系统提供某种服务(如打印服务)时,系统也将为该进程创建一个新进程(如打印进程)。用户进程由于应用的需要,它自己也可以创建一个新进程,以便完成特定的应用任务等等。,引起创建进程的事件,进程家族,一个进程可以创建若干个新进程,新创建的进程又可以创建进程,这个创建过程形成了一种树型结构
14、,显示了进程家族的关系,如图所示。,通常允许一个进程创建和控制另一个进程,前者称为父进程,后者称为子进程。创建父进程的进程称为祖父进程,子进程又可创建孙进程等,形成了一个树型结构的进程家族。左图有1个祖先进程(如进程1)和6个子孙进程(如进程2进程7),祖先进程被撤销后,进程家族随之消亡。,进程创建过程,借助“建立”原语可以创建一个新进程。建立一个新进程的工作包括:(1)申请一个空闲的进程控制块。(2)初始化进程控制块。(3)为新进程分配资源(为新进程的数据集分配内存并初始化;为新进程的程序分配内存并将它装入该程序等)。(4)将新进程插入就绪队列。,思考:一个进程被创建后处于哪种状态?,2.2
15、.2 停止进程(halt),一个进程在正常运行结束时,一般都自动终止,进程由运行状态变成停止状态,这是通过调用“停止”原语实现的。另一方面,进程异常结束时,也会导致进程由运行状态变成停止状态,如:地址越界、保护错误、特权指令错误、运行超时、运算错误、I/O故障或外界进行干预等。,停止一个进程的工作包括:(1)按该进程的标识符,检索PCB队列。(2)终止该进程的运行,设置调度标志以便重新调度。(3)若该进程有子孙进程,则也将它们终止。(4)归还该进程拥有的所有资源。(5)将该进程的进程控制块从PCB队列中移出。,2.2.3 挂起进程(suspend),当发生引起进程挂起的事件(如父进程请求将自己
16、的某个子进程挂起)时,系统将借助“挂起”原语实现,该进程的状态由活动的就绪/等待状态变为静止的就绪/等待状态。挂起一个进程的工作是将该进程的实体(程序和数据集)复制到外存交换区,并释放该进程占用的内存空间。处于挂起状态的进程暂时不能参与CPU的竞争。,2.2.4 激活进程(activate),当发生引起进程激活的事件(如驻留在外存的进程能够获得足够的内存空间)时,系统将借助“激活”原语实现,该进程的状态由静止的就绪/等待状态变为活动的就绪/等待状态。处于激活状态的进程可以参与CPU的竞争。激活一个进程的工作与挂起一个进程的工作相反,在内存需求得到满足后,将该进程的数据集和程序装入内存,如果是静
17、止的就绪进程被装入内存,系统又允许剥夺式进程调度的话,则该静止的就绪进程将成为活动的就绪进程,同时能够与现行进程一起竞争CPU资源。,2.2.5 阻塞进程(block),当发生引起进程阻塞的事件(如正在执行的进程请求系统提供某种服务,并且并未获得满足时。或者进程已经启动了某个I/O设备,并且该操作还未完成时。或者相互合作的进程需要得到另一合作进程的数据资源时),进程无法继续运行,将借助“阻塞”原语,将自身阻塞起来。该进程的状态由运行状态变为等待状态。阻塞一个进程的工作是将该进程插入到等待队列中,再转向进程调度程序重新调度,将CPU分配给另一个就绪进程。,2.2.6 唤醒进程(wakeup),当
18、被阻塞的进程所希望的事件完成(如I/O操作结束或所需要的数据到达),则由相应的进程调用“唤醒”原语唤醒该进程,进程状态由等待状态变为就绪状态。唤醒一个进程的工作与阻塞一个进程的工作刚好相反,首先将该进程从等待队列中移出,将PCB的现行状态变为就绪状态,将该进程送入就绪队列。注意:对于被阻塞的进程应有相应的进程(如相互合作的进程)将其唤醒,否则将有可能长期被阻塞,处于永远的等待状态,无法再运行。,讨论-选择,下列进程状态变化中,()的变化是不可能发生的。A运行-就绪B运行-等待 C等待-运行D等待-就绪,2.3 进程调度,2.3.1 处理器调度级别2.3.2 调度的功能与时机2.3.3 调度方式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 部分 处理器 管理
链接地址:https://www.31ppt.com/p-5316593.html