操作系统原理与应用进程管理教案.pptx

上传人:莉*** 文档编号:74458740 上传时间:2023-02-26 格式:PPTX 页数:91 大小:1.15MB
返回 下载 相关 举报
操作系统原理与应用进程管理教案.pptx_第1页
第1页 / 共91页
操作系统原理与应用进程管理教案.pptx_第2页
第2页 / 共91页
点击查看更多>>
资源描述

《操作系统原理与应用进程管理教案.pptx》由会员分享,可在线阅读,更多相关《操作系统原理与应用进程管理教案.pptx(91页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、会计学1操作系统原理与应用进程管理操作系统原理与应用进程管理第3章进程管理(1)3.1进程的概念和进程的概念和PCB3.3进程控制进程控制3.3线线程程第1页/共91页第二章第二章进程管理进程管理3.1进程的基本概念进程的基本概念第2页/共91页程序的顺序执行及特征程序的顺序执行及特征1.1.基本概念基本概念n n程程序序:一一个个在在时时间间上上按按严严格格次次序序、顺顺序序执执行的操作序列。行的操作序列。n n程程序序的的顺顺序序执执行行:一一个个具具有有独独立立功功能能的的程程序序独独占占处处理理机机,直直至至得得到到最最终终结结果果的的过过程程 。n n操操作作:数数据据处处理理的的一

2、一种种规规则则,一一经经启启动动就就需要在有限时间内完成需要在有限时间内完成 。n n计算:若干操作严格顺序执行的集合计算:若干操作严格顺序执行的集合 。第3页/共91页3.3.程序的顺序执行程序的顺序执行n n在计算机系统中只有一个程序在运行,在计算机系统中只有一个程序在运行,这个程序独占系统中所有资源,其执行这个程序独占系统中所有资源,其执行不受外界影响。不受外界影响。通常一个程序可分成若通常一个程序可分成若干个程序段,它们必须按照某种先后次干个程序段,它们必须按照某种先后次序执行,仅当前一操作执行后,才能执序执行,仅当前一操作执行后,才能执行后继操作。行后继操作。例例如如:进进行行计计算

3、算。I:I:输输入入操操作作C:C:计计算算操操作作P:P:打打印印操操作作。在在进进行行计计算算时时,总总是是先先输输入入用用户户的的程程序序和和数数据据,然然后后进进行计算,最后将结果打印出来。行计算,最后将结果打印出来。第4页/共91页3.3.语句的顺序执行语句的顺序执行 S1:a:=x+y S3:b:=a-5 S3:c:=b+1 如下图,语句S3必须在a被赋值后才能执行;S3也只能在b被赋值后才能执行。第5页/共91页4.4.程序的顺序执行的特征程序的顺序执行的特征n n顺顺序序性性:一一个个程程序序的的各各个个部部分分的的执执行行,严格地按照某种先后次序执行;严格地按照某种先后次序执

4、行;n n封封闭闭性性:程程序序在在封封闭闭的的环环境境下下运运行行,即即程序运行时独占全部系统资源;程序运行时独占全部系统资源;n n可可再再现现性性:只只要要程程序序执执行行时时的的环环境境和和初初始始条条件件相相同同,当当程程序序重重复复执执行行时时,不不论论它它是是从从头头到到尾尾不不停停顿顿地地执执行行,还还是是“停停停走走停走走”地执行,都将获得相同的结果。地执行,都将获得相同的结果。n n程程序序顺顺序序执执行行的的特特性性,为为程程序序员员检检测测和和校正程序的错误带来很大方便。校正程序的错误带来很大方便。第6页/共91页前趋图前趋图n n为了描述一个程序的各部分(程序段或语句

5、)间的依赖关系,或者是一个大的计算的各个子任务间的因果关系,我们常常采用前趋图方式。图3-1 九个结点的前趋图第7页/共91页前趋图(续)前趋图(续)n nP1P1为为初初始始结结点点,P9P9为为终终止止结结点点每每个个结结点还具有一个重量。点还具有一个重量。n n该该前前趋趋图图,存存在在下下面面的的前前趋趋关关系系:P1P2P1P2,P1P3P1P3,P1P4P1P4,P3P5P3P5,P3P5P3P5,P4P6P4P6,P4P7P4P7,P5P8P5P8,P6P8P6P8,P7P9P7P9,P8P9P8P9;或表示为:;或表示为:n n=P1,P2,P3,P4,P5,P6,P7,P8,

6、P9=P1,P2,P3,P4,P5,P6,P7,P8,P9=(P1,P2),(P1,P3),(P1,P4),=(P1,P2),(P1,P3),(P1,P4),(P2,P5),(P3,P5),(P4,P6),(P2,P5),(P3,P5),(P4,P6),(P4,P7),(P5,P8),(P6,P8),(P4,P7),(P5,P8),(P6,P8),(P7,P9),(P8,P9)(P7,P9),(P8,P9)第8页/共91页前趋图(续)前趋图(续)n n前前趋趋图图中中的的每每个个结结点点可可以以表表示示一一条条语语句句、一一个个程程序序段段或或进进程程,结结点点间间的的有有向向边边表表示示 两

7、两 个个 结结 点点 之之 间间 存存 在在 的的 偏偏 序序(Partial_Order)(Partial_Order)或或前前趋趋关关系系(Precedence_Relation)(Precedence_Relation)“”(Pi,Pj)|(Pi,Pj)|在在PjPj开开始始前前PiPi必必须须完完成成 如如果果(Pi,Pj)(Pi,Pj),可可写写成成PiPjPiPj,PiPi是是PjPj的的直直接接前前趋趋,PjPj是是PiPi的的直直接接后后继继。前前趋趋图图中必须不存在循环,如下图不是前趋图。中必须不存在循环,如下图不是前趋图。第9页/共91页程序并发执行及特征程序并发执行及特征

8、1.1.并发环境:并发环境:在一定时间内物理机器上有两个或两个以上的程序同处于开始运行但尚未结束的状态,并且次序不是事先确定的第10页/共91页3.3.程序的并发执行程序的并发执行n n在在对对一一批批程程序序进进行行处处理理时时,可可以以并并发发执执行。行。n n例例如如,输输入入、计计算算、打打印印三三个个程程序序对对一一批批作作业业进进行行处处理理时时,存存在在以以下下的的前前趋趋关关系:系:IiCiIiCi,IiIi+1IiIi+1,CiPiCiPi,CiCi+1CiCi+1,PiPiPiPi+1 图3-3并发执行时的前趋图第11页/共91页在上例中存在下述前趋关系:IiCi,IiIi

9、+1,CiPi,CiCi+1,PiPi+1在Pi-1和Ci以及Ii+1之间,可以并发执行。对于具有下述四条语句的程序段:S1:a=x+3S3:b=y+4S3:c=a+bS4:d=c+b图3-3四条语句的前趋关系第12页/共91页3.3.程序的并发执行的特征程序的并发执行的特征n n不不不不可可可可再再再再现现现现性性性性:由由于于程程序序的的并并发发执执行行,打打破破了了由由另另一一程程序序独独占占系系统统资资源源的的封封闭闭性性,因而破坏了可再现性。因而破坏了可再现性。n n间间间间断断断断性性性性:程程序序并并发发执执行行时时,由由于于它它们们共共享享资资源源或或程程序序之之间间相相互互合

10、合作作完完成成一一项项共共同任务,因而使程序之间相互制约。同任务,因而使程序之间相互制约。n n通通通通信信信信性性性性:对对于于相相互互合合作作的的程程序序,为为了了更更有效地协调运行,相互之间进行通信。有效地协调运行,相互之间进行通信。n n独独独独立立立立性性性性:并并发发程程序序在在运运行行过过程程中中,既既然然是是作作为为一一个个独独立立的的运运行行实实体体,它它也也必必然然具有作为一个单位去获得资源的独立性。具有作为一个单位去获得资源的独立性。第13页/共91页4.4.多道程序设计多道程序设计定义定义定义定义:MultiprogrammingMultiprogramming 多道程

11、序设计是指允许多个程序同时进入内存并运多道程序设计是指允许多个程序同时进入内存并运行行(引入目的是为了提高系统效率)(引入目的是为了提高系统效率)与并发不完全是一个概念,但效果相似与并发不完全是一个概念,但效果相似考虑因素:考虑因素:考虑因素:考虑因素:n n在多道程序环境下如何向用户提供服务在多道程序环境下如何向用户提供服务n n在并发程序之间如何正确传递消息(通讯)在并发程序之间如何正确传递消息(通讯)n n如何对如何对CPUCPU进行调度,保证每个用户相对公平地得进行调度,保证每个用户相对公平地得到到CPUCPU如何管理其他资源如何管理其他资源如何管理其他资源如何管理其他资源n n当各用

12、户对资源使用上发生冲突时,如何处理竞当各用户对资源使用上发生冲突时,如何处理竞争争对对CPUCPU只能通过调度来解决竞争问题,而对于其他只能通过调度来解决竞争问题,而对于其他资源通过资源通过申请申请分配分配使用使用回收回收的办法进行管的办法进行管理,当且仅当占有理,当且仅当占有CPUCPU的时候才可以申请,否则要的时候才可以申请,否则要排队等候排队等候第14页/共91页 进程的特征与状态进程的特征与状态1.进程的概念 进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位 进程是可与其他程序并发执行的程序,在一个数据集合上的运行过程。它是系统进行资源分配和

13、调度的一个独立单位。第15页/共91页2.2.进程的特征进程的特征n n动态性:动态性:动态性:动态性:进程的实质是程序的一次执行过程,进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的,进程在其生进程是动态产生,动态消亡的,进程在其生命周期内,在三种基本状态之间转换命周期内,在三种基本状态之间转换n n并并并并发发发发性性性性:任任何何进进程程都都可可以以同同其其他他进进程程一一起起向向前推进前推进n n独独独独立立立立性性性性:进进程程是是一一个个能能独独立立运运行行的的基基本本单单位位,同时也是系统分配资源和调度的独立单位;同时也是系统分配资源和调度的独立单位;n n异异异异步步

14、步步性性性性:由由于于进进程程间间的的相相互互制制约约,使使进进程程具具有有执执行行的的间间断断性性,即即进进程程按按各各自自独独立立的的、不不可预知的速度向前推进可预知的速度向前推进n n结结结结构构构构特特特特征征征征:为为了了控控制制和和管管理理进进程程,系系统统为为每每个进程设立一个进程控制块个进程设立一个进程控制块 PCBPCB。第16页/共91页3.3.进程与程序的区别进程与程序的区别n n程序是静态的,进程是动态的程序是静态的,进程是动态的;n n进程更能真实地描述并发进程更能真实地描述并发,而程序不能而程序不能;n n一个程序可对应多个进程,反之亦然一个程序可对应多个进程,反之

15、亦然;n n进程有生命周期,有诞生有消亡,短暂的;而进程有生命周期,有诞生有消亡,短暂的;而程序是相对长久的程序是相对长久的;n n程程序序可可作作为为软软件件资资源源长长期期保保存存,进进程程只只是是一一次次执行过程,是暂时的;执行过程,是暂时的;n n进进程程是是系系统统分分配配调调度度的的独独立立单单位位,能能与与其其他他进进程并发执行程并发执行;n n进程是由程序和数据两部分组成的进程是由程序和数据两部分组成的n n进程具有创建其他进程的功能,而程序没有进程具有创建其他进程的功能,而程序没有第17页/共91页4.4.进程创建与中止进程创建与中止1 1)进程何时创建)进程何时创建)进程何

16、时创建)进程何时创建n n提交一个批处理作业提交一个批处理作业n n用户登录用户登录n n由由OSOS创建,用以向一用户提供服务创建,用以向一用户提供服务(如:如:打印文件打印文件)n n由已存在的一进程创建由已存在的一进程创建一个用户程序可创建成多个进程一个用户程序可创建成多个进程进程何时中止进程何时中止n n批处理作业发出暂停(批处理作业发出暂停(HaltHalt)指令指令n n用户退出登录用户退出登录n n进程执行一中止服务请求进程执行一中止服务请求n n出错及失败因素出错及失败因素第18页/共91页5.5.进程中止的原因进程中止的原因n n正常结束正常结束n n给定时限到给定时限到n

17、n缺少内存缺少内存n n存储器出界存储器出界n n保护性出错:例子保护性出错:例子:写只读文件写只读文件n n算术错算术错n n超出时间:进程等待超过对某事件的最大值超出时间:进程等待超过对某事件的最大值n nI/O I/O 失败失败n n无效指令:如试图执行数据无效指令:如试图执行数据n n特权指令特权指令n n操作系统干预:如当死锁发生时操作系统干预:如当死锁发生时n n父进程请求中止某一子进程父进程请求中止某一子进程n n父进程中止,所以子进程也中止父进程中止,所以子进程也中止第19页/共91页运行运行就绪就绪等待等待图图3 34 4 进程的状态及其转换进程的状态及其转换第20页/共91

18、页进程状态(续)进程状态(续)n n当当进进程程已已分分配配到到除除CPUCPU以以外外的的所所有有必必要要资资源源时时,它它便便处处于于就就绪绪状状态态,一一旦旦获获得得CPUCPU,便便立立即即执执行。行。n n已获得已获得CPUCPU的进程进入执行状态。的进程进入执行状态。n n正正在在执执行行的的进进程程,由由于于发发生生某某个个事事件件而而暂暂时时无无法执行时,便放弃处理机而进入阻塞状态。法执行时,便放弃处理机而进入阻塞状态。n n由由于于执执行行的的进进程程变变为为阻阻塞塞状状态态后后,调调度度程程序序立立即即把把处处理理机机分分配配给给另另一一个个就就绪绪进进程程;因因此此,阻阻

19、塞塞进进程程的的事事件件消消失失后后,进进程程不不会会立立即即恢恢复复到到执执行状态,而转变为就绪状态,重新等待处理机。行状态,而转变为就绪状态,重新等待处理机。第21页/共91页2)进程)进程状态状态转换条件转换条件 在进程运行过程中,由于自身进展情况在进程运行过程中,由于自身进展情况及外界环境的变化,这三种基本状态可以及外界环境的变化,这三种基本状态可以依据一定的条件相互转换:依据一定的条件相互转换:n n就绪就绪 -运行运行n n调度程序选择一个新的进程运调度程序选择一个新的进程运行行n n运行运行 -就绪就绪n n运行进程用完了时间片运行进程用完了时间片n n运行进程被中断,因为一高优

20、运行进程被中断,因为一高优先级进程处于就绪状态先级进程处于就绪状态第22页/共91页进程状态进程状态转换条件转换条件(续)(续)n n运行运行 -等待等待n n当一进程必须等待时当一进程必须等待时n nOSOS尚未完成服务尚未完成服务n n对一资源的访问尚不能进行对一资源的访问尚不能进行n n初始化初始化I/O I/O 且必须等待结果且必须等待结果n n等待某一进程提供输入等待某一进程提供输入 (IPC)(IPC)n n等待等待 -就绪就绪n n当所等待的事件发生时当所等待的事件发生时第23页/共91页n n创建状态n n终止状态n n挂起状态 (调节负载,对换,父进程,(调节负载,对换,父进

21、程,操作系统,终端用户)操作系统,终端用户)3)其他状态第24页/共91页创建创建(新新new)new)状态状态n nOS OS 已完成为创建一进程所必要已完成为创建一进程所必要的工作的工作n n已构造了进程标识符已构造了进程标识符n n已创建了管理进程所需的表已创建了管理进程所需的表格格n n但还没有允许执行该进程但还没有允许执行该进程 (尚未尚未同意同意)n n 因为资源有限因为资源有限第25页/共91页终止(退出终止(退出exit)exit)状态状态n n中止后进程移入该状态中止后进程移入该状态n n它不再有执行资格它不再有执行资格n n表格和其它信息暂时由辅表格和其它信息暂时由辅助程序

22、保留助程序保留n n例子例子:为处理用户帐单而累计资为处理用户帐单而累计资源使用情况的财务程序源使用情况的财务程序n n当数据不再需要后,进程当数据不再需要后,进程(和它的表格和它的表格)被删除被删除第26页/共91页4 4 4 4)具有挂起操作的进程状态转换图)具有挂起操作的进程状态转换图)具有挂起操作的进程状态转换图)具有挂起操作的进程状态转换图 有有的的系系统统有有时时希希望望能能人人为为地地把把进进程程挂挂起起,使使之之处处于于静静止止状状态态,以以便便研研究究其其执执行行情情况况或或对对它它进进行行修修改改。下下图图示示出出了了具具有有挂挂起起状状态态的的进进程程状状态态演演变图变图

23、。图35 具有挂起状态的进程状态演变图 第27页/共91页五状态进程模型五状态进程模型n n准备退出:父进程可中止子进程准备退出:父进程可中止子进程第28页/共91页七状态进程模型七状态进程模型活动活动挂起挂起事件事件发生发生事件事件发生发生等待等待事件事件挂起挂起调度调度超时超时释放释放活动活动挂起挂起第29页/共91页7.7.进程控制块(进程控制块(PCBPCB)n n系统为了管理进程设置的一个专门的数据结构,存放了用于描述该进程情况和控制进程运行所需的全部信息。n n系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志n n进程与PCB是一一对应的第30页/共91页1)

24、1)进程控制块的内容进程控制块的内容n n进进程程标标识识符符:标标识识一一个个进进程程的的编编号号,也也称为进程的内部名;称为进程的内部名;n n现性状态:说明进程的当前状态;现性状态:说明进程的当前状态;n n现现场场保保留留区区:保保存存进进程程由由执执行行状状态态变变为为其它状态时的其它状态时的CPUCPU现场信息;现场信息;n n程程序序与与数数据据地地址址:该该进进程程的的程程序序和和数数据据所在位置信息;所在位置信息;n n互互斥斥与与同同步步机机构构:实实现现进进程程间间互互斥斥与与同同步时所必须的机构;步时所必须的机构;第31页/共91页进程控制块的内容(续)进程控制块的内容

25、(续)n n进进程程通通信信机机制制:用用于于实实现现进进程程间间的的通通信信所需的数据结构;所需的数据结构;n n优优先先级级:表表示示进进程程使使用用CPUCPU时时优优先先级级别别的的一个整数;一个整数;n n资源清单:列出进程拥有的资源的记录;资源清单:列出进程拥有的资源的记录;n n连连接接字字:给给出出本本进进程程所所在在队队列列中中的的下下一一个进程的个进程的PCBPCB首址;首址;n n家家族族联联系系:用用于于说说明明本本进进程程与与其其它它家家族族成员间的关系。成员间的关系。第32页/共91页3)3)进程映象进程映象 (进程要素进程要素)n n用户程序用户程序n n用户数据

26、用户数据n n栈栈n n用于过程调用和参数传递用于过程调用和参数传递n n进程控制块进程控制块PCB(PCB(执行上下文执行上下文)n n控制进程所需的数据控制进程所需的数据(进进程属性程属性),包括,包括:n n进程标识符信息进程标识符信息n n处理器状态信息处理器状态信息n n进程控制信息进程控制信息第33页/共91页第34页/共91页3 3)进程控制块的组织方式)进程控制块的组织方式 为为了了有有效效地地对对进进程程控控制制块块进进行行管管理理,应该采用适当的方式把它们组织起来。应该采用适当的方式把它们组织起来。目前常用的组织方式有以下两种:目前常用的组织方式有以下两种:n n按链接方式

27、组织按链接方式组织PCB(PCB(队列队列)不同状态进程分别组成队列不同状态进程分别组成队列运行队列、就绪队列、等待队列运行队列、就绪队列、等待队列n n按索引方式组织按索引方式组织PCB(PCB(表表)对具有相同状态的进程,分别设置各自对具有相同状态的进程,分别设置各自的的PCBPCB索引表,表明索引表,表明PCBPCB在在PCBPCB表中的地址表中的地址(其他方式:线性表或链表)(其他方式:线性表或链表)第35页/共91页按索引方式组织按索引方式组织PCBPCB第36页/共91页按链接方式组织按链接方式组织PCBPCBPCB1PCB2PCB3PCB4PCB5PCB6PCB7PCBn.空空

28、PCBPCB运行态运行态就绪态就绪态等待等待1 1等待等待3 36751015第37页/共91页第38页/共91页 3.3 3.3 进程控制进程控制 1.1.进程控制的主要任务进程控制的主要任务 进程控制是对系统中所有进程从进程控制是对系统中所有进程从产生、存在到消亡的全过程实行有效的产生、存在到消亡的全过程实行有效的管理和控制。进程控制一般是由操作系管理和控制。进程控制一般是由操作系统的内核来实现,内核在执行操作时,统的内核来实现,内核在执行操作时,往往是通过执行各种原语操作来实现的。往往是通过执行各种原语操作来实现的。第39页/共91页3.3.进程图进程图 进程图是一棵有向树(如下图),结

29、点代表进程。一棵树表示一个家族,根结 点 为 该 家 族 的 祖 先(Ancestor)。第40页/共91页3.3.进程图和前趋图之间的差异进程图和前趋图之间的差异n n前前趋趋图图描描述述的的是是任任务务(或或进进程程)之之间间的的前前趋趋关关系系;只只有有在在前前趋趋进进程程完完成成后后,其其后后继进程才能运行;继进程才能运行;n n在在进进程程图图中中,创创建建者者和和被被创创建建者者可可以以并并发发执执行行,也也可可以以父父进进程程等等待待其其所所有有的的子子进进程程结结束束后后再再执执行行,这这完完全全取取决决于于创创建建原原语语和和创创建建者者的的需需要要。原原原原语语语语:是是由

30、由若若干干条条机机器器指指令令所所构构成成,用用以以完完成成特特定定功功能能的一段程序的一段程序 第41页/共91页4.4.内核与原语内核与原语n n内内内内核核核核:加加在在硬硬件件上上的的第第一一层层软软件件,通通过过执执行行各各种种原原语语操操作作来来实实现现各各种种控控制制和和管管理理功功能能,具具有有创创建建、撤消、进程通信、资源管理的功能。撤消、进程通信、资源管理的功能。n n内核的基本功能内核的基本功能 支撑功能:中断处理、时钟管理、原语操作支撑功能:中断处理、时钟管理、原语操作 资源管理功能:进程管理、存贮管理、设备管理资源管理功能:进程管理、存贮管理、设备管理n n原原原原语

31、语语语:是是由由若若干干条条机机器器指指令令所所构构成成,用用以以完完成成特特定功能的一段程序定功能的一段程序 。第42页/共91页5.5.进程控制进程控制 创建、撤消进程以及完成进程各状态之间的转换。由具有特定功能的原语完成。进程创建原语 进程撤消原语 阻塞原语 唤醒原语 挂起原语 激活原语第43页/共91页1)1)创建原语创建原语n n功功能能:创建一个具有指定标识符进程n n入入口口信信息息:进程标识符、优先级、进程开始地址、初始CPU状态、资源清单等。第44页/共91页进程创建过程进程创建过程n n创建一个PCBn n赋予一个统一进程标识符n n为进程映象分配空间n n初始化进程控制块

32、n n许多默认值许多默认值 (如如:状态为状态为 NewNew,无,无I/OI/O设备或文件设备或文件.).)n n设置相应的链接n n如如:把新进程加到就绪队把新进程加到就绪队列的链表中列的链表中第45页/共91页创建原语的实现过程创建原语的实现过程第46页/共91页 3)进程的撤消原语进程的撤消原语n n功能:撤消一个指定的进程n n入口信息:被撤消的进程名n n实现:收回进程所占有的资源,撤消该进程的PCB第47页/共91页引起撤消的原因引起撤消的原因n n正常结束正常结束n n异异常常结结束束(越越界界错错、保保护护错错、特特权权指指令令错错、非非法法指指令令、运运行行超超时时、I/O

33、I/O故障等)故障等)n n外外界界干干预预(操操作作员员干干预预、父父进进程程请父进程终止)请父进程终止)第48页/共91页撤消原语的实现过程撤消原语的实现过程第49页/共91页3)3)进程阻塞进程阻塞 处于运行状态的进程,在其运行过处于运行状态的进程,在其运行过程中期待某一事件发生,如等待键盘输程中期待某一事件发生,如等待键盘输入、等待磁盘数据传输完成、等待其它入、等待磁盘数据传输完成、等待其它进程发送消息,当被等待的事件未发生进程发送消息,当被等待的事件未发生时,由进程自己执行阻塞原语,使自己时,由进程自己执行阻塞原语,使自己由运行态变为阻塞态。由运行态变为阻塞态。第50页/共91页进程

34、的阻塞原语进程的阻塞原语n n功功能能:停停止止调调用用进进程程的的执执行行,变变为为等等待。待。n n入口信息:可省入口信息:可省 n n阻阻塞塞原原语语的的实实现现过过程程第51页/共91页 4)4)进程的唤醒原语进程的唤醒原语n n功能:功能:功能:功能:唤醒某一处于等待队列当中的进程。唤醒某一处于等待队列当中的进程。n n入口信息:入口信息:入口信息:入口信息:被唤醒进程的名字被唤醒进程的名字n n引起唤醒的原因引起唤醒的原因 系统服务由不满足到满足系统服务由不满足到满足 I/OI/O完成完成 新数据到达新数据到达 进程提出新请求(服务)进程提出新请求(服务)第52页/共91页唤醒原语

35、的实现过程唤醒原语的实现过程第53页/共91页5)5)进程的挂起与激活进程的挂起与激活n n挂起原语的功能:自身挂起、挂起具有指定标识符的进程、将其进程及其全部或部分“子孙”挂起。n n激活原语功能:使处于静止状态的进程变为活动。第54页/共91页6.6.系统核心系统核心1)1)1)1)系统核心:系统核心:系统核心:系统核心:向上提供多个无中断的虚拟机器向上提供多个无中断的虚拟机器在核心内不允许中断在核心内不允许中断3)3)3)3)特点:特点:特点:特点:n n 为进程运行提供一个舞台为进程运行提供一个舞台n n 核心常驻内存核心常驻内存n n 设计短小精焊设计短小精焊第55页/共91页3)3

36、)核心的组成核心的组成 中断处理 进程管理:调度 控制 通讯 互斥 同步等 原语管理:在核心中提供一系列原语,同步,通信,创建,撤消等第56页/共91页4)4)队列管理队列管理 队列数据结构:指向队首的表指针 三个队列:运行,就绪,等待队列 排队方式:排队首 排队尾 插 队 出队方式:队首出队/队中出队 队列管理:中断之后,进程调度之前第57页/共91页5)5)现场管理现场管理 保存现场;注意顺序,中断之后第一步 恢复现场:恢复时机,进程调度最后一步 时钟管理:以固定频率+1-1 用途:进入绝对时钟 间隔时钟 进行分析比较第58页/共91页6)6)虚时钟虚时钟 每个进程分配给一个虚时钟来记每个

37、进程分配给一个虚时钟来记录录CPUCPU时间时间,这个时钟称为虚时钟。这个时钟称为虚时钟。虚时钟存放在虚时钟存放在PCBPCB中,属于现场的中,属于现场的一部分,进程运行时,将虚时钟放入一部分,进程运行时,将虚时钟放入内存开辟的专门单元,离开内存开辟的专门单元,离开CPUCPU则放则放在在 PCBPCB中。中。第59页/共91页核心处理流程流程:第60页/共91页7)7)内核的执行特点内核的执行特点由中断驱动的:中断内核退出内核执行是连续的内核执行过程中在中断屏蔽状态下内核使用特权指令第61页/共91页 思考题思考题1 1如果系统中有如果系统中有N N个进程,运行的进程最多个进程,运行的进程最

38、多几个,最少几个;就绪进程最多几个几个,最少几个;就绪进程最多几个,最最少几个;等待进程最多几个,最少几个?少几个;等待进程最多几个,最少几个?3.3.有没有这样的状态转换,为什么?有没有这样的状态转换,为什么?等待等待运行;运行;就绪就绪等待等待3.3.一个状态转换的发生,是否一定导致另一个状态转换的发生,是否一定导致另一个转换发生,列出所有的可能一个转换发生,列出所有的可能4.4.举举3 3个日常生活中类似进程的例子个日常生活中类似进程的例子第62页/共91页第第3章章进程管理进程管理3.7线线程程第63页/共91页 3.7 3.7 线线 程程1.1.进程的两个基本属性:进程的两个基本属性

39、:n n资源的拥有者:给每个进程分配一虚拟地址空间,保存进程映像,控制一些资源(文件,I/O设备),有状态、优先级、调度n n调度单位:进程是一个执行轨迹 以上两个属性构成进程并发执行的基础第64页/共91页 3.3.线程的引入线程的引入对进程系统必须完成的操作:对进程系统必须完成的操作:n n创建进程创建进程n n撤消进程撤消进程n n进程切换进程切换缺点:时间空间开销大,限制并发度的提高第65页/共91页线程的引入(续线程的引入(续1 1)n n在操作系统中,进程的引入提高了计算机在操作系统中,进程的引入提高了计算机资源的利用效率。但在进一步提高进程的资源的利用效率。但在进一步提高进程的并

40、发性时,人们发现进程切换开销占的比并发性时,人们发现进程切换开销占的比重越来越大,同时进程间通信的效率也受重越来越大,同时进程间通信的效率也受到限制到限制n n线程的引入正是为了简化进程间的通信,线程的引入正是为了简化进程间的通信,以小的开销来提高进程内的并发程度以小的开销来提高进程内的并发程度n n线程:有时称轻量级进程,进程中的一有时称轻量级进程,进程中的一个运行实体,是一个个运行实体,是一个CPUCPU调度单位,资源的调度单位,资源的拥有者还是进程或称任务拥有者还是进程或称任务第66页/共91页线程的引入(续线程的引入(续2 2)线程:线程:n n有执行状态(状态转换)n n不运行时保存

41、上下文n n有一个执行栈n n有一些局部变量的静态存储n n可存取所在进程的内存和其他资源n n可以创建、撤消另一个线程第67页/共91页3.3.线程的特点线程的特点n n是是进进程程的的一一个个实实体体,可可作作为为系系统统独独立立调度和分派的基本单位。调度和分派的基本单位。n n不不拥拥有有系系统统资资源源(只只拥拥有有从从属属进进程程的的全部资源,资源是分配给进程)全部资源,资源是分配给进程)n n一一个个进进程程中中的的多多个个线线程程可可并并发发执执行行。(进进程程可可创创建建线线程程执执行行同同一一程程序序的的不不同部分)同部分)n n系系统统开开销销小小、切切换换快快。(进进程程

42、的的多多个个线程都在进程的地址空间活动)线程都在进程的地址空间活动)第68页/共91页单进程、单线程单进程、多线程多进程、一个进程一个线程多进程、一个进程多个线程 4.线程和进程的关系第69页/共91页PCB用用户户栈栈单线程进程模型单线程进程模型用户地址空间用户地址空间核核心心栈栈线程控制块:线程控制块:包含了寄存器映像,线程优先数和线程状态信息包含了寄存器映像,线程优先数和线程状态信息第70页/共91页PCB多线程进程模型多线程进程模型用户用户地址地址空间空间用用户户栈栈核核心心栈栈线程线程控制块控制块用用户户栈栈核核心心栈栈线程线程控制块控制块用用户户栈栈核核心心栈栈线程线程控制块控制块

43、第71页/共91页 5.5.引入线程的好处引入线程的好处n n创建一个新线程花费时间少(结束亦如此)n n两个线程的切换花费时间少(如果机器设有“存储恢复所有寄存器”指令,则整个切换过程用几条指令即可完成)n n因为同一进程内的线程共享内存和文件,因此它们之间相互通信无须调用内核n n适合多处理机系统第72页/共91页 例子例子例子例子1 1 1 1:LAN中的一个文件服务器,在一段时间内需要处理几个文件请求 因此有效的方法是:为每一个请求创建一个线程 在一个SMP机器上:多个线程可以同时在不同的处理器上运行第73页/共91页例子例子例子例子3 3 3 3:一个线程显示菜单,并读入用户输入;另

44、一个线程执行用户命令 考虑一个应用:由几个独立部分组成,这几个部分不需要顺序执行,则每个部分可以以线程方式实现 当一个线程因I/O阻塞时,可以切换到同一应用的另一个线程第74页/共91页6.6.6.6.线程与进程的比较线程与进程的比较n n调调度度:线线程程作作为为调调度度的的基基本本单单位位,同同进进程程中中线线程程切切换换不不引引起起进进程程切切换换,当当不不同同进进程程的的线线程程切切换换才才引引起起进进程程切切换换;进进程程作为拥有资源的基本单位。作为拥有资源的基本单位。n n并发性:一个进程间的多个线程可并发。并发性:一个进程间的多个线程可并发。n n拥拥有有资资源源:线线程程仅仅拥

45、拥有有隶隶属属进进程程的的资资源源;进程是拥有资源的独立单位。进程是拥有资源的独立单位。n n系统开销:进程大;线程小。系统开销:进程大;线程小。第75页/共91页 7.7.线程的实现机制线程的实现机制n n用户级线程用户级线程n n核心级线程核心级线程n n两者结合方法两者结合方法第76页/共91页 1)1)用户级线程(用户级线程(ULTULT)n n由应用程序完成所有线程的管理 通过线程库(用户空间)一组管理线程的过程n n核心不知道线程的存在n n线程切换不需要核心态特权n n调度是应用特定的第77页/共91页 对用户级线程的核心活动对用户级线程的核心活动n n核心不知道线程的活动,但仍

46、然管理线程的进程的活动n n当线程调用系统调用时,整个进程阻塞n n但对线程库来说,线程仍然是运行状态 即线程状态是与进程状态独立的第78页/共91页 用户级线程的优点和缺点用户级线程的优点和缺点优点:优点:n n线程切换不调用核心线程切换不调用核心n n调度是应用程序特定的:可以选择最好的算法调度是应用程序特定的:可以选择最好的算法n nULTULT可运行在任何操作系统上(只需要线程库)可运行在任何操作系统上(只需要线程库)缺点:缺点:n n大多数系统调用是阻塞的,因此核心阻塞进程,大多数系统调用是阻塞的,因此核心阻塞进程,故进程中所有线程将被阻塞故进程中所有线程将被阻塞n n核心只将处理器

47、分配给进程,同一进程中的两核心只将处理器分配给进程,同一进程中的两个线程不能同时运行于两个处理器上个线程不能同时运行于两个处理器上第79页/共91页3)3)核心级线程(核心级线程(KLTKLT)n n所有线程管理由核心完成n n没有线程库,但对核心线程工具提供APIn n核心维护进程和线程的上下文n n线程之间的切换需要核心支持n n以线程为基础进行调度n n例子:Windows NT,OS/3第80页/共91页核心级线程的优点和缺点核心级线程的优点和缺点优点:n n对多处理器,核心可以同时调度同一进程的多个线程n n阻塞是在线程一级完成n n核心例程是多线程的缺点:n n在同一进程内的线程切

48、换调用内核,导致速度下降第81页/共91页两者分析两者分析n n针对不同的操作系统n n开销和性能(线程的调度和切换速度)n n系统调用(阻塞)n n线程执行时间n n灵活性n n可扩充性n n抢占CPUn n共享进程的资源第82页/共91页3)ULT3)ULT和和KLTKLT结合方法结合方法n n线程创建在用户空间完成n n大量线程调度和同步在用户空间完成n n程序员可以调整KLT的数量n n可以取两者中最好的n n例子:Solaris第83页/共91页实例:实例:SolarisSolaris进程:进程:n n用户地址空间n n用户栈n n进程控制块第84页/共91页分派分派唤醒唤醒继续继续

49、抢占抢占停止停止可运行可运行睡眠睡眠睡眠睡眠停止停止停止停止停止停止用户级线用户级线程程活跃活跃连接在连接在LWP上上第85页/共91页分派分派唤醒唤醒继续继续时间片时间片或抢占或抢占停止停止运行运行阻塞阻塞系统系统调用调用停止停止停止停止轻型进程状轻型进程状态态LWP状态独立于状态状态独立于状态ULT(受限制(受限制ULT除外)除外)可运行可运行阻塞阻塞唤醒唤醒第86页/共91页进程进程1进程进程3进程进程3进程进程4进程进程5进程库进程库用户用户内核内核硬件硬件用户级线程用户级线程内核级线程内核级线程轻型线程轻型线程处理器处理器第87页/共91页 8.线程与进程的关系线程:进程线程:进程特点特点例子例子1:1每一执行的线程是每一执行的线程是有自己的地址空间有自己的地址空间和资源的唯一进程和资源的唯一进程.各种各种UNIX版本版本M:1进程定义了所拥有进程定义了所拥有的地址空间和动态的地址空间和动态资源。在该进程中资源。在该进程中多个线程可被创建多个线程可被创建和执行和执行.WindowsNT,Solaris,OS/3,OS/390,MACH第88页/共91页9.9.用户级线程和内核支持线程用户级线程和内核支持线程n n内核支持线程依赖于内核。(创建、撤消、切换由内核实现)n n用户级线程与内核无关(切换速度特别快,不利用系统调用)第89页/共91页第90页/共91页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁