《进程描述和控制》PPT课件.ppt
《《进程描述和控制》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《进程描述和控制》PPT课件.ppt(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二部分第二部分 进程管理进程管理 为了提高计算机资源的利用率,采用多道程序设为了提高计算机资源的利用率,采用多道程序设计技术,计技术,程序并发执行环境带来了结果不可再现性的程序并发执行环境带来了结果不可再现性的问题问题。为此第二部分引入进程概念用以描述程序并发。为此第二部分引入进程概念用以描述程序并发执行,进而深入分析进程的控制、同步、通讯和死锁执行,进而深入分析进程的控制、同步、通讯和死锁等,用以解决程序并发执行带来的问题,使多道程序等,用以解决程序并发执行带来的问题,使多道程序有效执行。有效执行。并发性是操作系统最重要的特征并发性是操作系统最重要的特征,进程是,进程是操作系统最基本最重要
2、的概念,进程管理是操作系统操作系统最基本最重要的概念,进程管理是操作系统的重点和难点。的重点和难点。2/61教学要求教学要求n熟悉熟悉进程引入的必要性;熟练掌握进程的定义和特征,熟练掌进程引入的必要性;熟练掌握进程的定义和特征,熟练掌握进程的三个基本状态、状态的转换和状态转换的关系握进程的三个基本状态、状态的转换和状态转换的关系,熟练熟练掌握进程存在的唯一实体掌握进程存在的唯一实体-进程控制块,进程控制块,熟悉熟悉进程上下文。进程上下文。n了解了解线程的概念线程的概念、引入线程的好处、引入线程的好处和线程的应用和线程的应用 。n熟悉熟悉进程间制约关系,掌握临界资源和临界区概念,掌握进程进程间制
3、约关系,掌握临界资源和临界区概念,掌握进程同步和进程同步机制,同步和进程同步机制,熟悉利用软件、熟悉利用软件、硬件技术解决进程同步硬件技术解决进程同步机制。机制。n熟练掌握信号量机制熟练掌握信号量机制( (记录型信号量和记录型信号量和waitwait、signalsignal操作操作) )的概的概念、定义和实质,熟练掌握利用信号量机制实现进程互斥和同念、定义和实质,熟练掌握利用信号量机制实现进程互斥和同步。掌握利用信号量解决生产者步。掌握利用信号量解决生产者- -消费者等经典同步问题,掌消费者等经典同步问题,掌握进程同步分析方法。握进程同步分析方法。n掌握掌握死锁的定义和产生死锁的原因,死锁的
4、定义和产生死锁的原因,掌握掌握死锁的四个必要条件;死锁的四个必要条件;熟悉熟悉预防死锁的方法,熟练掌握银行家算法及其在死锁避免中预防死锁的方法,熟练掌握银行家算法及其在死锁避免中的应用;掌握资源分配图的简化及其死锁定理,的应用;掌握资源分配图的简化及其死锁定理,熟悉熟悉解除死锁解除死锁的方法。的方法。3/61进程描述和控制进程描述和控制第第 3 章章4/61多道程序操作系统设计要求多道程序操作系统设计要求n操作系统必须操作系统必须交替执行多个进程交替执行多个进程,在合理的响应,在合理的响应时间内使处理器的利用率最大化时间内使处理器的利用率最大化n操作系统系统必须按照特定的策略给进程分配资操作系
5、统系统必须按照特定的策略给进程分配资源,并需要避免死锁和饿死的情况源,并需要避免死锁和饿死的情况n进程间需要进行正确的通信进程间需要进行正确的通信5/61为什么要引入为什么要引入进程的概念?进程的概念?n为了提高资源利用率,系统采用多道程序设计,程为了提高资源利用率,系统采用多道程序设计,程序执行环境由顺序执行变为并发执行。序执行环境由顺序执行变为并发执行。n由于程序在并发执行时,可能会造成执行结果的不由于程序在并发执行时,可能会造成执行结果的不可再现,所以用可再现,所以用“程序程序”这个概念已无法描述程序这个概念已无法描述程序的并发执行,所以必须引入新的概念的并发执行,所以必须引入新的概念-
6、进程进程来描来描述程序的并发执行,并要对进程进行必要的管理,述程序的并发执行,并要对进程进行必要的管理,以保证进程在并发执行时结果可再现。以保证进程在并发执行时结果可再现。6/61什么叫进程?什么叫进程?n进程进程( (Process)定义:定义:“可并发执行的程序在一个可并发执行的程序在一个数据集合上的运行过程数据集合上的运行过程”。n一段可执行的程序一段可执行的程序n计算机中正在运行的程序的一个实例计算机中正在运行的程序的一个实例n可以分配给处理器并由处理器执行的一个实体可以分配给处理器并由处理器执行的一个实体n由一个顺序的执行线程、一个当前的状态以及由一个顺序的执行线程、一个当前的状态以
7、及一组相关的系统资源所描述的活动单元一组相关的系统资源所描述的活动单元7/61进程的进程的特征特征l动态性动态性:动态性是进程的最基本特征动态性是进程的最基本特征。它由创建而产生、。它由创建而产生、由调度而执行,因得不到资源而暂停,并由撤消而死亡。由调度而执行,因得不到资源而暂停,并由撤消而死亡。而程序是静态的,它是存放在介质上一组有序指令的集而程序是静态的,它是存放在介质上一组有序指令的集合,无运动的含义。合,无运动的含义。l并发性并发性:并发性是进程的重要特征。并发性指多个进程:并发性是进程的重要特征。并发性指多个进程实体同存于内存中,能在一段时间内同时运行。实体同存于内存中,能在一段时间
8、内同时运行。l独立性独立性:进程是一个能独立运行的基本单位,即是一个:进程是一个能独立运行的基本单位,即是一个独立获得资源和独立调度的单位独立获得资源和独立调度的单位l异步性异步性:进程按各自独立的不可预知的速度向前推进,:进程按各自独立的不可预知的速度向前推进,即进程按异步方式进行,正是这一特征,将导致程序执即进程按异步方式进行,正是这一特征,将导致程序执行的不可再现性,因此行的不可再现性,因此OSOS必须采用某种措施来限制各进必须采用某种措施来限制各进程推进序列以保证各程序间正常协调运行。程推进序列以保证各程序间正常协调运行。l结构特征结构特征:从结构上,:从结构上,进程实体由程序段、数据
9、段和进进程实体由程序段、数据段和进程控制块三部分组成程控制块三部分组成。8/61进程控制块进程控制块( PCB)n包含描述进程的基本信息包含描述进程的基本信息n标识符标识符(Identifier )n进程状态进程状态(State )n优先级优先级(Priority )n程序计数器程序计数器(Program counter )n内存指针内存指针(Memory pointers )n上下文数据上下文数据(Context data ):指进程执行时处理器的指进程执行时处理器的寄存器中的数据。寄存器中的数据。nI/O状态信息状态信息(I/O status information )n统计信息统计信息(
10、Accounting information )n由操作系统创建并管理由操作系统创建并管理9/61进程运行轨迹进程运行轨迹(进程内各指令的执行序列)进程内各指令的执行序列)10/6111/61两状态进程模型两状态进程模型n系统中的进程处于两种状态之一:系统中的进程处于两种状态之一:n运行态(运行态(Running)n未运行态(未运行态(Not-running)n操作系统必须知道进程当前处于哪种状态操作系统必须知道进程当前处于哪种状态中,以便于跟踪进程的执行中,以便于跟踪进程的执行PCB。12/61未运行态进程队列未运行态进程队列当操作系统创建一个新的进程时,该进程的当操作系统创建一个新的进程时
11、,该进程的状态初始化为状态初始化为未运行态未运行态,并加入到未行态队,并加入到未行态队列中。列中。13/61进程创建进程创建 创建新进程时,操作系统需要建立管理该进程的数创建新进程时,操作系统需要建立管理该进程的数据结构(据结构(PCB),并在主存中给它分配地址空间。),并在主存中给它分配地址空间。14/61进程终止进程终止15/61Q1:执行到:执行到40条指令时,条指令时,两状态模型两状态模型下,在非运下,在非运行状态队列行状态队列中时间最久中时间最久的是哪个进的是哪个进程?程?Q2:调度的:调度的是哪个进程?是哪个进程?为什么?为什么?16/61进程状态模型改进进程状态模型改进n未运行状
12、态未运行状态n就绪状态(就绪状态(Ready to execute)n阻塞状态(阻塞状态(Blocked)n等待等待 I/O操作完成操作完成n如果使用单个未运行队列,分派程序不能只考虑如果使用单个未运行队列,分派程序不能只考虑选择队列中等待时间最久的进程,而是查找那些选择队列中等待时间最久的进程,而是查找那些未被阻塞且在队列中等待时间最久的进程未被阻塞且在队列中等待时间最久的进程。n每次遍历队列需要花费大量的时间,如何解每次遍历队列需要花费大量的时间,如何解决?决?n采用两个不同的队列采用两个不同的队列17/61五状态模型五状态模型n运行运行(Running):):占有占有CPUn就绪就绪(R
13、eady ):):除了除了CPU,其它所需资源,其它所需资源都已占有,一旦得到处理机即可运行,则称都已占有,一旦得到处理机即可运行,则称此进程处于就绪状态此进程处于就绪状态n阻塞阻塞(Blocked ):):等待某些事件等待某些事件n新建新建(New ): 已经创建了已经创建了PCB并保存在主存并保存在主存中,但程序代码和相关数据还没有读入主存中,但程序代码和相关数据还没有读入主存n退出退出(Exit )18/61五状态进程模型五状态进程模型19/61进程状态的转换进程状态的转换l就绪态就绪态运行态:当处理机空闲时,进程调度程序必运行态:当处理机空闲时,进程调度程序必将处理机分配给一个处于就绪
14、态的进程将处理机分配给一个处于就绪态的进程 ,该进程便由就绪,该进程便由就绪态转换为运行态。态转换为运行态。l运行态运行态阻塞态:处于运行态的进程在运行过程中需阻塞态:处于运行态的进程在运行过程中需要等待某一事件发生后,才能继续运行,则该进程放弃处要等待某一事件发生后,才能继续运行,则该进程放弃处理机,从运行态转换为阻塞态。理机,从运行态转换为阻塞态。l阻塞态阻塞态就绪态:处于阻塞态的进程,若其等待的事就绪态:处于阻塞态的进程,若其等待的事件已经发生,进程由阻塞态转换为就绪态。件已经发生,进程由阻塞态转换为就绪态。l运行态运行态就绪态:处于运行状态的进程在其运行过程就绪态:处于运行状态的进程在
15、其运行过程中,因分给它的处理机时间片已用完,而不得不让出(被中,因分给它的处理机时间片已用完,而不得不让出(被抢占)处理机,于是进程由运行态转换为就绪态。抢占)处理机,于是进程由运行态转换为就绪态。n阻塞态阻塞态运行态和就绪态运行态和就绪态阻塞态这二种状态转阻塞态这二种状态转换不可能发生。换不可能发生。20/61系统中各进程状态管理系统中各进程状态管理 n处于运行态进程处于运行态进程: :如系统有一个处理机,则在任如系统有一个处理机,则在任何一时刻,最多只有一个进程处于运行态。何一时刻,最多只有一个进程处于运行态。n处于就绪态进程处于就绪态进程: :一般处于就绪态的进程按照一一般处于就绪态的进
16、程按照一定的算法(如先来的进程排在前面,或采用优先定的算法(如先来的进程排在前面,或采用优先权高的进程排在前面)排成一个就绪队列。权高的进程排在前面)排成一个就绪队列。n处于阻塞态进程处于阻塞态进程: :处于阻塞态的进程排在阻塞队处于阻塞态的进程排在阻塞队列中。列中。21/61两个队列:就绪队列和阻塞队列两个队列:就绪队列和阻塞队列Q1: 当某个等待的事件完成了,操作系统该如何当某个等待的事件完成了,操作系统该如何操作?硬件上如何改善?操作?硬件上如何改善?Q2: 如果操作系统考虑进程的优先级,则操作系如果操作系统考虑进程的优先级,则操作系统该将统该将CPU分派给哪种进程?硬件上如何实现?分派
17、给哪种进程?硬件上如何实现?22/61多个阻塞队列多个阻塞队列当事件当事件n发生时,发生时,在事件在事件n等待队列等待队列中的所有进程都移中的所有进程都移进就绪队列中进就绪队列中23/61在一个多道程序设计的系统中,各进程状态转换会互在一个多道程序设计的系统中,各进程状态转换会互相影响。相影响。n例如系统中一个运行态的进程例如系统中一个运行态的进程A A发生发生I/OI/O请求后要等请求后要等待待I/OI/O完成,它的状态也由完成,它的状态也由运行态转换为阻塞态运行态转换为阻塞态;n此时进程调度程序就会按照一定的算法,在就绪队此时进程调度程序就会按照一定的算法,在就绪队列中选一个进程列中选一个
18、进程B B,将处理机分给它,该将处理机分给它,该B B进程的状进程的状态也由态也由就绪态转换为运行态就绪态转换为运行态。n如一个进程如一个进程C C等待的事件完成,则它的状态由等待的事件完成,则它的状态由阻塞阻塞态转换为就绪态态转换为就绪态,它也从阻塞队列中抽出插入就绪,它也从阻塞队列中抽出插入就绪队列中。队列中。n如进程如进程 C C从阻塞态转换为就绪态时,有一个进程从阻塞态转换为就绪态时,有一个进程D D在在CPUCPU上运行。而系统采用抢占式调度算法,进程上运行。而系统采用抢占式调度算法,进程C C的优先级又高于正在的优先级又高于正在CPUCPU上运行的进程上运行的进程D D的优先级,的
19、优先级,则要发生抢占调度。即接下去的操作时由进程调度则要发生抢占调度。即接下去的操作时由进程调度程序将正在运行的进程程序将正在运行的进程D D由由运行态转换为就绪态运行态转换为就绪态,插入就绪队列。插入就绪队列。24/61 例例11 一个只有一个处理机的系统中,一个只有一个处理机的系统中,OSOS的进程有运的进程有运行、就绪、阻塞三个基本状态。假如某时刻该系统中行、就绪、阻塞三个基本状态。假如某时刻该系统中有有1010个进程并发执行,在略去调度程序所占用时间情个进程并发执行,在略去调度程序所占用时间情况下试问:况下试问:这时刻系统中处于运行态的进程数最多几个?最少几个这时刻系统中处于运行态的进
20、程数最多几个?最少几个这时刻系统中处于就绪态的进程数最多几个?最少几个这时刻系统中处于就绪态的进程数最多几个?最少几个这时刻系统中处于阻塞态的进程数最多几个?最少几个?这时刻系统中处于阻塞态的进程数最多几个?最少几个? 解:因为系统中只有一个处理机,所以某时刻处于运解:因为系统中只有一个处理机,所以某时刻处于运行态的进程数最多只有一个。而最少可能为行态的进程数最多只有一个。而最少可能为0 0,此时其,此时其它它1010个进程一定全部排在各阻塞队列中,在就绪队列个进程一定全部排在各阻塞队列中,在就绪队列中没有进程。而某时刻处于就绪态的进程数最多只有中没有进程。而某时刻处于就绪态的进程数最多只有9
21、 9个,不可能出现个,不可能出现1010个情况,因为一旦个情况,因为一旦CPUCPU有空,调度程有空,调度程序马上调度,当然这是在略去调度程序调度时间时考序马上调度,当然这是在略去调度程序调度时间时考虑。处于阻塞态的进程数最少是虑。处于阻塞态的进程数最少是0 0个。个。25/61n例例2:某进程所要求的一次打印输出结束后,:某进程所要求的一次打印输出结束后,其进程的状态将从(其进程的状态将从( ) A.运行态到就绪态运行态到就绪态 B.运行态到阻塞态运行态到阻塞态 C.阻塞态到就绪态阻塞态到就绪态 D.就绪态到阻塞态就绪态到阻塞态26/61挂起挂起 (Suspended) 进程进程n处理器运行
22、的速度远远地快于处理器运行的速度远远地快于I/O设备,运行一段时设备,运行一段时间后会出现所有进程都处于阻塞态(等待间后会出现所有进程都处于阻塞态(等待I/O操作),操作),就绪态进程数为就绪态进程数为0,此时处理器必须等待。,此时处理器必须等待。n如何解决?如何解决?n扩充内存扩充内存n将进程交换到磁盘,释放内存空间将进程交换到磁盘,释放内存空间n当进程被交换到磁盘上,则该进程从阻塞状态当进程被交换到磁盘上,则该进程从阻塞状态转换到转换到挂起状态挂起状态27/61一个挂起状态一个挂起状态28/61两个挂起状态两个挂起状态n阻塞阻塞/挂起挂起(Blocked/Suspend )n就绪就绪/挂起
23、挂起(Ready/Suspend )29/61挂起状态的特征挂起状态的特征进程处于挂起状态是指进程处于挂起状态是指该进程不在主存中该进程不在主存中。 n进程不能立即执行;进程不能立即执行;n进程可能在等待某个事件,也可能不等待事件,进程可能在等待某个事件,也可能不等待事件,即进程挂起与否与进程阻塞与否没有必然的联系。即进程挂起与否与进程阻塞与否没有必然的联系。30/61例题例题1: 为什么要引入进程概念为什么要引入进程概念? ?进程的基本特征是什么进程的基本特征是什么 ? ?它与程序有何区别它与程序有何区别? ?2 2:在操作系统中进程是一个具有一定独立功能程序:在操作系统中进程是一个具有一定
24、独立功能程序在某个数据集合上的一次在某个数据集合上的一次A A,进程是一个进程是一个B B概念,而程序是一个概念,而程序是一个C C的概念。的概念。在一单处理机中,若有在一单处理机中,若有5 5个用户进程,在非管态的个用户进程,在非管态的某一时刻,处于就绪状态的用户进程最多有某一时刻,处于就绪状态的用户进程最多有D D个,最少有个,最少有E E个。个。 A A:(1)(1)并发活动;并发活动;(2)(2)运行活动运行活动;(3)(3)单独操作;单独操作;(4)(4)关联操作。关联操作。 B B,C C:(1)(1)组合态;组合态;(2)(2)关联态;关联态;(3)(3)运行态运行态;(4)(4
25、)等等待态待态;(5)(5)静态静态;(6)(6)动态。动态。 D D,E E:(1)1(1)1;(2)2(2)2;(3)3(3)3;(4)4(4)4;(5)5(5)5;(6)0(6)0。31/613 :我们常用进程状态转换图来说明处理机管理的许多我们常用进程状态转换图来说明处理机管理的许多问题问题, ,例如下列进程状态转换图,请回答例如下列进程状态转换图,请回答: :(1 1)什么)什么 事件事件 引起每次显著的状态转换引起每次显著的状态转换? ? (2 2)在什么情况下)在什么情况下, ,如果有的话如果有的话, ,将发生下述因果转换将发生下述因果转换? ? a. a. -; b. ; b.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 进程描述和控制 进程 描述 控制 PPT 课件
限制150内