计算机软件及应用处理器管理课件

上传人:新** 文档编号:569490941 上传时间:2024-07-29 格式:PPT 页数:142 大小:1.04MB
返回 下载 相关 举报
计算机软件及应用处理器管理课件_第1页
第1页 / 共142页
计算机软件及应用处理器管理课件_第2页
第2页 / 共142页
计算机软件及应用处理器管理课件_第3页
第3页 / 共142页
计算机软件及应用处理器管理课件_第4页
第4页 / 共142页
计算机软件及应用处理器管理课件_第5页
第5页 / 共142页
点击查看更多>>
资源描述

《计算机软件及应用处理器管理课件》由会员分享,可在线阅读,更多相关《计算机软件及应用处理器管理课件(142页珍藏版)》请在金锄头文库上搜索。

1、处理器管理处理器管理v本章考核知识点:本章考核知识点:1.多道程序设计多道程序设计 2.进程进程 3.进程状进程状态态 4.进程控制块进程控制块 5.进程队列进程队列 6.可再入程序可再入程序 7.中断及中断及中断响应中断响应 8.中断优先级中断优先级 9.进程调度进程调度v自学要求:通过本章学习应该掌握多道程序设计是自学要求:通过本章学习应该掌握多道程序设计是如何提高计算机系统效率的;进程与程序有什么区如何提高计算机系统效率的;进程与程序有什么区别;进程的基本状态以及状态变化;进程队列及进别;进程的基本状态以及状态变化;进程队列及进程调度策略;中断的作用。程调度策略;中断的作用。v重点是:多

2、道程序设计;进程的定义和属性;进程重点是:多道程序设计;进程的定义和属性;进程调度策略。调度策略。计算机软件及应用处理器管理3.1、 多道程序设计(领会)多道程序设计(领会)v3.1.1什么是多道程序设计什么是多道程序设计让多个计算问题同时装入一个计算机系统的主存储器并行执行,这种设计技术称“多道程序设计”,这种计算机系统称“多道程序设计系统”或简称“多道系统”。计算机软件及应用处理器管理v在多道程序设计的系统中,有三点基本要求:在多道程序设计的系统中,有三点基本要求: n 用用存储保护存储保护的方法保证各道程序互不侵犯;的方法保证各道程序互不侵犯; n 用用程序浮动程序浮动技术让程序能灵活地

3、改变存放区技术让程序能灵活地改变存放区域且能正确执行;域且能正确执行; n 必须对资源按一定的策略分配和调度。必须对资源按一定的策略分配和调度。l程序浮动程序浮动:在多道程序设计系统中,对程序:在多道程序设计系统中,对程序有一些特殊要求,也就是说,程序可以随机有一些特殊要求,也就是说,程序可以随机地从主存的一个区域移动到另一个区域,程地从主存的一个区域移动到另一个区域,程序被移动后仍丝毫不影响它的执行,这种技序被移动后仍丝毫不影响它的执行,这种技术称为术称为“程序浮动程序浮动“计算机软件及应用处理器管理3.1.2为什么采用多道程序设计v程序的顺序执行v程序的并行执行P36计算机软件及应用处理器

4、管理v多道程序设计利用了系统与外围设备的并行多道程序设计利用了系统与外围设备的并行工作能力,从而提高工作效率。具体表现为:工作能力,从而提高工作效率。具体表现为:l 提高了处理器的利用率;提高了处理器的利用率; l 充分利用外围设备资源:充分利用外围设备资源:l 发挥了处理器与外围设备以及外围设备之间的发挥了处理器与外围设备以及外围设备之间的并行工作能力;并行工作能力; 从总体上说,采用多道程序设计技术后,可从总体上说,采用多道程序设计技术后,可以有效地提高系统中资源的利用率,增加单以有效地提高系统中资源的利用率,增加单位时间内的算题量,从而提高了吞吐率。位时间内的算题量,从而提高了吞吐率。计

5、算机软件及应用处理器管理3.1.3 采用多道程序设计注意的问题采用多道程序设计注意的问题v可能延长程序的执行时间;可能延长程序的执行时间;v 并行工作道数与系统效率不成正比并行工作道数与系统效率不成正比从表面上看,增加并行工作道数就可提高系统效率,但实际上并行工作道数与系统效率是不成正比,因为并行的道数要根据系统配置的资源和用户对资源的要求而定:(1)主存储器的大小限制了可同时装入的程序数量;(2)外围设备的数量也是一个制约条件;(3)多个程序同时要求使用同一资源的情况也会经常发生。计算机软件及应用处理器管理总之,多道程序设计能提高系统资源的使用效率,增加单位时间的算题量;但是对每个计算问题来

6、说,从算题开始到全部完成所需要的时间可能延长,另外在确定并行工作道数时应综合系统的资源配置和用户对资源的要求。计算机软件及应用处理器管理思考思考v多道程序设计环境中,内存中有多个程序,多道程序设计环境中,内存中有多个程序,但是某时刻只有一个程序占用但是某时刻只有一个程序占用CPU运行,其运行,其他程序在做什么?他程序在做什么?计算机软件及应用处理器管理S1: a:=x+y;S2: b:=a-5;S3: c:=b+1;S4:w=3+aS4:w=3+a S5: x=c+w程序的顺序执行及其特征程序的顺序执行及其特征程序的顺序执行及其特征程序的顺序执行及其特征1. 1. 程序的顺序执行程序的顺序执行

7、程序的顺序执行程序的顺序执行S1S2S3例如对一个程序的多条语例如对一个程序的多条语例如对一个程序的多条语例如对一个程序的多条语句句句句: :三条语句的顺序执行 3.2 进程进程S4S5计算机软件及应用处理器管理2. 2. 2. 2. 程序顺序执行时的特征程序顺序执行时的特征程序顺序执行时的特征程序顺序执行时的特征(1) (1) (1) (1) 顺顺顺顺序序序序性性性性:处处处处理理理理机机机机的的的的操操操操作作作作严严严严格格格格按按按按照照照照程程程程序序序序所所所所规规规规定定定定的的的的顺顺顺顺序序序序执执执执行行行行,即即即即每每每每一一一一操操操操作作作作必必必必须须须须在在在在

8、上上上上一一一一个个个个操操操操作作作作结结结结束束束束之之之之后后后后开始。开始。开始。开始。(2) (2) (2) (2) 封封封封闭闭闭闭性性性性:程程程程序序序序是是是是在在在在封封封封闭闭闭闭的的的的环环环环境境境境下下下下执执执执行行行行的的的的,即即即即程程程程序序序序运运运运行行行行时时时时独独独独占占占占全全全全机机机机资资资资源源源源,资资资资源源源源的的的的状状状状态态态态( ( ( (除除除除初初初初始始始始状状状状态态态态外外外外) ) ) )只只只只有有有有本本本本程程程程序序序序才才才才能能能能改改改改变变变变它它它它。程程程程序序序序一一一一旦旦旦旦开开开开始始

9、始始执执执执行行行行,其其其其执行结果不受外界因素影响。执行结果不受外界因素影响。执行结果不受外界因素影响。执行结果不受外界因素影响。(3) (3) (3) (3) 可可可可再再再再现现现现性性性性:只只只只要要要要程程程程序序序序执执执执行行行行时时时时的的的的环环环环境境境境和和和和初初初初始始始始条条条条件相同,当程序重复执行时,都将获得相同的结果。件相同,当程序重复执行时,都将获得相同的结果。件相同,当程序重复执行时,都将获得相同的结果。件相同,当程序重复执行时,都将获得相同的结果。n优点:程优点:程优点:程优点:程序的编制、调试方便,序的编制、调试方便,序的编制、调试方便,序的编制、

10、调试方便,n缺点:计算机系统效率不高。缺点:计算机系统效率不高。缺点:计算机系统效率不高。缺点:计算机系统效率不高。程序的顺序执行及其特征程序的顺序执行及其特征计算机软件及应用处理器管理程序的并发执行及其特征程序的并发执行及其特征1 1 1 1程序的并发执行程序的并发执行程序的并发执行程序的并发执行若干个程序段同时在系统中运行,这些程序段的若干个程序段同时在系统中运行,这些程序段的若干个程序段同时在系统中运行,这些程序段的若干个程序段同时在系统中运行,这些程序段的执行在时间上是执行在时间上是执行在时间上是执行在时间上是重叠重叠重叠重叠的,一个程序段的执行尚未结束,的,一个程序段的执行尚未结束,

11、的,一个程序段的执行尚未结束,的,一个程序段的执行尚未结束,另一个程序段的执行已经开始,即使这种重叠是很小另一个程序段的执行已经开始,即使这种重叠是很小另一个程序段的执行已经开始,即使这种重叠是很小另一个程序段的执行已经开始,即使这种重叠是很小的一部分,也称这几个程序段是的一部分,也称这几个程序段是的一部分,也称这几个程序段是的一部分,也称这几个程序段是并发执行并发执行并发执行并发执行的。的。的。的。PQR例:三个并发执行的程序段例:三个并发执行的程序段例:三个并发执行的程序段例:三个并发执行的程序段。计算机软件及应用处理器管理程序的并发执行及其特征程序的并发执行及其特征1程序的并发执行程序的

12、并发执行在图中存在在图中存在在图中存在在图中存在I I I Ii i i iCCCCi i i iPPPPi i i i前趋关系,以至对一个作前趋关系,以至对一个作前趋关系,以至对一个作前趋关系,以至对一个作业的输入、计算和打印三个操作,必须顺序执行,但业的输入、计算和打印三个操作,必须顺序执行,但业的输入、计算和打印三个操作,必须顺序执行,但业的输入、计算和打印三个操作,必须顺序执行,但并不存在并不存在并不存在并不存在P P P Pi i i iIIIIi+1i+1i+1i+1的关系,因而在对一批程序进行处的关系,因而在对一批程序进行处的关系,因而在对一批程序进行处的关系,因而在对一批程序进

13、行处理时,可使它们并发执行。理时,可使它们并发执行。理时,可使它们并发执行。理时,可使它们并发执行。i1p1i ic cp po1i2p2o2i3p3o3t1t1t2t2t3t3进程时时间间计算机软件及应用处理器管理在该例中存在下述关系:在该例中存在下述关系:在该例中存在下述关系:在该例中存在下述关系: IiCi,IiIi+1,CiPi,CiCi+1,PiPi+1 而而而而I I I Ii+1i+1i+1i+1和和和和C C C Ci i i i及及及及P P P Pi-1i-1i-1i-1是是是是重重重重迭迭迭迭的的的的,亦亦亦亦即即即即在在在在P P P Pi-1i-1i-1i-1和和和和

14、C C C Ci i i i以以以以及及及及I I I Ii+1i+1i+1i+1之之之之间间间间,可以并发执行。可以并发执行。可以并发执行。可以并发执行。 对于具有下述四条语句的程序段:对于具有下述四条语句的程序段:对于具有下述四条语句的程序段:对于具有下述四条语句的程序段:S1: a:=x+2S1: a:=x+2S1: a:=x+2S1: a:=x+2S2: b:=y+4S2: b:=y+4S2: b:=y+4S2: b:=y+4S3: c:=a+bS3: c:=a+bS3: c:=a+bS3: c:=a+bS4: d:=c+b S4: d:=c+b S4: d:=c+b S4: d:=c

15、+b 计算机软件及应用处理器管理练习:已知一个求值公式练习:已知一个求值公式 (AA (AA3B)/(B+5A)3B)/(B+5A)若若A A和和B B已经赋值,试画出该公式求解的前已经赋值,试画出该公式求解的前趋图趋图S1:W=AAAS2:V=3BS2:V=3B计算机软件及应用处理器管理2 2 2 2程序并发执行时的特征程序并发执行时的特征程序并发执行时的特征程序并发执行时的特征1) 1) 1) 1) 间断性:间断性:间断性:间断性:走走停停走走停停走走停停走走停停 2) 2) 2) 2) 失去封闭性:失去封闭性:失去封闭性:失去封闭性:资源状态有多个程序改变资源状态有多个程序改变资源状态有

16、多个程序改变资源状态有多个程序改变 3) 3) 3) 3) 不可再现性不可再现性不可再现性不可再现性 :计算结果和执行速度有关计算结果和执行速度有关计算结果和执行速度有关计算结果和执行速度有关 例如,有两个循环程序例如,有两个循环程序例如,有两个循环程序例如,有两个循环程序A A A A和和和和B B B B,它们共享一个变量,它们共享一个变量,它们共享一个变量,它们共享一个变量N N N N。n n 程序程序程序程序A A A A每执行一次时,都要做每执行一次时,都要做每执行一次时,都要做每执行一次时,都要做N:=N+1N:=N+1N:=N+1N:=N+1操作;操作;操作;操作;n n 程序

17、程序程序程序B B B B每执行一次时,都要执行每执行一次时,都要执行每执行一次时,都要执行每执行一次时,都要执行print(Nprint(Nprint(Nprint(N) ) ) )操作,然后再将操作,然后再将操作,然后再将操作,然后再将N N N N置成置成置成置成“ “0 0 0 0” ”。A A A A:while(1) B:while(1)while(1) B:while(1)while(1) B:while(1)while(1) B:while(1) N: N: N: N:N+1; N+1; N+1; N+1; print(Nprint(Nprint(Nprint(N) ) ) )

18、; N:=0; N:=0; N:=0; N:=0; n n 程序程序程序程序A A A A和和和和B B B B以不同的速度运行。这样,可能出现下述三种情以不同的速度运行。这样,可能出现下述三种情以不同的速度运行。这样,可能出现下述三种情以不同的速度运行。这样,可能出现下述三种情况况况况( ( ( (假定某时刻变量假定某时刻变量假定某时刻变量假定某时刻变量N N N N的值为的值为的值为的值为n)n)n)n)。 计算机软件及应用处理器管理(1)(1)(1)(1)N:=N+1;N:=N+1;N:=N+1;N:=N+1;print(N);N:=0;Nprint(N);N:=0;Nprint(N);

19、N:=0;Nprint(N);N:=0;N值分别为值分别为值分别为值分别为n+1n+1n+1n+1,n+1n+1n+1n+1,0 0 0 0。(2)print(N);N:=0;(2)print(N);N:=0;(2)print(N);N:=0;(2)print(N);N:=0;N:=N+1N:=N+1N:=N+1N:=N+1; ; ; ;值分别为值分别为值分别为值分别为n n n n,0 0 0 0,1 1 1 1。(3)print(N);(3)print(N);(3)print(N);(3)print(N);N:=N+1;N:=N+1;N:=N+1;N:=N+1;N:=0; NN:=0; N

20、N:=0; NN:=0; N值分别为值分别为值分别为值分别为n n n n,n+1n+1n+1n+1,0 0 0 0。上述情况说明,程序在并发执行时,由于失去了上述情况说明,程序在并发执行时,由于失去了上述情况说明,程序在并发执行时,由于失去了上述情况说明,程序在并发执行时,由于失去了封闭性,其计算结果已与并发程序的执行速度有关,封闭性,其计算结果已与并发程序的执行速度有关,封闭性,其计算结果已与并发程序的执行速度有关,封闭性,其计算结果已与并发程序的执行速度有关,从而使程序的执行从而使程序的执行从而使程序的执行从而使程序的执行失去了可再现性。失去了可再现性。失去了可再现性。失去了可再现性。n

21、不可再现性:不可再现性:不可再现性:不可再现性:程序经过多次执行后,虽然它们执行时程序经过多次执行后,虽然它们执行时程序经过多次执行后,虽然它们执行时程序经过多次执行后,虽然它们执行时的环境和初始条件相同,但得到的结果却各不相同。的环境和初始条件相同,但得到的结果却各不相同。的环境和初始条件相同,但得到的结果却各不相同。的环境和初始条件相同,但得到的结果却各不相同。 计算机软件及应用处理器管理n 进程的定义进程的定义进程的定义进程的定义 较典型的进程定义有:较典型的进程定义有:较典型的进程定义有:较典型的进程定义有:(1) (1) (1) (1) 进程是程序的一次进程是程序的一次进程是程序的一

22、次进程是程序的一次执行执行执行执行。(2) (2) (2) (2) 进进进进程程程程是是是是一一一一个个个个程程程程序序序序及及及及其其其其数数数数据据据据在在在在处处处处理理理理机机机机上上上上顺顺顺顺序序序序执行时所发生的执行时所发生的执行时所发生的执行时所发生的活动活动活动活动。(3) (3) (3) (3) 进程是程序在一个数据集合上运行的进程是程序在一个数据集合上运行的进程是程序在一个数据集合上运行的进程是程序在一个数据集合上运行的过程过程过程过程,它是系统进行资源分配和调度的一个独立单位。它是系统进行资源分配和调度的一个独立单位。它是系统进行资源分配和调度的一个独立单位。它是系统进

23、行资源分配和调度的一个独立单位。 我们给出的进程的定义:我们给出的进程的定义:我们给出的进程的定义:我们给出的进程的定义: 进程是进程实体的运行过程,是系统进行进程是进程实体的运行过程,是系统进行资源分配和调度的一个资源分配和调度的一个独立独立单位。单位。3.2 进程进程3.2.1 进程的定义进程的定义计算机软件及应用处理器管理3.2 进程进程v进程三要素:程序、数据、进程三要素:程序、数据、CPUv 进程与程序的区别及关系。进程与程序的区别及关系。l程序是静止的,进程是动态的。程序是静止的,进程是动态的。l进程包括程序和程序处理的对象(数据集),进程能得到进程包括程序和程序处理的对象(数据集

24、),进程能得到程序处理的结果。程序处理的结果。l l进程进程进程进程是是一个独立的运行单位,能与其它进程并行(并发)一个独立的运行单位,能与其它进程并行(并发)活动。而程序则不是。活动。而程序则不是。l进程是竞争计算机系统有限资源的基本单位,也是进行处进程是竞争计算机系统有限资源的基本单位,也是进行处理机调度的基本单位。理机调度的基本单位。l进程和程序并非一一对应的,一个程序运行在不同的数据进程和程序并非一一对应的,一个程序运行在不同的数据集上就构成了不同的进程。一个程序可以作为多个进程的集上就构成了不同的进程。一个程序可以作为多个进程的运行程序,一个进程也可以运行多个程序。运行程序,一个进程

25、也可以运行多个程序。计算机软件及应用处理器管理进程与程序的区别进程与程序的区别简单例子简单例子v操作系统课程程序操作系统课程程序v 教师教师CPUCPUv 学生学习过程进程学生学习过程进程v 同一个教师教的同一个教师教的A A和和B B班学习进度不一样,所以可班学习进度不一样,所以可以比喻为一个程序拥有以比喻为一个程序拥有2 2个进程个进程思考:还有类似的例子吗?思考:还有类似的例子吗?计算机软件及应用处理器管理 我们举一个例子,比如在有一个用户程序我们举一个例子,比如在有一个用户程序notepad.exe(记事本记事本),当它存放在磁盘上时,当它存放在磁盘上时,就是一个程序,在就是一个程序,

26、在windows操作系统下运行操作系统下运行它时,就会在内存中建立一个记事本程序的它时,就会在内存中建立一个记事本程序的进程,而我们在记事本中编辑的当前文字就进程,而我们在记事本中编辑的当前文字就是这个进程的数据集,操作系统会为当前的是这个进程的数据集,操作系统会为当前的进程设置一个进程控制块。如果我们再打开进程设置一个进程控制块。如果我们再打开一个记事本程序的窗口,就会建立另一个进一个记事本程序的窗口,就会建立另一个进程,此时运行的是同一个程序,但存在两个程,此时运行的是同一个程序,但存在两个进程,第二个窗口中的编辑内容就是第二个进程,第二个窗口中的编辑内容就是第二个进程的数据集。进程的数据

27、集。 计算机软件及应用处理器管理3.2.2为什么引入进程v提高资源利用率提高资源利用率v正确描述程序的执行情况正确描述程序的执行情况计算机软件及应用处理器管理n 进程的类型进程的类型在在在在系系系系统统统统中中中中同同同同时时时时有有有有多多多多个个个个进进进进程程程程存存存存在在在在,但但但但归归归归纳纳纳纳起起起起来来来来有有有有两两两两大类:大类:大类:大类:(1 1 1 1)系统进程)系统进程)系统进程)系统进程 系统进程起着资源管理和控制的作用。系统进程起着资源管理和控制的作用。系统进程起着资源管理和控制的作用。系统进程起着资源管理和控制的作用。 或者:执行操作系统核心代码的进程或者

28、:执行操作系统核心代码的进程或者:执行操作系统核心代码的进程或者:执行操作系统核心代码的进程。(2 2 2 2)用户进程)用户进程)用户进程)用户进程 执行用户程序的进程。执行用户程序的进程。执行用户程序的进程。执行用户程序的进程。计算机软件及应用处理器管理n系统进程与用户进程的区别系统进程与用户进程的区别系统进程与用户进程的区别系统进程与用户进程的区别系系系系统统统统进进进进程程程程被被被被分分分分配配配配一一一一个个个个初初初初始始始始的的的的资资资资源源源源集集集集合合合合,这这这这些些些些资资资资源源源源可可可可以以以以为为为为它它它它独独独独占占占占,也也也也能能能能以以以以最最最最

29、高高高高优优优优先先先先权权权权的的的的资资资资格格格格使使使使用用用用。用用用用户户户户进进进进程程程程通通通通过过过过系系系系统统统统服服服服务务务务请请请请求求求求的的的的手手手手段段段段竞竞竞竞争争争争使使使使用系统资源;用系统资源;用系统资源;用系统资源;用用用用户户户户进进进进程程程程不不不不能能能能直直直直接接接接做做做做I/OI/OI/OI/O操操操操作作作作,而而而而系系系系统统统统进进进进程程程程可可可可以以以以做显式的、直接的做显式的、直接的做显式的、直接的做显式的、直接的I/OI/OI/OI/O操作。操作。操作。操作。系系系系统统统统进进进进程程程程在在在在管管管管态态

30、态态下下下下活活活活动动动动,而而而而用用用用户户户户进进进进程程程程则则则则在在在在用用用用户户户户态(目态)下活动。态(目态)下活动。态(目态)下活动。态(目态)下活动。另一种分类:计算进程,另一种分类:计算进程,另一种分类:计算进程,另一种分类:计算进程,I/OI/OI/OI/O进程等进程等进程等进程等注意:在注意:在注意:在注意:在UNIXUNIXUNIXUNIX系统中没有这样对进程进行分类。系统中没有这样对进程进行分类。系统中没有这样对进程进行分类。系统中没有这样对进程进行分类。计算机软件及应用处理器管理3.2.3 进程状态(领会)进程状态(领会) v 进程的三种基本状态:进程的三种

31、基本状态:l等待态:等待某个事件的完成;等待态:等待某个事件的完成;l就绪态:等待系统分配处理器以便运行;就绪态:等待系统分配处理器以便运行;l运行态:占有处理器正在运行。运行态:占有处理器正在运行。计算机软件及应用处理器管理1) 1) 1) 1) 就绪状态就绪状态就绪状态就绪状态(Ready)(Ready)(Ready)(Ready)当进程已分配到当进程已分配到当进程已分配到当进程已分配到除除除除CPUCPUCPUCPU以外的所有必要资源后,以外的所有必要资源后,以外的所有必要资源后,以外的所有必要资源后,只要再获得只要再获得只要再获得只要再获得CPUCPUCPUCPU,便可立即执行,进程这

32、时的状态,便可立即执行,进程这时的状态,便可立即执行,进程这时的状态,便可立即执行,进程这时的状态称为就绪状态。称为就绪状态。称为就绪状态。称为就绪状态。 在一个系统中处于就绪状态的进程可能有多在一个系统中处于就绪状态的进程可能有多在一个系统中处于就绪状态的进程可能有多在一个系统中处于就绪状态的进程可能有多个,通常将它们排成一个队列,称为个,通常将它们排成一个队列,称为个,通常将它们排成一个队列,称为个,通常将它们排成一个队列,称为就绪队列。就绪队列。就绪队列。就绪队列。 2) 2) 2) 2) 执行状态执行状态执行状态执行状态(Running(Running(Running(Running)

33、进程已获得进程已获得进程已获得进程已获得CPUCPUCPUCPU,其程序正在执行。,其程序正在执行。,其程序正在执行。,其程序正在执行。 在单处理机系统中,只有一个进程处于执行状态;在单处理机系统中,只有一个进程处于执行状态;在单处理机系统中,只有一个进程处于执行状态;在单处理机系统中,只有一个进程处于执行状态;在多处理机系统中,则有多个进程处于执行状态。在多处理机系统中,则有多个进程处于执行状态。在多处理机系统中,则有多个进程处于执行状态。在多处理机系统中,则有多个进程处于执行状态。3.2.3 进程状态(领会)进程状态(领会)计算机软件及应用处理器管理3) 3) 等待状态等待状态(Wait/

34、Block)正在执行的进程由于发生某事件而暂时无正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态,法继续执行时,便放弃处理机而处于暂停状态,这种暂停状态称为等待状态(阻塞状态或封锁这种暂停状态称为等待状态(阻塞状态或封锁状态)。状态)。 计算机软件及应用处理器管理v进程的状态变化进程的状态变化 进程在执行中状态会不断地改变,每个进程进程在执行中状态会不断地改变,每个进程在任何时刻总是处于上述三种基本状态的某在任何时刻总是处于上述三种基本状态的某一种基本状态,进程状态之间转换关系如下一种基本状态,进程状态之间转换关系如下图所示:图所示:计算机软件及应用处理器管理进程的

35、三种基本状态及其转换进程的三种基本状态及其转换 计算机软件及应用处理器管理v 运行态运行态等待态等待态 往往是由于等待外设,等待主存往往是由于等待外设,等待主存等资源分配或等待人工干预而引起的。等资源分配或等待人工干预而引起的。v 等待态等待态就绪态就绪态 则是等待的条件已满足,只需分则是等待的条件已满足,只需分配到处理器后就能运行。配到处理器后就能运行。v 运行态运行态就绪态就绪态 不是由于自身原因,而是由外界不是由于自身原因,而是由外界原因使运行状态的进程让出处理器,这时候就变成原因使运行状态的进程让出处理器,这时候就变成就绪态。例如时间片用完,或有更高优先级的进程就绪态。例如时间片用完,

36、或有更高优先级的进程来抢占处理器等。来抢占处理器等。v 就绪态就绪态运行态运行态 系统按某种策略选中就绪队列中系统按某种策略选中就绪队列中的一个进程占用处理器,此时就变成了运行态。的一个进程占用处理器,此时就变成了运行态。计算机软件及应用处理器管理进程及状态的例子v医院体检医院体检v体检表体检表程序程序v体检过程体检过程进程进程v体检中等待、就绪、运行对应进程的三种状体检中等待、就绪、运行对应进程的三种状态态计算机软件及应用处理器管理问题:单问题:单CPUCPU系统中,如果系统中有系统中,如果系统中有N个进程,个进程,v运行进程最多几个,最少几个?运行进程最多几个,最少几个?v就绪进程最多几个

37、,最少几个?就绪进程最多几个,最少几个?v等待进程最多几个,最少几个?等待进程最多几个,最少几个?解答:解答:运行进程最多运行进程最多1 1个,最少个,最少0 0个;个; 就绪进程最多就绪进程最多N-1-1个,最少个,最少0 0个;个; 等待进程最多等待进程最多N个,最少个,最少0 0个;个;计算机软件及应用处理器管理小问题小问题 下列进程状态变化中,下列进程状态变化中,_变化是不可能产生变化是不可能产生的?的? A 运行运行就绪就绪 B 运行运行阻塞阻塞 C 阻塞阻塞 运行运行 D 阻塞阻塞 就绪就绪计算机软件及应用处理器管理其他教材给出的进程的状态变图其他教材给出的进程的状态变图 运运运运

38、 行行行行 等等等等 待待待待 就就就就 绪绪绪绪服务请求服务请求服务请求服务请求( (请求请求请求请求I/OI/O等等等等) )服务完成服务完成服务完成服务完成/ /事件来到事件来到事件来到事件来到进程调度进程调度进程调度进程调度时间片到时间片到时间片到时间片到计算机软件及应用处理器管理 讨论进程状态变迁讨论进程状态变迁 运运 行行 等等 待待 就就 绪绪变迁变迁变迁变迁 1 1变迁变迁变迁变迁 4 4变迁变迁变迁变迁 3 3变迁变迁变迁变迁 2 2变迁变迁变迁变迁1 1 变迁变迁变迁变迁3 3?变迁变迁变迁变迁4 4 变迁变迁变迁变迁3 3?计算机软件及应用处理器管理问题:如果操作系统里面

39、存在多个进程,找出问题:如果操作系统里面存在多个进程,找出所有的可能状态转换。所有的可能状态转换。解答:解答: 就绪就绪运行运行: : 不一定(系统中仅一个进程)不一定(系统中仅一个进程) 转换条件:被调度程序选中转换条件:被调度程序选中 运行运行就绪就绪: : 一定(讨论就绪队列的长度)一定(讨论就绪队列的长度) 转换条件:时间片到时转换条件:时间片到时, ,或有更高优先级或有更高优先级 的进程出现的进程出现 运行运行等待等待: : 不一定(考虑死锁)不一定(考虑死锁)转换条件:等待某事件发生转换条件:等待某事件发生 等待等待就绪就绪: : 不一定不一定转换条件:考虑就绪队列的长度转换条件:

40、考虑就绪队列的长度计算机软件及应用处理器管理 例例例例1 1: 设有设有设有设有3 3个排序程序。个排序程序。个排序程序。个排序程序。 程序程序程序程序A A:采用冒泡排序算法,在屏幕的左:采用冒泡排序算法,在屏幕的左:采用冒泡排序算法,在屏幕的左:采用冒泡排序算法,在屏幕的左1/31/3处开处开处开处开设一个窗口显示其排序过程。设一个窗口显示其排序过程。设一个窗口显示其排序过程。设一个窗口显示其排序过程。 程序程序程序程序B B:采用堆排序算法,在屏幕的中:采用堆排序算法,在屏幕的中:采用堆排序算法,在屏幕的中:采用堆排序算法,在屏幕的中1/31/3处开设处开设处开设处开设一个窗口显示其排序

41、过程。一个窗口显示其排序过程。一个窗口显示其排序过程。一个窗口显示其排序过程。 程序程序程序程序C C:采用快速排序算法,在屏幕的右:采用快速排序算法,在屏幕的右:采用快速排序算法,在屏幕的右:采用快速排序算法,在屏幕的右1/31/3处开处开处开处开设一个窗口显示其排序过程。设一个窗口显示其排序过程。设一个窗口显示其排序过程。设一个窗口显示其排序过程。 (1) (1) 在不支持进程运行环境的操作系统下运行在不支持进程运行环境的操作系统下运行在不支持进程运行环境的操作系统下运行在不支持进程运行环境的操作系统下运行 (2) (2) 在支持进程运行环境的操作系统下运行在支持进程运行环境的操作系统下运

42、行在支持进程运行环境的操作系统下运行在支持进程运行环境的操作系统下运行 计算机软件及应用处理器管理 例例例例2 2:设设设设有有有有2 2个个个个程程程程序序序序,程程程程序序序序C C是是是是打打打打印印印印工工工工资资资资报报报报表表表表的的的的程程程程序序序序,程程程程序序序序D D是计算是计算是计算是计算10001000以内所有素数并显示最后结果程序。以内所有素数并显示最后结果程序。以内所有素数并显示最后结果程序。以内所有素数并显示最后结果程序。 (1) (1) 在不支持进程运行环境的操作系统下运行。在不支持进程运行环境的操作系统下运行。在不支持进程运行环境的操作系统下运行。在不支持进

43、程运行环境的操作系统下运行。 (2) (2) 在支持进程运行环境的操作系统下运行。在支持进程运行环境的操作系统下运行。在支持进程运行环境的操作系统下运行。在支持进程运行环境的操作系统下运行。 例例例例2 2:解答:解答:解答:解答 (1) (1) 在不支持进程运行环境的操作系统下,在不支持进程运行环境的操作系统下,在不支持进程运行环境的操作系统下,在不支持进程运行环境的操作系统下, 依次执行程序依次执行程序依次执行程序依次执行程序C C、程序、程序、程序、程序D D,可以看到,先是打印机不停地,可以看到,先是打印机不停地,可以看到,先是打印机不停地,可以看到,先是打印机不停地打印工资报表,打完

44、后,接着运行程序打印工资报表,打完后,接着运行程序打印工资报表,打完后,接着运行程序打印工资报表,打完后,接着运行程序C C,不停地计算,最后,不停地计算,最后,不停地计算,最后,不停地计算,最后显示所计算的结果。显示所计算的结果。显示所计算的结果。显示所计算的结果。 (2) (2) 在支撑进程运行环境的操作系统下,在支撑进程运行环境的操作系统下,在支撑进程运行环境的操作系统下,在支撑进程运行环境的操作系统下, 创建进程创建进程创建进程创建进程C C和进程和进程和进程和进程D D。由于进程。由于进程。由于进程。由于进程C C是是是是I I/ / / /OO量较大的进程,而量较大的进程,而量较大

45、的进程,而量较大的进程,而进程进程进程进程D D是计算量较大的进程,故在系统进程调度的控制下,两是计算量较大的进程,故在系统进程调度的控制下,两是计算量较大的进程,故在系统进程调度的控制下,两是计算量较大的进程,故在系统进程调度的控制下,两个进程并发执行。可以看到打印机不断打印工资报表,而处理个进程并发执行。可以看到打印机不断打印工资报表,而处理个进程并发执行。可以看到打印机不断打印工资报表,而处理个进程并发执行。可以看到打印机不断打印工资报表,而处理机不停地计算,最后屏幕显示计算的结果。机不停地计算,最后屏幕显示计算的结果。机不停地计算,最后屏幕显示计算的结果。机不停地计算,最后屏幕显示计算

46、的结果。 计算机软件及应用处理器管理n进程属性:进程属性:n动态性动态性 n多个不同的进程可以包含相同的程序多个不同的进程可以包含相同的程序n并发执行并发执行 并发执行的进程轮流占用处理器并发执行的进程轮流占用处理器n 进程有三种基本状态进程有三种基本状态计算机软件及应用处理器管理可再入程序(识记)可再入程序(识记)v(1) 什么是可再入程序。什么是可再入程序。 一个能被多个用一个能被多个用户同时调用的程序称做户同时调用的程序称做可再入可再入的程序。的程序。v(2) 可再入程序的性质。可再入程序的性质。 可再入程序必须是纯代码,在执行时自身不可再入程序必须是纯代码,在执行时自身不改变;改变;

47、一个可再入程序要求调用者提供工作区,一个可再入程序要求调用者提供工作区,以保证程序以同样方式为各用户服务。以保证程序以同样方式为各用户服务。 编译程序和操作系统程序通常都是编译程序和操作系统程序通常都是可再可再入入程序,能同时被不同用户调用而构成不同程序,能同时被不同用户调用而构成不同的进程。的进程。计算机软件及应用处理器管理n进程三个特性:进程三个特性:n动态性动态性 从诞生、运行,直至消灭。从诞生、运行,直至消灭。n并发性并发性 并发执行的进程轮流占用处理器并发执行的进程轮流占用处理器n 异步性异步性 不可预知的速度向前推进不可预知的速度向前推进计算机软件及应用处理器管理v进程控制块的作用

48、进程控制块的作用进程控制块进程控制块(Process Control Block,简称简称PCB),是操作系统是操作系统为进程分配的用于标志进程,记录各进程执行情况的。进程控为进程分配的用于标志进程,记录各进程执行情况的。进程控制块是进程存在的标志,它记录了进程从创建到消亡动态变化制块是进程存在的标志,它记录了进程从创建到消亡动态变化的状况,进程队列实际也是进程控制块的链接。操作系统利用的状况,进程队列实际也是进程控制块的链接。操作系统利用进程控制块对进程进行控制和管理。进程控制块对进程进行控制和管理。作用:作用:(1)记录进程的有关信息,以便操作系统的进程调度程序对进程进行调度。这些信息包括

49、标志信息、说明信息、现场信息和管理信息等;(2)标志进程的存在,进程控制块是进程存在的唯一标志n进程的组成:进程的组成:进程的组成:进程的组成:程序程序程序程序+ +数据数据数据数据+PCB+PCB3.3 进程队列进程队列3.3.1 进程控制块(领会)进程控制块(领会)计算机软件及应用处理器管理3.3 进程队列进程队列3.3.1 进程控制块(领会)进程控制块(领会)v进程控制块的基本内容。n标志信息含唯一的进程名n说明信息有进程状态、等待原因、进程程序存放位置和进程数据存放位置n现场信息包括通用、控制和程序状态字寄存器的内容n管理信息存放程序优先数和队列指针计算机软件及应用处理器管理PCBPC

50、BPCBPCB的主要内容的主要内容的主要内容的主要内容 计算机软件及应用处理器管理3.3 进程队列进程队列3.3.2 进程的创建和撤销进程的创建和撤销计算机软件及应用处理器管理1 1 1 1进程图进程图进程图进程图(Process Graph)(Process Graph)(Process Graph)(Process Graph)一个进程可以创建另一个进程,进程图是用于描述一个一个进程可以创建另一个进程,进程图是用于描述一个一个进程可以创建另一个进程,进程图是用于描述一个一个进程可以创建另一个进程,进程图是用于描述一个进程的家族关系的有向树,结点进程的家族关系的有向树,结点进程的家族关系的有

51、向树,结点进程的家族关系的有向树,结点( ( ( (圆圈圆圈圆圈圆圈) ) ) )代表进程。代表进程。代表进程。代表进程。进程树进程树 父进程父进程父进程父进程祖先祖先祖先祖先子进程子进程子进程子进程计算机软件及应用处理器管理2 2 2 2引起创建进程的事件引起创建进程的事件引起创建进程的事件引起创建进程的事件n用户登录用户登录用户登录用户登录-分时分时分时分时OSOSOSOSn 作业调度作业调度作业调度作业调度-批处理批处理批处理批处理OSOSOSOSn 提供服务提供服务提供服务提供服务n 应用请求应用请求应用请求应用请求系统内核创建系统内核创建应用程序自己创应用程序自己创建建计算机软件及应

52、用处理器管理3 3 3 3进程的创建进程的创建进程的创建进程的创建(Creation of Process)(Creation of Process)(Creation of Process)(Creation of Process)调用进程调用进程调用进程调用进程创建原语创建原语创建原语创建原语Creat( )Creat( )Creat( )Creat( )按下述步骤创建一个新进程。按下述步骤创建一个新进程。按下述步骤创建一个新进程。按下述步骤创建一个新进程。n n 申请空白申请空白申请空白申请空白PCBPCBPCBPCB。n n 为新进程分配资源。为新进程分配资源。为新进程分配资源。为新进

53、程分配资源。n n 初始化进程控制块初始化进程控制块初始化进程控制块初始化进程控制块n n 将新进程插入就绪队列将新进程插入就绪队列将新进程插入就绪队列将新进程插入就绪队列 代码是什么样的?代码是什么样的?代码是什么样的?代码是什么样的? 计算机软件及应用处理器管理创建原语流图计算机软件及应用处理器管理进程的撤销进程的撤销进程的撤销进程的撤销1 1 1 1引起进程撤销的事件引起进程撤销的事件引起进程撤销的事件引起进程撤销的事件1) 1) 1) 1) 正常结束正常结束正常结束正常结束 例如,批处理系统中,例如,批处理系统中,例如,批处理系统中,例如,批处理系统中,HoltHoltHoltHolt

54、 分时系统中,分时系统中,分时系统中,分时系统中,Logs offLogs offLogs offLogs off 2) 2) 2) 2) 异常结束异常结束异常结束异常结束 越界越界保护错保护错特权指令错特权指令错非法指令错非法指令错运行超时运行超时等待超时等待超时算术运算错算术运算错I/O故障故障 3) 3) 3) 3) 外界干预外界干预外界干预外界干预 操作员或操作系统操作员或操作系统父进程请求父进程请求父进程父进程终止终止计算机软件及应用处理器管理2 2 2 2进程的撤销过程进程的撤销过程进程的撤销过程进程的撤销过程如如如如果果果果系系系系统统统统中中中中发发发发生生生生了了了了上上上上

55、述述述述要要要要求求求求终终终终止止止止进进进进程程程程的的的的某某某某事事事事件件件件,OSOSOSOS便便便便调调调调用进程用进程用进程用进程终止原语终止原语终止原语终止原语destroydestroy . . . .(1) (1) (1) (1) 根根根根据据据据被被被被终终终终止止止止进进进进程程程程的的的的标标标标识识识识符符符符,从从从从PCBPCBPCBPCB集集集集合合合合中中中中检检检检索索索索出出出出该该该该进程的进程的进程的进程的PCBPCBPCBPCB,从中读出该进程的状态。,从中读出该进程的状态。,从中读出该进程的状态。,从中读出该进程的状态。(2) (2) (2)

56、(2) 若被终止进程正处于执行状态,应立即终止该进程若被终止进程正处于执行状态,应立即终止该进程若被终止进程正处于执行状态,应立即终止该进程若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真,用于指示该进程被终止后应重的执行,并置调度标志为真,用于指示该进程被终止后应重的执行,并置调度标志为真,用于指示该进程被终止后应重的执行,并置调度标志为真,用于指示该进程被终止后应重新进行调度。新进行调度。新进行调度。新进行调度。 计算机软件及应用处理器管理(3) (3) (3) (3) 若若若若该该该该进进进进程程程程还还还还有有有有子子子子孙孙孙孙进进进进程程程程,还还还还应应应应将

57、将将将其其其其所所所所有有有有子子子子孙孙孙孙进进进进程程程程予予予予以终止,以防它们成为不可控的进程。以终止,以防它们成为不可控的进程。以终止,以防它们成为不可控的进程。以终止,以防它们成为不可控的进程。?(4) (4) (4) (4) 将将将将被被被被终终终终止止止止进进进进程程程程所所所所拥拥拥拥有有有有的的的的全全全全部部部部资资资资源源源源,或或或或者者者者归归归归还还还还给给给给其其其其父父父父进程,或者归还给系统。进程,或者归还给系统。进程,或者归还给系统。进程,或者归还给系统。(5) (5) (5) (5) 将被终止进程将被终止进程将被终止进程将被终止进程(PCB)(PCB)(

58、PCB)(PCB)从所在队列从所在队列从所在队列从所在队列( ( ( (或链表或链表或链表或链表) ) ) )中移出,中移出,中移出,中移出,等待其他程序来搜集信息。等待其他程序来搜集信息。等待其他程序来搜集信息。等待其他程序来搜集信息。 计算机软件及应用处理器管理撤消原语流图计算机软件及应用处理器管理进程的阻塞与唤醒进程的阻塞与唤醒进程的阻塞与唤醒进程的阻塞与唤醒1. 1. 1. 1. 引起进程阻塞和唤醒的事件引起进程阻塞和唤醒的事件引起进程阻塞和唤醒的事件引起进程阻塞和唤醒的事件有下述几类事件会引起进程阻塞或被唤醒。有下述几类事件会引起进程阻塞或被唤醒。有下述几类事件会引起进程阻塞或被唤醒

59、。有下述几类事件会引起进程阻塞或被唤醒。1) 1) 1) 1) 请求系统服务:打印机请求系统服务:打印机请求系统服务:打印机请求系统服务:打印机 2) 2) 2) 2) 启动某种操作:启动某种操作:启动某种操作:启动某种操作:I/OI/OI/OI/O 3) 3) 3) 3) 新数据尚未到达:合作新数据尚未到达:合作新数据尚未到达:合作新数据尚未到达:合作 4) 4) 4) 4) 无新工作可做:发送数据无新工作可做:发送数据无新工作可做:发送数据无新工作可做:发送数据计算机软件及应用处理器管理2 2 2 2进程阻塞过程进程阻塞过程进程阻塞过程进程阻塞过程n n 正在执行的进程,当发现上述某事件时

60、,由于无法继正在执行的进程,当发现上述某事件时,由于无法继正在执行的进程,当发现上述某事件时,由于无法继正在执行的进程,当发现上述某事件时,由于无法继续执行,于是进程便通过调用续执行,于是进程便通过调用续执行,于是进程便通过调用续执行,于是进程便通过调用阻塞原语阻塞原语阻塞原语阻塞原语blockblockblockblock把把把把自己自己自己自己阻塞。阻塞。阻塞。阻塞。n n 过程:过程:过程:过程:停止执行,把进程控制块中的现行状态由停止执行,把进程控制块中的现行状态由停止执行,把进程控制块中的现行状态由停止执行,把进程控制块中的现行状态由“ “执行执行执行执行” ”改为改为改为改为“ “

61、阻塞阻塞阻塞阻塞” ”,并将,并将,并将,并将PCBPCBPCBPCB插入阻塞队列插入阻塞队列插入阻塞队列插入阻塞队列; ; ; ;将本进程插入到具有相同事件的阻塞将本进程插入到具有相同事件的阻塞将本进程插入到具有相同事件的阻塞将本进程插入到具有相同事件的阻塞( ( ( (等待等待等待等待) ) ) )队列队列队列队列; ; ; ;转调度程序进行重新调度,将处理机分配给另一就绪进转调度程序进行重新调度,将处理机分配给另一就绪进转调度程序进行重新调度,将处理机分配给另一就绪进转调度程序进行重新调度,将处理机分配给另一就绪进程并进行切换,程并进行切换,程并进行切换,程并进行切换,计算机软件及应用处

62、理器管理 入入 口口 将现行进程的将现行进程的pcb现场送该现场送该进程的进程的pcb现场保护区现场保护区置该进程状态为阻塞置该进程状态为阻塞把该进程插入相应的等待队列把该进程插入相应的等待队列转进程调度程序转进程调度程序进程阻塞原语的实现,进程阻塞原语的实现,进程阻塞原语的实现,进程阻塞原语的实现,这里,转进程调度程序是很这里,转进程调度程序是很重要的,否则,处理机将会出现空转而浪费资源。重要的,否则,处理机将会出现空转而浪费资源。计算机软件及应用处理器管理3 3 3 3进程唤醒过程进程唤醒过程进程唤醒过程进程唤醒过程n n 当当当当被被被被阻阻阻阻塞塞塞塞进进进进程程程程所所所所期期期期待

63、待待待的的的的事事事事件件件件出出出出现现现现时时时时,则则则则由由由由有有有有关关关关进进进进程程程程调调调调用用用用唤醒原语唤醒原语唤醒原语唤醒原语wakeup( )wakeup( )wakeup( )wakeup( ),将等待该事件的进程唤醒。,将等待该事件的进程唤醒。,将等待该事件的进程唤醒。,将等待该事件的进程唤醒。n n执行过程执行过程执行过程执行过程:把把把把被被被被阻阻阻阻塞塞塞塞的的的的进进进进程程程程从从从从等等等等待待待待该该该该事事事事件件件件的的的的阻阻阻阻塞塞塞塞队队队队列列列列中中中中移移移移出出出出,将其将其将其将其PCBPCBPCBPCB中的现行状态由阻塞改为

64、就绪中的现行状态由阻塞改为就绪中的现行状态由阻塞改为就绪中的现行状态由阻塞改为就绪; ; ; ;再将该再将该再将该再将该PCBPCBPCBPCB插入到就绪队列中。插入到就绪队列中。插入到就绪队列中。插入到就绪队列中。计算机软件及应用处理器管理图唤醒原语计算机软件及应用处理器管理小结小结vv操作系统的顺序程序和并发进程执行的各自特点操作系统的顺序程序和并发进程执行的各自特点操作系统的顺序程序和并发进程执行的各自特点操作系统的顺序程序和并发进程执行的各自特点 (1) (1) (1) (1) 顺序性顺序性顺序性顺序性 1) 1) 1) 1) 间断性间断性间断性间断性 (2) (2) (2) (2)

65、封闭性封闭性封闭性封闭性 2) 2) 2) 2) 失去封闭性失去封闭性失去封闭性失去封闭性 (3) (3) (3) (3) 可再现性可再现性可再现性可再现性 3) 3) 3) 3) 不可再现性不可再现性不可再现性不可再现性 vv进程基本概念进程基本概念进程基本概念进程基本概念 进程是进程实体的运行过程,是系统进行资源分配和调度的进程是进程实体的运行过程,是系统进行资源分配和调度的进程是进程实体的运行过程,是系统进行资源分配和调度的进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位一个独立单位一个独立单位一个独立单位vv进程的三个基本状态及转换进程的三个基本状态及转换进程的三个基本

66、状态及转换进程的三个基本状态及转换 1) 1) 1) 1) 就绪就绪就绪就绪(Ready)(Ready)(Ready)(Ready)状态状态状态状态 2) 2) 2) 2) 执行状态执行状态执行状态执行状态 3) 3) 3) 3) 阻塞状态阻塞状态阻塞状态阻塞状态 vv进程控制进程控制进程控制进程控制计算机软件及应用处理器管理3.3.3 进程队列的链接进程队列的链接v在多道程序设计的系统中往往会同时创建多个进程。在多道程序设计的系统中往往会同时创建多个进程。在单处理器的情况下,每次只能让一个进程运行,在单处理器的情况下,每次只能让一个进程运行,其他的进程处于就绪状态或等待状态。为了便于管其他的

67、进程处于就绪状态或等待状态。为了便于管理,经常把处于相同状态的进程链接在一起,称理,经常把处于相同状态的进程链接在一起,称“进程队列进程队列”,由于进程控制块能标志进程的存在和动由于进程控制块能标志进程的存在和动态刻画进程的特性,因此,进程队列可以用进程控态刻画进程的特性,因此,进程队列可以用进程控制块的连接来形成。制块的连接来形成。v链接的方式有两种:单向链接和双向链接。链接的方式有两种:单向链接和双向链接。计算机软件及应用处理器管理v基本队列基本队列 就绪队列:由若干就绪进程按一定次序链接起就绪队列:由若干就绪进程按一定次序链接起来的队列。来的队列。 等待队列:把等待资源或等待某些事件的进

68、程等待队列:把等待资源或等待某些事件的进程排列的队列排列的队列v进程的入队和出队。进程的入队和出队。 出队和入队:当发生的某个事件使一个进程的状态出队和入队:当发生的某个事件使一个进程的状态发生变化时,这个进程就要退出所在的某个队列而发生变化时,这个进程就要退出所在的某个队列而排入到另一个队列中去。排入到另一个队列中去。 出队:一个进程从所在的队列退出的操作称为出队:一个进程从所在的队列退出的操作称为出队出队 入队:一个进程排入到一个指定的队列的操作入队:一个进程排入到一个指定的队列的操作称为入队。称为入队。计算机软件及应用处理器管理系统中负责进程入队和出队的工作称为系统中负责进程入队和出队的

69、工作称为队队列管理列管理。 无论单向链接还是双向链接,解决入,出无论单向链接还是双向链接,解决入,出队问题,都是首先找到该队列的队首指针,队问题,都是首先找到该队列的队首指针,沿链找出要入队的进程以及它要插入的位置,沿链找出要入队的进程以及它要插入的位置,或找出要出队的进程,然后修改本进程指针或找出要出队的进程,然后修改本进程指针(入队情况)和相邻进程的有关指针值即可。(入队情况)和相邻进程的有关指针值即可。计算机软件及应用处理器管理计算机软件及应用处理器管理3.4 UNIX系统中的进程系统中的进程3.4.1 UNIX进程的特点进程的特点UNIX中分为用户进程和系统进程,用户进程工中分为用户进

70、程和系统进程,用户进程工作在用户态执行,系统进程工作在核心态执作在用户态执行,系统进程工作在核心态执行。如果在用户态的进程要请求系统功能调行。如果在用户态的进程要请求系统功能调用的话,需要使用访管指令。用的话,需要使用访管指令。计算机软件及应用处理器管理3.4 UNIX系统中的进程系统中的进程3.4.2 UNIX进程的组成进程的组成 进程控制块(包括进程基本控制块和进程扩充控制块)、正文段、数据段进程控制块(包括进程基本控制块和进程扩充控制块)、正文段、数据段v(1)进程基本控制块()进程基本控制块(proc)中包含的内容)中包含的内容PS:进程基本控制块的内容是常驻主存的。:进程基本控制块的

71、内容是常驻主存的。A,标识信息:包括用户标识和进程标识。标识信息:包括用户标识和进程标识。B,有关进程非常驻主存的信息。有关进程非常驻主存的信息。C,进程调度的一些信息。进程调度的一些信息。D,其他信息其他信息v(2)进程扩充控制块()进程扩充控制块(user)随用户程序一起装入主存和调出主存,包括:标识,现场保护,主存管理,随用户程序一起装入主存和调出主存,包括:标识,现场保护,主存管理,文件读写,系统调用,进程控制与管理等。进程控制块并不全部在内存。文件读写,系统调用,进程控制与管理等。进程控制块并不全部在内存。P46-48v正文段正文段:可供多个进程共享的程序。可供多个进程共享的程序。v

72、数据段数据段:进程执行费共享的程序和程序执行时所用到的数据。进程执行费共享的程序和程序执行时所用到的数据。计算机软件及应用处理器管理3.4 UNIX系统中的进程系统中的进程3.4.3 UNIX进程的状态进程的状态v(1)运行状态)运行状态v(2)就绪状态)就绪状态v(3)睡眠状态)睡眠状态v(4)创建状态)创建状态v(5)僵死状态)僵死状态计算机软件及应用处理器管理 在在UNIXUNIX系统中进程控制的系统调用有:系统中进程控制的系统调用有: fork() fork() 创建子进程创建子进程 sleep() sleep() 进程睡眠进程睡眠 exit() exit() 进程自已终止(自杀)进程

73、自已终止(自杀) wait() ( wait() (父)等待子进程终止父)等待子进程终止 wakeup() wakeup() 进程唤醒进程唤醒 计算机软件及应用处理器管理3.4 UNIX系统中的进程系统中的进程3.4.4 UNIX进程的创建和终止进程的创建和终止v(1)unix进程树进程树unix系统被启动后,首先执行系统被启动后,首先执行0号进程,号进程,0号进程是运行持续工作号进程是运行持续工作在核心态的进程,它的功能是执行进程调度和让进程在主存和在核心态的进程,它的功能是执行进程调度和让进程在主存和磁盘上进行交换。磁盘上进行交换。0号进程又称为交换进程。号进程又称为交换进程。0号进程又创

74、建一号进程又创建一个个1号进程,号进程,1号进程又称为初始化进程。号进程又称为初始化进程。1号进程在用户态运号进程在用户态运行,每当有终端有用户请求注册时,行,每当有终端有用户请求注册时,1号进程就为该用户创建号进程就为该用户创建1个个login进程。如果有多个用户注册,那么就创建多个进程。如果有多个用户注册,那么就创建多个login进进程。如果用户登陆成功程。如果用户登陆成功login进程就创建进程就创建1个个shell进程。进程。-这样的创建过程像一棵树这样的创建过程像一棵树v(2)unix进程的创建进程的创建在在unix中除了中除了1号进程和号进程和0号进程外其他进程都是用号进程外其他进

75、程都是用fork()系统调系统调用创建的,形成父子关系。用创建的,形成父子关系。由由fork()创建的新进程实际上是父进程的一个映像。创建的新进程实际上是父进程的一个映像。计算机软件及应用处理器管理vfork主要工作如下:主要工作如下:a,在进程在进程proc中找出一个空闲的表项,用来存放中找出一个空闲的表项,用来存放proc结构结构b,为子进程分配一个唯一的标识号为子进程分配一个唯一的标识号c,把父进程的把父进程的proc中的字段复制到子进程的中的字段复制到子进程的proc中,但把分中,但把分配到得标识号置于配到得标识号置于p_pid中,把中,把p_ppid置为父进程的的标识置为父进程的的标

76、识号,把号,把p_stat置为创建状态。置为创建状态。d,按父进程中按父进程中p_size所示的长度为子进程申请分配内存。所示的长度为子进程申请分配内存。v(3)unix进程的终止进程的终止计算机软件及应用处理器管理v过程:以shell进程为例,shell进程通过接收用户的命令,然后通过fork()创建子进程处理命令exec,父进程通过wait等待子进程的结束,子进程是通过系统调用exit请求终止自己,并释放父进程。v系统调用系统调用exit的主要任务是把终止进程自被创建以来所占用的系统资源的主要任务是把终止进程自被创建以来所占用的系统资源退还给系统。退还给系统。关闭该进程的打开文件,释放它对

77、正文段的使用权。把user结构换出到磁盘兑换区并收回数据段占用的主存空间。然后把子进程改为僵死状态,像父进程发出信号,由父进程作善后处理。vv系统调用系统调用wait对对exit终止信号作善后处理。终止信号作善后处理。wait的任务是先查找僵死状态的子进程,若子进程未僵死,则让该进程等待,直到子进程成为僵死状态后释放。当父进程释放后,wait继续执行,再从磁盘对换区中把子进程的user结构读入主存,释放user在对换区中所占的空间,然后把user存放的时间信息加在本进程的user结构中,再释放主缓冲去,把子进程子proc中的表项删除。vv综上所述:一个子进程终止后,其父进程的善后处理工作主要是

78、释放子进程的proc和user,并把user存放的时间信息累加到父进程中。计算机软件及应用处理器管理vfork调用的一个奇妙之处就是它仅仅被调用一次,却能够返回两次,它可能有三种不同的返回值:v在父进程中,fork返回新创建子进程的进程ID;v在子进程中,fork返回0;v如果出现错误,fork返回一个负值vP54实验二进程管理计算机软件及应用处理器管理v/* fork_test.c */#include#inlcudemain()pid_t pid;/*此时仅有一个进程此时仅有一个进程*/pid=fork();/*此时已经有两个进程在同时运行此时已经有两个进程在同时运行*/if(pid1队列

79、队列22队列队列33队列队列n nSi=2Si-1时间片到时间片到时间片到时间片到计算机软件及应用处理器管理 多级反馈轮转法多级反馈轮转法多级反馈轮转法多级反馈轮转法设置多个就绪队列设置多个就绪队列设置多个就绪队列设置多个就绪队列, , , ,每个队列赋予不同地优先级。队列每个队列赋予不同地优先级。队列每个队列赋予不同地优先级。队列每个队列赋予不同地优先级。队列按按按按FCFSFCFSFCFSFCFS原则排列。原则排列。原则排列。原则排列。各队列时间片不同。各队列时间片不同。各队列时间片不同。各队列时间片不同。当一个新进程进入内存后,首先放在第一队列尾,按当一个新进程进入内存后,首先放在第一队

80、列尾,按当一个新进程进入内存后,首先放在第一队列尾,按当一个新进程进入内存后,首先放在第一队列尾,按FCFSFCFSFCFSFCFS原则调度;如果该时间片内未结束,转入第二队列尾;原则调度;如果该时间片内未结束,转入第二队列尾;原则调度;如果该时间片内未结束,转入第二队列尾;原则调度;如果该时间片内未结束,转入第二队列尾;直到最后的第直到最后的第直到最后的第直到最后的第N N N N队列,在第队列,在第队列,在第队列,在第N N N N队列中便采取按时间片轮转的队列中便采取按时间片轮转的队列中便采取按时间片轮转的队列中便采取按时间片轮转的方式执行(不在转下一个队列了,因为在此队列都执行完方式执

81、行(不在转下一个队列了,因为在此队列都执行完方式执行(不在转下一个队列了,因为在此队列都执行完方式执行(不在转下一个队列了,因为在此队列都执行完了)。了)。了)。了)。仅当第仅当第仅当第仅当第i i i i队列空闲时,才调度第队列空闲时,才调度第队列空闲时,才调度第队列空闲时,才调度第i+1i+1i+1i+1队列。如有新进程进队列。如有新进程进队列。如有新进程进队列。如有新进程进入优先级较高的队列,则剥夺入优先级较高的队列,则剥夺入优先级较高的队列,则剥夺入优先级较高的队列,则剥夺CPUCPUCPUCPU执行新进程,旧进程放执行新进程,旧进程放执行新进程,旧进程放执行新进程,旧进程放入原队列尾

82、入原队列尾入原队列尾入原队列尾计算机软件及应用处理器管理 多级反馈队列调度多级反馈队列调度多级反馈队列调度多级反馈队列调度算法性能算法性能算法性能算法性能 终端型用户:在第一队列中完成,作业短,终端型用户:在第一队列中完成,作业短,终端型用户:在第一队列中完成,作业短,终端型用户:在第一队列中完成,作业短,交互型。交互型。交互型。交互型。 短批处理用户:周转时间较短,通常三个队短批处理用户:周转时间较短,通常三个队短批处理用户:周转时间较短,通常三个队短批处理用户:周转时间较短,通常三个队列即可完成。列即可完成。列即可完成。列即可完成。 长批处理作业用户:依次在前长批处理作业用户:依次在前长批

83、处理作业用户:依次在前长批处理作业用户:依次在前N-1N-1N-1N-1个队列中执个队列中执个队列中执个队列中执行,在第行,在第行,在第行,在第N N N N个队列中按轮转方式运行。个队列中按轮转方式运行。个队列中按轮转方式运行。个队列中按轮转方式运行。计算机软件及应用处理器管理思考:如下调度用的进程状态变迁图,有几个队思考:如下调度用的进程状态变迁图,有几个队思考:如下调度用的进程状态变迁图,有几个队思考:如下调度用的进程状态变迁图,有几个队列?调度算法和调度效果如何?列?调度算法和调度效果如何?列?调度算法和调度效果如何?列?调度算法和调度效果如何? 运行运行低优先就绪低优先就绪高优先就高

84、优先就绪绪等待等待首先选择首先选择100ms其次选择其次选择500ms请求请求I/OI/O完成完成超时间片超时间片计算机软件及应用处理器管理队列结构队列结构队列结构队列结构 I/O I/O等待队列等待队列等待队列等待队列 一个进程如果请求一个进程如果请求一个进程如果请求一个进程如果请求I/OI/O,则进入,则进入,则进入,则进入I/OI/O等待队列。等待队列。等待队列。等待队列。 低优先就绪队低优先就绪队低优先就绪队低优先就绪队 一个进程如果在运行中超过了它的时间量就进入低优先就一个进程如果在运行中超过了它的时间量就进入低优先就一个进程如果在运行中超过了它的时间量就进入低优先就一个进程如果在运

85、行中超过了它的时间量就进入低优先就绪队列。绪队列。绪队列。绪队列。 高优先就绪队列高优先就绪队列高优先就绪队列高优先就绪队列 当进程从等待状态变为就绪状态时则进入高优先就绪队列。当进程从等待状态变为就绪状态时则进入高优先就绪队列。当进程从等待状态变为就绪状态时则进入高优先就绪队列。当进程从等待状态变为就绪状态时则进入高优先就绪队列。 计算机软件及应用处理器管理进程调度算法进程调度算法进程调度算法进程调度算法 优先调度与时间片调度相结合的调度策略:优先调度与时间片调度相结合的调度策略:优先调度与时间片调度相结合的调度策略:优先调度与时间片调度相结合的调度策略: (1) (1) 当当当当CPUCP

86、U空闲时,若高优先就绪队列非空,则从高优先就空闲时,若高优先就绪队列非空,则从高优先就空闲时,若高优先就绪队列非空,则从高优先就空闲时,若高优先就绪队列非空,则从高优先就绪队列中选择一个进程运行,分配时间片为绪队列中选择一个进程运行,分配时间片为绪队列中选择一个进程运行,分配时间片为绪队列中选择一个进程运行,分配时间片为100ms100ms。 (2) (2) 当当当当CPUCPU空闲时,若高优先就绪队列为空,则从低优先就空闲时,若高优先就绪队列为空,则从低优先就空闲时,若高优先就绪队列为空,则从低优先就空闲时,若高优先就绪队列为空,则从低优先就绪队列中选择一个进程运行,分配时间片为绪队列中选择

87、一个进程运行,分配时间片为绪队列中选择一个进程运行,分配时间片为绪队列中选择一个进程运行,分配时间片为500ms500ms。调度效果调度效果调度效果调度效果 优先照顾了优先照顾了优先照顾了优先照顾了IOIO量大的进程;量大的进程;量大的进程;量大的进程; 适当照顾了计算量大的进程。适当照顾了计算量大的进程。适当照顾了计算量大的进程。适当照顾了计算量大的进程。计算机软件及应用处理器管理3.7.4UNIX系统的进程调度算法v动态优先数调度算法动态优先数调度算法n设置法设置法n计算法计算法n进程调度程序进程调度程序 Switch计算机软件及应用处理器管理思考思考v若在操作系统的就绪进程队列中等待运行

88、的若在操作系统的就绪进程队列中等待运行的共有三个进程共有三个进程P1、P2、P3,已知它们各自的,已知它们各自的运行时间为运行时间为a、b、c,且满足关系,且满足关系a b c。请证明采用最短作业优先调度算法能够获得请证明采用最短作业优先调度算法能够获得最小平均周转时间。最小平均周转时间。计算机软件及应用处理器管理证明:证明:v短作业优先调度,调度顺序为短作业优先调度,调度顺序为1,2,3,三个,三个作业的总周转时间为:作业的总周转时间为:T1=a+(a+b)+(a+b+c)v若不按短作业优先调度,采用非时间片轮转法,若不按短作业优先调度,采用非时间片轮转法,不失一般性,假设调度顺序为不失一般

89、性,假设调度顺序为2,1,3,则总,则总周转时间为周转时间为vT2=v由此可见,非时间片轮转法中短作业优先调度由此可见,非时间片轮转法中短作业优先调度算法可获得最小平均周转时间。算法可获得最小平均周转时间。计算机软件及应用处理器管理v证明:证明: 假设进程被调度运行的顺序为假设进程被调度运行的顺序为P1、P2、P3,每个进程的运行时,每个进程的运行时间为间为T1、T2、T3。 若采用非时间片轮转算法,则平均周转时间的计算公式为:若采用非时间片轮转算法,则平均周转时间的计算公式为: 平均周转时间平均周转时间 (3T1 + 2T2 T3)/ 3 = T1 + 2T2/3 + T3/3; 若采用时间

90、片轮转算法,设每个进程需要若采用时间片轮转算法,设每个进程需要N1,N2,N3个时间片可以个时间片可以运行完,则周转时间为运行完,则周转时间为: 其中其中Ts为时间片大小为时间片大小平均周转时间平均周转时间 显然可见,采用非时间片轮转的平均周转时间小于采用时间显然可见,采用非时间片轮转的平均周转时间小于采用时间片轮转算法,在各种非时间片轮转的线程调度算法中,保证平均周转片轮转算法,在各种非时间片轮转的线程调度算法中,保证平均周转时间最小的条件为时间最小的条件为T1 T 2 T3,即遵循最短作业优先的思想调度进,即遵循最短作业优先的思想调度进程运行。程运行。T=【(N1+N1-1+N1-1)+(

91、N2+N1+N2-1)+(N3+N2+N1)】Ts =5T1+3T2+T3-3Ts计算机软件及应用处理器管理复习题v1、实现多道设程序设计的前提条件是()。、实现多道设程序设计的前提条件是()。A、成批处理作业、成批处理作业B、分时多用户、分时多用户C、设置管、目态、设置管、目态D、处理机与外设并行操作、处理机与外设并行操作v2、进程有多个状态,不会发生的状态转换是()、进程有多个状态,不会发生的状态转换是()A、就绪态转换为运行态、就绪态转换为运行态B、运行态转换为就绪态、运行态转换为就绪态C、就绪态转换为等待态、就绪态转换为等待态D、等待态转换为就绪态、等待态转换为就绪态v3、进程调度算法

92、有多种,不是进程调度算法的算法是(、进程调度算法有多种,不是进程调度算法的算法是()。)。A、先来先服务调度算法、先来先服务调度算法B、最高响应比优先调度算、最高响应比优先调度算法法C、优先数调度算法、优先数调度算法D、时间片轮转调度算法、时间片轮转调度算法计算机软件及应用处理器管理v4、多项选择:进程由()组成。、多项选择:进程由()组成。 A、程序状态字、程序状态字B、程序模块、程序模块C、就绪队列、就绪队列 D、数据集合、数据集合E、进程控制块、进程控制块v5、进程所请求的一次打印输出结束后,将使进程状态从(、进程所请求的一次打印输出结束后,将使进程状态从( )。)。A、运行态变为就绪态

93、、运行态变为就绪态 B、运行态变为等待态、运行态变为等待态C、就绪态变为运行态、就绪态变为运行态 D、等待态变为就绪态、等待态变为就绪态v多项选择:引入多道程序设计的主要目的在于()多项选择:引入多道程序设计的主要目的在于()A、提高实时响应速度、提高实时响应速度B、充分利用处理机、减少、充分利用处理机、减少处理机的空闲时间。处理机的空闲时间。C、有利于代码共享、有利于代码共享D、充分利用外围设备、充分利用外围设备E、减少存储器碎片、减少存储器碎片计算机软件及应用处理器管理v7、进程存在的标志是、进程存在的标志是_,从操作系,从操作系统的角度来看,可将进程分为统的角度来看,可将进程分为_、_两

94、大类。两大类。v8、进程在用完一个器时间片后被强迫进入的、进程在用完一个器时间片后被强迫进入的等待状态属于等待状态属于_。v9、简答题:进程调度中、简答题:进程调度中“可抢占可抢占”和和“非抢非抢占占”两种方式,哪一种系统的开销更大?为两种方式,哪一种系统的开销更大?为什么?什么?v10、简答题:简述进程调度的功能。、简答题:简述进程调度的功能。v11、简答题:引起进程调度的原因很多,试、简答题:引起进程调度的原因很多,试指出这些原因。指出这些原因。计算机软件及应用处理器管理v1、D2、C3、B4、BD5、D6、BDv7、进程控制块系统进程用户进程、进程控制块系统进程用户进程8、就绪态、就绪态

95、v9、这两种方式下,、这两种方式下,“可抢占可抢占”方式的系统开销更大。因为方式的系统开销更大。因为此时系统必须监视每一个进入就绪态进程的优先数,当优先此时系统必须监视每一个进入就绪态进程的优先数,当优先数高于当前运行态进程时就产生中断把更高优先数的进程调数高于当前运行态进程时就产生中断把更高优先数的进程调入运行,这种情况势必增加进程调度的次数和保护现场的开入运行,这种情况势必增加进程调度的次数和保护现场的开销。销。v10、在多道程序设计系统中,同时有多个进程处于就绪状态,、在多道程序设计系统中,同时有多个进程处于就绪状态,它们都要求占用处理器运行。进程调度的功能就是们竞争处它们都要求占用处理器运行。进程调度的功能就是们竞争处理器问题的,它按照某种调度算法从就绪队列中选择一个进理器问题的,它按照某种调度算法从就绪队列中选择一个进程,让它占用处理器。程,让它占用处理器。v11、引起进程调度的原因包括:(、引起进程调度的原因包括:(1)一个进程从运行状态)一个进程从运行状态变成了等待状态。(变成了等待状态。(2)一个进程从运行状态变成了就绪状)一个进程从运行状态变成了就绪状态。(态。(3)一个进程从等待状态变成了就绪状态()一个进程从等待状态变成了就绪状态(4)一个进)一个进程完成工作后被撤消。程完成工作后被撤消。计算机软件及应用处理器管理

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号