操作系统_进程管理.ppt
《操作系统_进程管理.ppt》由会员分享,可在线阅读,更多相关《操作系统_进程管理.ppt(218页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章 进程管理进程管理内容提要:内容提要:进程的概念及描述进程的概念及描述进程的状态转换及控制进程的状态转换及控制进程的互斥与同步进程的互斥与同步进程通信进程通信死锁问题死锁问题线程的概念线程的概念3.1 3.1 进程的概念进程的概念操作系操作系统的任的任务?使用使用户充分、有效地利用系充分、有效地利用系统资源。源。如何如何实现?通通过程序的并程序的并发执行以及行以及资源共享来源共享来实现为何要何要这样做?做?程序的顺序执行程序的顺序执行每每个个指指令令周周期期开开始始时,依依据据在在程程序序计数数器器中中的的指指令地址从存令地址从存储器中取一条指令器中取一条指令在在取取指指完完成成后
2、后根根据据指指令令类别自自动将将程程序序计数数器器的的值变成下条指令的地址,自增成下条指令的地址,自增1 1取到的指令放在指令寄存器中取到的指令放在指令寄存器中处理器解理器解释并并执行所要求的行所要求的动作作形式化描述:形式化描述:Repeat IR M pcpc pc+1 Execute(instruction in IR)Until CPU halt一个具有独立功能的程序独占一个具有独立功能的程序独占处理机直至理机直至最最终结束的束的过程称程称为程序的程序的顺序序执行行程序的程序的顺序序执行特点:行特点:(1)顺序性序性程序程序顺序序执行行时,其,其执行行过程可看作一系列程可看作一系列严格
3、按格按程序程序规定的状定的状态转移移过程。程。(2)封封闭性性程序程序执行得到的最行得到的最终结果由果由给定的初始条件决定,定的初始条件决定,不受外界因素的影响。不受外界因素的影响。(3)可再可再现性性只要只要输入的初始条件相同,入的初始条件相同,则无无论何何时重复重复执行行该程序都会得到相同的程序都会得到相同的结果。果。程序的并发执行程序的并发执行并发执行:并发执行:在在一一定定时间内内物物理理机机器器上上有有两两个个或或两两个个以以上上的的程程序序同同处于于开开始始运运行行但但尚尚未未结束束的状的状态,并且次序不是事先确定的,并且次序不是事先确定的BAABBAAB特征:特征:(1 1)程序
4、结果的不可再现性)程序结果的不可再现性 并并发程程序序执行行的的结果果与与其其执行行的的相相对速速度度有关,是不确定的有关,是不确定的(2 2)在并发环境下程序的执行是间断性的)在并发环境下程序的执行是间断性的 执行行停停执行行(3 3)资源共享)资源共享系统中资源被多个进程使用系统中资源被多个进程使用(4 4)独立性和制约性)独立性和制约性独立的相对速度、起始时间独立的相对速度、起始时间 进程之间可相互作用(相互制约)进程之间可相互作用(相互制约)可分为直接作用和间接作用可分为直接作用和间接作用引入并发的目的:引入并发的目的:引引入入并并发是是为了了提提高高资源源利利用用率率,从从而而提高系
5、提高系统效率效率并并发与并行概念的区与并行概念的区别:concurrency,parallelconcurrency,parallel在顺序环境下在顺序环境下 CPUCPU利用率利用率=40/80=50%=40/80=50%DEV1 DEV1利用率利用率=15/80=18.75%=15/80=18.75%DEV2 DEV2利用率利用率=25/80=31.25%=25/80=31.25%t(s)t(s)CPU DEV1 DEV2 CPU CPU A 10 15 20 3040 DEV2 CPU DEV 1 DEV2 CPU B 1020 30 40 25例:例:例:例:在并在并发环境下境下 CP
6、UCPU利用利用 =89%=89%DEV1DEV1并并发环境下利用境下利用 =33%=33%DEV2DEV2并并发环境下利用境下利用 =66%=66%A AB BCPUCPUDEV1DEV1DEV2DEV2CPUCPUCPUCPU10101515202030304040 t(s)t(s)2525DEV1DEV1CPUCPU35354545DEV2DEV2CPUCPUDEV2DEV2思考思考 若程序若程序Pa和和Pb单独独执行行时分分别用用Ta和和Tb,Ta=1小小时,Tb=1.5小小时,其中,其中处理器工作理器工作时间分分别为ta=18分分钟,tb=27分分钟,如果采,如果采用多道程序用多道程
7、序设计方法,方法,让pa、pb并并发执行,行,假定假定处理器利用率到达理器利用率到达50%,另加,另加15分分钟系系统开开销,请问系系统效率能提高多少?效率能提高多少?并并发执行的条件行的条件(Bernstein条件)条件):对于于语句句S1和和S2,需同,需同时满足:足:R(S1)W(S2)=,W(S1)R(S2)=,W(S1)W(S2)=顺序程序和并发程序的执行相比,(顺序程序和并发程序的执行相比,()。)。A A基本相同基本相同 B B、有点不同、有点不同 C C并发程序执行总体上执行时间快并发程序执行总体上执行时间快 D D、顺序程序执行总体上执行时间快、顺序程序执行总体上执行时间快
8、并发程序打破了顺序程序的哪些特点()并发程序打破了顺序程序的哪些特点()A A、顺序性、顺序性 B、可再现性、可再现性 C并发性并发性 D D、封闭性、封闭性 E E、相关性、相关性操作系操作系统如何如何实现程序的并程序的并发和和资源的共享呢?源的共享呢?考虑因素:考虑因素:在多道程序在多道程序在多道程序在多道程序环环境下如何向用境下如何向用境下如何向用境下如何向用户户提供服提供服提供服提供服务务在并在并在并在并发发程序之程序之程序之程序之间间如何正确如何正确如何正确如何正确传递传递消息(通消息(通消息(通消息(通讯讯)如如如如何何何何对对CPUCPUCPUCPU进进行行行行调调度度度度,保保
9、保保证证每每每每个个个个用用用用户户相相相相对对公公公公平平平平地地地地得得得得到到到到CPUCPUCPUCPU引入一个分配和管理系引入一个分配和管理系统资源的基本源的基本单位位进程的定义进程的定义进程是可以并行程是可以并行执行的行的计算部分算部分进程是一个独立的可以程是一个独立的可以调度的活度的活动进程是一抽象程是一抽象实体,当它体,当它执行某个任行某个任务时,将要分配和将要分配和释放各种放各种资源源 行行为的的规则叫程序,程序在叫程序,程序在处理机上理机上执行行时的活的活动称称为进程程进程是具有独立功能的程序关于某个数据进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资
10、源集合上的一次运行活动,是系统进行资源分配和调度的独立单位分配和调度的独立单位并并发执行的程序在行的程序在执行行过程中分配和管程中分配和管理理资源的基本源的基本单位位进程何时创建进程何时创建?提交一个批提交一个批处理作理作业用用户登登录由由OSOS创建建,用用以以向向一一用用户提提供供服服务(如如:打印文件打印文件)由已存在的一由已存在的一进程程创建建一个用一个用户程序可程序可创建成多个建成多个进程程进程何时中止进程何时中止?批批处理作理作业发出出暂停(停(HaltHalt)指令指令用用户退出登退出登录进程程执行一中止服行一中止服务请求求出出错及失及失败因素因素进程中止的原因进程中止的原因正常
11、正常结束束给定定时限到限到缺少内存缺少内存存存储器出界器出界保保护性出性出错例子例子:写只写只读文件文件算算术错超出超出时间进程等待超程等待超过对某事件的最大某事件的最大值进程中止的原因(续进程中止的原因(续1)I/O I/O 失失败无效指令无效指令如如试图执行数据行数据特特权指令指令操作系操作系统干干预如当死如当死锁发生生时父父进程程请求中止某一子求中止某一子进程程父父进程中止,所以子程中止,所以子进程也中止程也中止程序与进程之间的区别:程序与进程之间的区别:进程更能真程更能真实地描述并地描述并发,而程序不能,而程序不能程序是静程序是静态的,的,进程是程是动态的的进程程有有生生命命周周期期,
12、有有诞生生有有消消亡亡,短短暂的的;而程序是相而程序是相对长久的久的一个程序可一个程序可对应多个多个进程,反之亦然程,反之亦然进程具有程具有创建其他建其他进程的功能,而程序没有程的功能,而程序没有进程的分类:进程的分类:系统进程系统进程用户进程用户进程(系统进程优先于用户进程)(系统进程优先于用户进程)进程和程序的本质区别是(进程和程序的本质区别是()。)。A存储在内存和外存存储在内存和外存 B、顺序和非顺序执行机器指令、顺序和非顺序执行机器指令C分时使用和独占使用计算机资源分时使用和独占使用计算机资源 D、动态和静态特征、动态和静态特征3.2 3.2 进程的状态及其转换进程的状态及其转换进程
13、的三种基本状态:进程的三种基本状态:进进程程在在生生命命消消亡亡前前处处于于且且仅仅处处于于三三种种基基本本状态之一状态之一不同系统设置的进程状态数目不同不同系统设置的进程状态数目不同运行态(运行态(RunningRunning):):进程占有进程占有CPUCPU,并在,并在CPUCPU上运行上运行就绪态(就绪态(ReadyReady):):一一个个进进程程已已经经具具备备运运行行条条件件,但但由由于于无无CPUCPU暂暂时时不不能能运运行行的的状状态态(当当调调度度给给其其CPUCPU时时,立立即即可可以以运行)运行)等待态(等待态(BlockedBlocked):阻塞态、挂起态、封锁态):
14、阻塞态、挂起态、封锁态 冻结态、睡眠态冻结态、睡眠态指指进进程程因因等等待待某某种种事事件件的的发发生生而而暂暂时时不不能能运运行行的的状态状态 (即使(即使CPUCPU空闲,该进程也不可运行)空闲,该进程也不可运行)已已经获得得除除()以以外外的的所所有有运运行行所所需需资源源的的进程程处于就于就绪状状态。A存存储器器 B、打印机、打印机 C、CPU D、磁、磁盘空空间在在单处理理机机系系统中中,处于于运运行行状状态的的进程程()。)。A只只有有一一个个 B、可可以以有有多多个个 C不不能被挂起能被挂起 D、必需在、必需在执行完后才能被撤下行完后才能被撤下一一进程在某一程在某一时刻具有(刻具
15、有()。)。A一种状一种状态 B、二种状、二种状态 C、三种状、三种状态 D、四种状、四种状态如如果果某某一一进程程在在运运行行时,因因某某种种原原因因暂停停,此此时将脱离运行状将脱离运行状态,而,而进入(入()。)。A、自由状、自由状态 B、停止状、停止状态 C、阻塞状、阻塞状态 D、静止状、静止状态运行运行就绪就绪等待等待进程状程状态转换:在在进进程程运运行行过过程程中中,由由于于进进程程自自身身进进展展情情况况及及外外界界环环境境的的变变化化,这这三三种种基基本本状状态态可可以以依依据据一一定定的条件相互转换的条件相互转换 就绪就绪运行运行 运行运行就绪就绪 运行运行等待等待 等待等待就
16、绪就绪进程转换进程转换就就绪 -运行运行调度程序度程序选择一个新的一个新的进程运行程运行运行运行 -就就绪运行运行进程用完了程用完了时间片片运运行行进程程被被中中断断,因因为一一高高优先先级进程程处于于就就绪状状态进程转换(续进程转换(续1)运行运行 -等待等待当一当一进程必程必须等待等待时OSOS尚未完成服务尚未完成服务对一资源的访问尚不能进行对一资源的访问尚不能进行初始化初始化I/O I/O 且必须等待结果且必须等待结果等待某一进程提供输入等待某一进程提供输入 (IPC)(IPC)等待等待 -就就绪当所等待的事件当所等待的事件发生生时进程程执行行时的的间断断性性,决决定定了了进程程可可能能
17、具具有有多多种种状状态。进程程的的基基本本状状态有有三三种种,在在分分时系系统中中,当当一一个个进程程拥有有的的时间片片到到时,则该进程程即即由由1进入入2。如如果果出出现因因某某种种原原因因是是的的处理理机机空空闲时,则需需要要从从就就绪队列列中中选择一一进程程,并并将将处理理机机分分配配给它它,此此时该进程程进入入3,这个个过程程式式又又4来来完成。完成。123依依次次选():A、就就绪状状态 B、静静止止状状态 C、阻塞状、阻塞状态 D、运行状、运行状态 4():A、进程程控控制制程程序序 B、资源源分分配配程程序序 C、进程程调度程序度程序 D、处理机分配程序理机分配程序进程状态转换例
18、子进程状态转换例子进程1进程2进程3调度模块运行等待就绪【思考题思考题】1 1如如果果系系统统中中有有N N个个进进程程,运运行行的的进进程程最最多多几几个个,最最少少几几个个;就就绪绪进进程程最最多多几几个个最最少少几几个个;等等待待进程最多几个,最少几个?进程最多几个,最少几个?2.2.举出日常生活中类似进程的例子举出日常生活中类似进程的例子其他状态:其他状态:创建状态,终止状态创建状态,终止状态挂起状态挂起状态创建创建(新新new)状态状态OS OS 已完成已完成为创建一建一进程所必要的工作程所必要的工作已构造了进程标识符已构造了进程标识符已创建了管理进程所需的表格已创建了管理进程所需的
19、表格但但还没有允没有允许执行行该进程程 (尚未同意尚未同意)因为资源有限因为资源有限终止(退出终止(退出exit)状态状态中止后中止后进程移入程移入该状状态它不再有它不再有执行行资格格供供统计进程去收集改程去收集改进程的有关信息程的有关信息当数据不再需要后,当数据不再需要后,进程程(和它的表格和它的表格)被被删除除五状态进程模型五状态进程模型挂起状态挂起状态满足以下需要:满足以下需要:调节负载,节省内存调节负载,节省内存父进程考查和修改子进程父进程考查和修改子进程操作系统检查资源使用情况操作系统检查资源使用情况终端用户暂停和修改程序终端用户暂停和修改程序七状态进程模型七状态进程模型活动活动挂起
20、挂起事件事件发生发生事件事件发生发生等待等待事件事件挂起挂起调度调度超时超时释放释放活动活动挂起挂起新的状态转换新的状态转换阻塞阻塞 -阻塞挂起阻塞挂起为缓和内存和内存紧张,将阻塞状,将阻塞状态进程程换至外存上至外存上阻塞挂起阻塞挂起 -就就绪挂起挂起当等待的事件当等待的事件发生生时转换,但,但进程仍不能被程仍不能被调度度就就绪挂起挂起-就就绪当内存中没有就当内存中没有就绪进程程时,此,此时进程可以被程可以被调度度就就绪-就就绪挂起挂起 (较少少见)当当没没有有被被阻阻塞塞的的进程程,而而为了了性性能能上上的的考考虑,必必须释放一些内存放一些内存时下列下列进程状程状态的的转换中,(中,()不正
21、确的。)不正确的。A就就绪-运行运行 B、运行运行-就就绪 C就就绪-阻塞阻塞 D、阻塞、阻塞-就就绪 E、阻塞、阻塞-运行运行下下列列()情情况况的的进程程切切换一一定定会会引引起起另另外外进程程的的状状态改改变(假假设系系统中中并并发执行行的的进程数大于程数大于1)。)。A、运行、运行-阻塞阻塞 B、运行运行-就就绪 C、运行、运行-完成完成 D、阻塞、阻塞-就就绪、E、就、就绪-阻塞阻塞 3.3 3.3 进程控制块进程控制块(Process Control Block)概念:概念:系系统为了了管管理理进程程设置置的的一一个个专门的的数数据据结构构,用用它它来来记录进程程的的外外部部特特征
22、征,描描述述进程的运程的运动变化化过程程 系系统利利用用PCBPCB来来控控制制和和管管理理进程程,所所以以PCBPCB是系是系统感知感知进程存在的唯一程存在的唯一标志志 进程与程与PCBPCB是一一是一一对应的的进程映象进程映象 (进程要素进程要素)用用户程序程序用用户数据数据栈用于用于过程程调用和参数用和参数传递进程控制程控制块PCB(PCB(执行上下文行上下文)控制控制进程所需的数据程所需的数据(进程属性程属性),包括,包括:进程标识符信息进程标识符信息处理器状态信息处理器状态信息进程控制信息进程控制信息PCBPCB的内容:的内容:调度信息:度信息:进程程名名;进程程的的内内部部标识;用
23、用户名名;进程程状状态;进程程优先先级;进程程的的存存储信信息息(起起始始地地址址,长度度);进程程资源源清清单;进程程家家族族关关系系;进程程的的队列列指指针;进程程的的消消息息队列指列指针;进程当前打开的文件程当前打开的文件.现场信息:信息:记录了重要的寄存器;了重要的寄存器;(虚虚)时钟等内容等内容进程标识符进程标识符 (在在PCBPCB中中)可使用一些数字可使用一些数字标识符符统一一进程程标识符符 (必然的必然的)索引至索引至 (直接或间接直接或间接)主进程表主进程表用用户标识符符与某个作业对应的用户与某个作业对应的用户创建本建本进程的某个程的某个进程的程的标识符符处理器状态信息处理器
24、状态信息 (在在PCBPCB中中)处理器寄存器内容理器寄存器内容用用户可可见寄存器寄存器控制和状控制和状态寄存器寄存器栈指指针程序状程序状态字字 (PSW)(PSW)包含状包含状态信息信息例子例子:在在PentiumPentium机中的机中的EFLAGSEFLAGS寄存器寄存器进程控制信息进程控制信息 (在在PCBPCB中中)调度和状度和状态信息信息进程状程状态 (如如:运行,就运行,就绪,阻塞,阻塞.).)进程程优先先级该进程在等待的事件程在等待的事件 (若被阻塞若被阻塞)数据数据结构信息构信息进程程可可能能需需要要有有指指向向其其他他PCBPCB的的指指针,父父-子子进程关系及其它程关系及
25、其它结构构进程控制信息进程控制信息 (在在PCBPCB中中)进程程间通信通信IPCIPC可能需要可能需要标志和信号志和信号进程特程特权如如:访问特定的内存地址特定的内存地址.存存储管理管理指向指向赋予予该进程的段程的段/页表的指表的指针所所拥有的有的资源和使用情况源和使用情况使用中的使用中的资源源:打开的文件,打开的文件,I/OI/O设备.(CPU,I/O.)(CPU,I/O.)的的时间使用史使用史PCBPCB表:表:系系统统把把所所有有PCBPCB组组织织在在一一起起,并并把把它它们们放放在内存的固定区域,就构成了在内存的固定区域,就构成了PCBPCB表表 PCBPCB表表的的大大小小决决定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 进程 管理
限制150内