操作系统原理与实例分析PPT课件第二章进程管理.ppt
《操作系统原理与实例分析PPT课件第二章进程管理.ppt》由会员分享,可在线阅读,更多相关《操作系统原理与实例分析PPT课件第二章进程管理.ppt(207页珍藏版)》请在三一办公上搜索。
1、第二章 进程管理,2.1 进程的引入,2.1.1 程序顺序执行与并发执行,程序的执行顺序1程序的顺序执行 例子:S1:a:x+y;S2:b:a-5;S3:c:b+1;,2程序顺序执行时的特征(1)顺序性:处理机的操作严格按照程序所规定的顺序执行。(2)封闭性:程序运行时独占全机资源,程序一旦开始执行,其执行结果不受外界因素影响。(3)可再现性:只要程序执行时的环境和初始条件相同,都将获得相同的结果。(不论它是从头到尾不停顿地执行,还是“停停走走”地执行),3.程序的并发执行,4.程序并发执行时的特征,1)间断性:由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的程序之间
2、,形成了相互制约的关系。相互制约将导致并发程序具有“执行暂停执行”这种间断性的活动规律。2)失去封闭性:是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。3)不可再现性:程序在并发执行时,由于失去了封闭性,导致不可再现性。,例如,有两个循环程序A和已它们共享一个变量N。程序A每执行一次时,都要做N:=N1操作;程序B每执行一次时,都要执行Print(N)操作,然后再将N置成“0”。程序A和B以不同的速度运行。这样,可能出现其计算结果不可再现性,亦即,程序经过多次执行后,虽然它们执行时的环境和初始条件相同,但得到的结果却各不相同。,例子:变量X为
3、共享变量,程序1和程序2都要对X进行访问,当两个程序执行的速度变化时可得到不同的结果。执行顺序1:程序1程序2 结果为:X增加2。执行顺序2:R1=X;R2=X;R1=R1+1;R2=R2+1;X=R1;X=R2 结果为:X 增加1。还可有许多其它组合,并发执行的条件:达到封闭性和可再现性,并发执行失去封闭性的原因是共享资源的影响,去掉这种影响就行了。1966年,由Bernstein给出并发执行的条件。,程序 P(i)针对共享变量的读集和写集 R(i)和W(i)条件:任意两个程序P(i)和P(j),有:R(i)W(j)=;W(i)R(j)=;W(i)W(j)=;前两条保证一个程序的两次读之间数
4、据不变化;最后一条保证写的结果不丢掉。现在的问题是这个条件不好检查。,并发和并行区别,并发是指在某一时间间隔内计算机系统中存在着多个程序活动。并行是指在同一时刻计算机内有多个程序都在执行,这只有在多CPU的系统中才能实现。在单CPU的计算机系统中,多个程序是不可能同时执行的。并发是从宏观上(这种“宏观”也许不到一秒的时间)看多个程序的运行活动,这些程序在串行的、交错的运行,由操作系统负责这些程序之间的运行切换,人们从外部宏观上观察,有多个程序都在系统中运行。,2.1.2 进程的概念和特征1、进程的定义 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动,是系统进行资源分配和调度的基
5、本单位。,进程与程序的区别和相互关系程序 进程静态的指令序列 动态的程序执行过程一程序可对应 一个进程对应至少有多个进程 一个程序在工作永久性软件资源 暂存资源,动态产生过程 资源分配和调度的单位,2、进程的特征动态性:进程是程序在并发系统内的一次执行,一个进程有一个从产生到消失的生命期,是进程的最基本的特征;并发性:正是为了描述程序在并发系统内执行的动态特性才引入了进程,没有并发就没有进程,是进程的最重要的特征,正是因为并发性,才提高了系统资源的利用率和系统的吞吐量;独立性:每个进程的程序都是相对独立的顺序程序,可以按照自己的方向和速度独立地向前推进;异步性:指进程的执行进度,或推进速度不可
6、预测,而与同时驻留在内存的其它进程有关;制约性:进程之间的相互制约,主要表现在互斥地使用资源和相关进程之间必要的同步和通讯;结构性:进程=PCB+程序+数据集合,3、引入进程后需要解决的问题*增加了空间开销*额外的时间开销*更难控制*处理机的竞争尤为突出,2.1.3 进程的结构 为了刻画进程的动态变化,通常把进程表示为由程序段、私有数据块和进程控制块(PCB)组成。进程控制块是操作系统感知进程存在的唯一标志。程序部分描述进程本身所要完成的功能,而“私有数据块”是接受程序规定操作的一组存储单元的内容,是操作的对象。进程控制块是在进程创建时产生的,当进程存在于系统时(运行),进程控制块就标识了这个
7、进程。,PCB包含了进程的描述信息和控制信息,通常有如下项目:(1)标识符(2)存贮信息(3)现场状态(4)优先数(5)现场信息(6)链接字(或称队列指针)(7)族系关系(8)资源清单(9)其他,*标识符 分为外部标识符和内部标识符。外部标识符由创建进程者提供,通常由字母、数字等组成,在用户或其它进程访问该进程时使用。内部标识符是一个整数。在操作系统的PCB表区中,有多个PCB表,每个PCB表有一个序号,通常将这个序号做为内部标识符,以方便系统使用。*程序地址 进程的程序部分在内存及外存的地址,或描述程序地址信息的段表地址、页表地址等。,*数据地址 进程的数据部分在内存及外存的地址,或描述数据
8、地址信息的段表地址、页表地址等。*状态 进程当前所处的状态,即就绪状态、执行状态及阻塞状态,已经被创建的进程的状态必为此三者之一。,*CPU状态保护区 CPU状态信息主要由通用寄存器、程序计数器PC、程序状态字PSW以及用户栈指针等组成,也称为中断点现场信息。CPU状态保护区用以保护进程被中断而暂停执行时CPU的状态信息,以便进程重新获得CPU时能够重布现场,从上次被中断处继续执行。,*进程优先级 进程优先级是用以描述进程使用处理机的优先级别的整数,是优先级调度算法中调度的依据。通常数值越小,优先级别越高。优先级可以处理成不变的,称为静态优先级,也可以处理成可变的,称为动态优先级。,*通信信息
9、 进程通信时需要使用的信息,包括标志位、信号或信号量、消息队列信息等。如消息缓冲通信机制中,在进程的PCB表中,需要有消息队列队首指针、消息个数及互斥使用消息队列的信号量等。,*资源信息 进程对资源的需求及已经分配资源的清单。*队列指针 除了执行状态的进程外,其余的进程PCB表都处于某一就绪队列或某一阻塞队列中。队列指针用于指向进程所在队列中下一个PCB表的首地址。,*家族指针 进程在运行过程中可以创建新进程来协同完成同一任务。创建者称为父进程,被创建者称为子进程。父进程PCB表中有指向子进程的PCB表的指针,子进程的PCB表中有指向父进程的PCB表的指针,这就是家族指针,它可以将一个家族的进
10、程联系起来,形成进程家族树。,进程控制块的组织 为了便于管理,系统把所有的PCB用适当方式组织起来。一般说来,大致有以下三种组织方式:(1)线性表方式(2)索引方式(3)链接方式,2.2 进程的状态,2.2.1 进程执行轨迹,例 假设内存中有3个进程A、B、C,他们的程序代码已全部装入内存。若A、C两进程需要执行12条指令,B进程需要执行4条指令,且B进程执行到第4条指令处必须等待I/O,2.2.2 两状态进程模型,在两状态模型中进程可能处于如下两种状态中:执行(Running)非执行(Not-running),两状态队列模型,进程的创建,进程的终止,接上表,导致进程状态转换的事件,2.2.3
11、 五状态进程模型,Running:占用处理机(单处理机环境中,某一时刻仅一个进程占用处理机)Ready:准备执行Blocked:等待某事件发生才能执行,如等待I/O完成等New:进程已经创建,但未被OS接纳为可执行进程,并且程序还在辅存,PCB在内存Exit:因停止或取消,被OS从执行状态释放,Null New:新创建进程首先处于新状态,NewReady:OS接纳新状态进程为就绪进程Ready Running:OS只能从就绪进程中选一个进程执行Running Exit:执行状态的进程执行完毕,或被取消,则转换为退出状态RunningReady:分时系统中,时间片用完,或优先级高的进程到来,将终
12、止优先级低的进程的执行Running Blocked:执行进程需要等待某事件发生。通常因进程需要的系统调用不能立即完成,而阻塞,Blocked Ready:当阻塞进程等待的事件发生,就转换为就绪状态Ready Exit:某些系统允许父进程在任何情况下终止其子进程。若一个父进程终止,其子孙进程都必须终止。Blocked Exit:因为它自身退出了,或者是因为某种原因被取消。,Using Two Queues,2.2.4 进程的挂起状态,这个问题的出现是由于进程优先级的引入,一些低优先级进程可能等待较长时间,从而被对换至外存。这样做的目的是:提高处理机效率:就绪进程表为空时,要提交新进程,以提高处
13、理机效率;为运行进程提供足够内存:资源紧张时,暂停某些进程,如:CPU繁忙(或实时任务执行),内存紧张;,被挂起进程的原因,用于调试:在调试时,挂起被调试进程(从而对其地址空间进行读写);操作系统的需要:操作系统可能挂起后台进程或一些服务进程,或某些可能导致系统故障的进程;父进程的需求:父进程可能挂起子进程。,被挂起进程的特征,不能被调度执行。可能是等待某事件发生,若是,则阻塞条件独立于挂起条件,即使阻塞事件发生,该进程也不能执行。为了阻止进程执行,可以通过代理使进程挂起。代理可以是进程自身或父进程、或OS。只有实施挂起操作的进程才能使之由挂起状态转换为其他状态。,One Suspend St
14、ate,一个挂起,Two Suspend States,具有挂起状态的进程状态转换,BlockedBlocked/Suspend:OS通常将阻塞进程换出,以腾出内存空间Blocked/SuspendReady/Suspend:当Blocked/Suspend进程等待的事件发生时,可以将其转换为Ready/suspendReady/SuspendReady:OS需要调入一个进程执行时ReadyReady/Suspend:挂起就绪进程,释放足够的内存空间New Ready/suspend(NewReady):新进程创建后,可以插入到就绪队列或Ready/suspend队列。若无足够的内存分配给新进
15、程,则需要New Ready/Suspend,具有挂起状态的进程状态转换(续),Blocked/SuspendBlocked:当Blocked/Suspend队列中有一个进程的阻塞事件可能会很快发生,则可将一个Blocked/Suspend进程换入内存,变为BlockedRunningReady/Suspend:当执行进程的时间片用完时,会转换为Ready。或,一个高优先级的Blocked/Suspend进程正好变为非阻塞状态,OS可以将执行进程转换为Ready/Suspend状态AllExit:通常,Running Exit。但某些OS中,父进程可以终止其子进程,使任何状态的进程都可转换为退
16、出状态,2.3 进程的控制,2.3.1 执行模式 处理机有核心态和用户态两种执行状态 核心态:由设备中断、异常、自陷、信号(即软中断)等进入,这种状态具有较高的特权,允许使用全部机器资源与机器指令,是操作系统程序执行时的状态。用户态:处理机在这种状态下只能使用指定的机器指令,不能使用如I/O、改变机器状态、修改存储保护等指令,并且只允许访问用户自己的存储区,是用户程序执行时的状态。,2.3.2 操作系统内核 没有配置任何软件的计算机称为裸机,操作系统是在裸机上添加多层软件形成的。通常将与硬件紧密相关的部分,如中断处理程序、设备驱动程序及进程从创建到撤消包括进程状态变迁中用到的公共操作等集中在一
17、起,常驻内存,作为裸机上添加的第一层软件,叫做内核。,操作系统内核的功能 运行频率高的功能模块大都放在操作系统的内核来实现。1、资源管理的功能*进程管理 进程的创建和终止、进程调度、进程状态转换、进程之间的同步和通信、以及PCB管理等等。*存储管理 为进程分配空间、实现内存保护和对换功能、对内存进行分段和分页管理的等等。*I/O设备管理 I/O缓冲区管理、为进程分配I/O通道和设备等等,2、支持功能*I/O中断处理 中断 处理功能既是内核的最基本功能,也是整个操作系统赖以活动的基础,即操作系统的一切重要活动都最终依赖于中断。*原语操作 操作系统内核的功能大都通过执行各种原语来实现的。,原语:是
18、机器指令的延伸,是由若干条机器指令构成的、完成特定功能的一个过程。原子操作:指一个操作中的所有动作,要么全做,要么全不做,即原子操作是一个不可分割的操作。在单处理机中,操作的原子性可以通过屏蔽中断来实现。时钟管理 时钟就是操作系统运行的脉搏。,2.3.3 进程控制1、进程的创建和撤消 进程的创建,进程的撤消,2、进程的阻塞和唤醒 阻塞是进程自己通过调用阻塞原语自己阻塞自己,而唤醒操作则由操作系统或其它相关进程调用唤醒原语来唤醒,进程自己无法自己唤醒自己。进程阻塞的原因:*进程请求I/O服务,无论获得I/O服务与否,通常都要暂时放弃CPU;*某些原语操作,如P操作等可能引起进程阻塞;*某些系统进
19、程工作时占用CPU,无事可做时,则调用阻塞原语将自己阻塞。,进程的阻塞,进程唤醒的原因:*进程请求的I/O操作完成;*某些原语操作,如V操作等可以解封阻塞进程;*某些系统进程有事可做时,用唤醒原语将其唤醒。,进程的唤醒,3、进程的挂起与激活 根据进程所处状态,挂起原语可以有三种处理:*完成进程从活动就绪状态到静止就绪状态的转变;*完成进程从活动阻塞状态到静止阻塞状态的转变;*若进程是执行状态,则转变为静止就绪状态。,挂起对象:*进程请求挂起自身;*父进程挂起子进程。挂起方式如下:*挂起一个具有指定标识符的进程;*挂起某个进程及其所有子孙进程。采用这种挂起方式可以避免进程被挂起而其子孙进程仍在活
20、动而带来的问题。,进程挂起,进程的激活,4、进程切换进程切换的大致的两个步骤:*保护被切换进程的现场;*恢复投入运行的现场。,2.4 进程调度,2.4.1 进程调度的目标、原则和方式 1.交通控制程序 交通控制程序(Traffic Controller)是J.H.Saltzer于 1966 年起的名字。他把操作系统中指挥各个进程的工作比作一个交通警察,而把各个进程比作车辆。它们之间有时要竞争,有时要合作,交通警察就要保证它们协调一致,互不冲突。在操作系统中,交通控制程序的主要职能是管理进程状态之间的转变和协调进程间的通讯。,2.进程调度程序 在进程状态的变化中,从就绪到运行的转变是由一个专门的
21、程序来完成的,该程序称为进程调度程序。进程调度称为“低级”调度,是相对作业调度而言的。进程调度程序所要完成的是把一台物理的CPU转变为多台虚拟的CPU或者多台逻辑的CPU。,3.引起进程调度的原因*现运行进程运行结束或者因任务完成而正常结束,或者因出现错误而异常结束。*现运行进程因某种原因,比如I/O请求,从运行进入阻塞状态。*现运行进程执行某种原语操作,如P操作、阻塞原语等,进入阻塞状态。*一个具有更高优先级的进程要求使用处理机,即进入就绪队列。*分配给该进程运行的时间片已用完。,4.进程调度程序的功能*记住系统中所有进程的状态、优先数和资源需求情况。对于动态优先数,还须按一定算法定期地对它
22、进行计算。*确定调度算法,决定把处理机分配给哪个进程和分配多长时间。某个进程正在运行时,如果有优先级更高的进程进入就绪队列,是继续运行原进程还是分配处理机给优先级更高的进程,由调度方式确定。*分配处理机给进程。,5.进程调度方式 所谓进程调度方式,是指当一个进程正在处理机上运行时,若有某个更为紧迫或更为重要的进程需要进行处理,或者说,如果有更高优先级的进程进入就绪队列时,如何分配处理机。通常有两种进程调度方式:,通常有两种进程调度方式:*非剥夺方式 进程一旦获得CPU就一直执行,直到完成或发生某事件(如请求I/O服务、P操作等)而阻塞,其它的进程方可运行。这种调度方式简单,容易实现,但是一个进
23、程的运行往往可能导致多数进程长期得不到服务,所以非抢占方式不适宜有多个竞争用户的通用系统。*剥夺方式 允许在逻辑上可执行的进程暂时放弃CPU。抢占方式的调度策略(如时间片轮转、优先级等)允许非执行进程在满足某种条件时抢占执行进程所占用的CPU。,6.进程调度的目标 进程调度要满足两个方面的目标:*满足用户的需求-交互式用户对响应时间的要求;-批处理系统用户对作业周转时间的要求;-实时系统对任务截止时间的要求。*满足系统的需求-系统吞吐量;-处理机利用率;-各类资源的平衡使用;-公平性;-优先级。,7.进程调度原则 A.面向用户的原则*响应时间 响应时间:是指从用户通过键盘提交一个请求开始,直到
24、系统首次产生响应为止的时间。常用于评价分时系统的性能。响应时间包括3个部分时间的总和:(1)从键盘输入的请求信息传送到处理机的时间;(2)处理机对请求信息进行处理的时间;(3)将响应结果发送到输出终端的时间。,*周转时间 周转时间:指从作业提交给系统开始,到作业完成为止的这段时间间隔,也叫作业周转时间。常用于批处理系统的性能。周转时间包括4个部分时间的总和:(1)作业在外存排队等待调度的时间;(2)进程在就绪队列中等待调度的时间(可能多次等待);(3)进程被处理机执行的时间。(4)等待I/O操作完成的时间。,*截止时间 截止时间:指实时系统中,某任务必须开始执行的最迟时间,或必须完成的最迟时间
25、。常用于评价实时系统的性能。,B.面向系统的原则*系统吞吐量 系统吞吐量:指单位时间内系统所完成的作业数。常用于评价批处理系统的性能。*处理机利用率 处理机利用率:指处理机被使用的频率。对于衡量大中型机的多用户系统是一个重要的指标。对于但用户微机或某些实时系统,则并非很重要。,*各种资源的平衡使用 多道程序系统的目标之一就是提高系统资源的利用率,因此,调度算法有责任是系统中的各种资源都尽量处于忙碌状态。该原则同时适合中级调度和高级调度。*公平性 调度算法应该对所有进程公平,而不偏袒任何进程。,*优先权 优先权是调度算法需要考虑的一个重要因素。优先权高的进程应该优先调度。确定优先权的高低的方式:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 原理 实例 分析 PPT 课件 第二 进程 管理
链接地址:https://www.31ppt.com/p-6049810.html