《第2章处理器管理.ppt》由会员分享,可在线阅读,更多相关《第2章处理器管理.ppt(152页珍藏版)》请在三一办公上搜索。
1、1,第二章 处理器管理,计算机系统中,最宝贵的资源是CPU。为了提高它的利用率,需要引入多道程序设计的概念。,2,2.1 多道程序设计,2.1.1 程序的顺序执行程序:是一个在时间上严格有序的指令集合。一个计算问题往往按照一定的顺序执行,执行的顺序由编制的程序确定。,输入数据,处 理,输出结果,3,4,例 如:,数据,过程,5,程序的顺序执行,资源利用率低,t,数据三,数据二,数据一,0,4,6,9,14,18,20,23,26,30,程序的顺序执行图,黑线:表示输入红线:表示处理灰线:表示输出,6,2.1.2 程序的并行执行,t,t1,t2,数据1,数据2,数据3,t3,t4,7,t,0,4
2、,6,9,13,12,15,16,20,8,2.1.3 多道程序设计 多道程序设计:让多个程序(作业)同时进入主存储器并行执行,9,在多道程序设计环境下,系统具有如下特点:资源利用率高系统吞吐量大 程序间制约性,t,0,4,6,9,13,12,15,16,20,10,举例说明:有A、B两个任务需要计算机完成,各自流程:A:计算50ms,打印100ms,再计算50ms打印100ms结束B:计算50ms,输入数据80ms,再计算100ms,打印100ms结束,50,150,200,300,350,430,530,630,CPU利用率=250/630*100%=39.7%,50,150,100,18
3、0,200,300,400,11,多道程序设计环境:内存中允许有多个程序存在,它们轮流地使用着CPU。,12,执行的并发性:从宏观上看,同时在内存的多个程序都在执行着,在按照自己程序规定的步骤向前推进;从微观上看,由于CPU在任何时刻只能执行一个程序,因此这些程序轮流占用CPU,交替地执行着。,13,2009-44一个计算问题的程序分成三个可以独立执行的程序模块:输入程序、处理程序和打印程序,每一批数据都需顺序被这些模块执行。当有多批数据时,这三个程序模块中可以并行运行的是()A输入程序、处理程序和打印程序B输入程序和处理程序C处理程序和打印程序D打印程序和输入程序,A,14,2010-4,5
4、.多道程序设计的意义是()A.允许多个作业同时入驻主存储器,中央处理器轮流执行各个作业,各个作业有可能同时使用所需的外围设备B.允许多个作业轮流入驻主存储器,中央处理器轮流执行各个作业,各个作业同时使用所需的外围设备C.允许多个作业轮流入驻主存储器,中央处理器轮流执行各个作业,各个作业轮流使用所需的外围设备D.允许多个作业同时入驻主存储器,中央处理器轮流执行各个作业,各个作业不同时使用所需的外围设备,A,15,2010-4,6.采用多道程序设计方法的计算机系统,()A.提高了处理器的利用率和增加了完成计算所需的总时间,提高了单位时间内的算题能力B.提高了处理器的利用率和增加了完成计算所需的总时
5、间,降低了单位时间内的算题能力C.降低了处理器的利用率和单位时间内的算题能力,增加了完成计算所需的总时间D.提高了处理器的利用率和单位时间内的算题能力,可能延长完成某算题所需的总时间,D,16,2.2 进程的概念“进程(Process)”是现代操作系统设计中的一个基本概念,也是一个管理实体。它最早被用于美国麻省理工学院的MULTICS系统和IBM的CTSS/360系统,不过那里称其为“任务(Task)”,其实是两个等同的概念。,17,进程是一个程序关于某个数据集合的一次执行过程。,18,2.2.2 为什么引入进程,提高资源利用率,正确描述程序的执行情况,19,20,2.2.3 进程的属性(1)
6、进程是动态概念,而程序是静态概念,21,(2)程序和进程无一一对应关系,一个程序可能对应多个进程;一个进程可以包含多个程序,22,(3)多个进程可并发执行 并发:两个或以上进程在同一时间段内都向前推进。,23,(4)进程的存在是暂时的,因为它有一个从创建到撤销,有一个生命周期;程序存在是永久的。,24,(5)进程的状态通常在操作系统中,进程至少要有三种基本状态(进程控制状态):运行态、就绪态和等待态(等待态)。,25,26,(1)运行态(running)运行状态是指当进程已经分配到CPU,它所在的程序正在处理机上执行时的状态。(2)就绪态(ready)就绪态是指进程已具备了运行条件,因为其它进
7、程正占用CPU,所以暂时不能运行而处于等待分配CPU的状态。在操作系统中,处于就绪态的进程数目可以是多个。,27,(3)等待态 等待状态是指进程等待某种事件的发生(例如等待某一输入、输出操作的完成,等待其它进程发来的信号等)而暂时不能运行的状态。,28,进程在其生存期内不断发生状态转化从一种状态转化成为另一种状态,29,2010-4,7.进程有三种基本状态,不可能的状态转换是()A.运行态到就绪态、运行态到等待态B.就绪态到运行态、等待态到就绪态C.运行态到就绪态、等待态到就绪态D.运行态到就绪态、等待态到运行态,D,30,应注意的问题:进程从等待态不能直接转换到运行态。一个进程由运行态转换为
8、等待态一般是由进程自己主动提出的。一个进程由等待态变为就绪态总是由外界事件引起的而不是有该进程自己引起的。,主动等待,被唤醒,31,思考,进程所请求的一次打印输出结束后,将使进程状态从()A、运行态变为就绪态 B、运行态变为等待态 C、就绪态变为运行态 D、等待态变为就绪态,D,32,2.下列进程状态转换中,哪一个是不正确的()A.就绪运行 B.运行等待 C.就绪等待 D.等待就绪,C,33,3.某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将()。A.从就绪变为运行 B.从运行变为就绪 C.从运行变为等待 D.从等待变为就绪,C,34,4.在单CPU环境下,存在10个进程,这些
9、进程中处于运行态的进程最多有()个,最少()个;处于就绪态的进程最多有()个,最少()个;处于等待态的进程最多()个,最少()个,1,0,9,0,10,0,35,5进程的基本属性是()A进程是动态的、多个进程可以含有相同的程序和多个进程可以并发运行B进程是动态的、多个进程对应的程序必须是不同的和多个进程可以并发运行C进程是动态的、多个进程可以含有相同的程序和多个进程不能并发运行D进程是静态的、多个进程可以含有相同的程序和多个进程可以并发运行,A,36,27让多个程序同时进入计算机系统的主存储器并行执行,这种程序设计方法称为_。28一个程序在一个数据集上的一次执行称为一个_。,多道程序设计,进程
10、,37,22、引入进程的原因是()A、提高资源的利用率B、提高程序运行的速度C、概念“程序”不能正确描述程序的执行情况D、使多个程序能并发运行E、概念“进程”能正确描述程序的执行情况,ACE,38,2.3 进程控制块一、进程的组成部分 进程包括三部分:程序、数据、进程控制块,这三部分统称为“进程映象”“进程控制块”PCB(Process Control Block):用于表示一个进程相关信息的数据结构。它是进程存在的唯一标志。,39,进程控制块一般应包括如下内容:(1)标识信息(进程名)它是惟一的对应进程的一个标志符或数字。(2)说明信息进程状态、等待原因、进程程序及数据存放位置,40,(3)
11、现场信息 保留进程让出CPU时,CPU内的各种信息,以便能继续运行时得以恢复 主要指各种寄存器中的内容(psw寄存器),书签,41,(4)管理信息如进程优先权,队列指针等,表示进程获取CPU的优先级别,42,二、PCB的作用(1)PCB是进程存在的惟一标志 系统创建进程时,就为之创建一个PCB;进程结束时,系统又回收其PCB,进程便随之消亡。,43,(2)操作系统依据进程控制块对进程进行控制和管理。例如,当进程因某种原因而暂停运行时,其断点现场信息要保存在PCB中。,44,1、每个进程都有一个进程控制块,用以记录各个进程执行时的情况,保存在各个进程控制块中的信息允许()A、本进程查阅B、编译进
12、程读取C、操作系统修改D、当前运行进程修改,C,45,三、进程控制 系统创建、撤消进程,完成进程各种状态的转换等功能是通过进程控制原语实现的 原语:执行过程不可中断的,具有特定功能的程序段。,46,用于进程控制的原语有:创建原语、撤消原语、阻塞原语、唤醒原语。,47,(1)创建原语 主要工作:为一个程序分配一个工作区和建立一个进程控制块,并置状态为就绪状态(2)撤销原语 主要工作:进程完成后,收回其工作区和进程控制块,48,(3)阻塞原语 进程运行过程中发生等待事件时,将进程状态改为等待态。(4)唤醒进程原语当进程所等待的事件出现时,把进程状态改为就绪态,49,2010-7,21.控制进程的原
13、语有()A.创建原语B.撤销原语C.等待原语D.唤醒原语E.延迟原语,ABCD,50,2.4 进程队列 为了对系统中的进程控制块进行有效的管理,通常把所有的PCB统一组织起来,形成若干个队列,51,一般把具有相同状态的进程的PCB组成队列,形成运行队列、就绪队列、等待队列等,52,53,出队,入队,队列管理,一个进程从所在队列中退出,一个进程排入到一个指定的队列,系统中负责进程入队和出队的工作,54,模拟:PCB1进程等待,归于等待队列1的过程,0,55,2.5 中断和中断处理,2.5.1 中断,聚精会神看书中,听到敲门声,晚上12点熟睡中,闹钟响起,某程序段执行过程中,执行到x=y/0指令时
14、,中 断,56,中 断,由于某些事件的出现,中止现行进程的运行,而由操作系统去处理出现的事件,待适当的时候让被中止的进程继续运行,这个过程称为中断,57,中断源,引起中断的事件,中断处理程序,对出现的事件进行处理的程序,58,2.5.2 中断类型,从中断事件的性质来说,一般分为成下述几类:,硬件故障中断,程序中断,外部中断,输入/输出中断,访管中断,59,硬件故障中断,由机器故障造成的,如电源故障,主存出错等,60,由于程序执行到某条机器指时可能出现的各种问题而引起的中断。如:定点操作数溢出,除数为0,地址越界等,程序中断,61,有各种外部事件引起的中断,如:按中断键,定时时钟的时间周期到,外
15、部中断,62,输入输出控制系统发现外围设备完成了输入输出操作而引起的中断,或在执行输入输出操作时通道或外围设备产生错误而引起的中断,输入/输出中断,63,正在运行的进程为了请求调用操作系统的某个功能而执行一条访管指令所引起的中断,访管中断,64,22.中断有若干类型,它们是()A.硬件故障中断B.软件中断C.外部中断D.输入/输出中断E.程序中断,ACDE,65,总 结:硬件故障中断、程序中断、外部中断 输入/输出中断这四类中断是由于外界原因迫使正在运行的程序被打断,称为强迫性中断事件。而访管中断为正在运行的进程所期待的,故称为自愿性中断事件,66,2.5.3 中断响应,自愿中断事件是由处理器
16、执行指令时根据指令中的操作码捕俘到的。强迫性中断事件是由硬件的中断装置发现的 中断发生时,硬件的中断装置暂停现行进程的运行,而让操作系统的中断处理程序占用CPU,此过程称为中断响应,67,指令n,指令n+1,中断处理程序,断 点,程序A,68,程序状态字(Program Status Word:PSW):用来控制指令执行顺序并且保留和指示与程序有关的系统状态。,1.5.3 程序状态字,程序基本状态,中断码,中断屏蔽位,69,程序状态字PSW存放与寄存器中,该寄存器被称为“程序状态字寄存器”,70,当前psw,存放在程序状态字寄存器中的,当前正在运行的进程的PSW,旧 psw,保护好的被中断进程
17、的PSW,新 psw,中断处理程序的PSW,71,5、一个正在运行的进程由于某个事件被中断后,中断装置都要进行交换PSW的工作,以完成()A、中断检查B、中断响应C、中断处理D、中断请求,B,72,2.5.4 中断处理,中断处理程序对中断事件的处理分两步进行:,保护被中断进程的现场信息,根据中断事件转入相应的中断处理程序进行具体处理,73,1.硬件故障处理2.程序中断处理3.外部中断处理4.输入/输出中断处理5.访管中断事件处理,必须进行人工干预,与程序的具体编制有关,不同用户往往有不同处理要求,所以可转交给用户自行处理,根据中断键的编号把处理转交给一个特定的例行程序,分为“I/O正常结束”和
18、“I/O异常结束”,74,2009-4,21进程控制块是对进程进行管理和调度的信息集合,所含信息是()A标识信息B说明信息C网络信息D现场信息E管理信息22操作系统中有许多进程队列,它们是()A就绪队列B挂起队列C运行队列D要求使用设备的等待队列E等待其他资源的队列,ABDE,ACDE,75,2009-4,29访管中断是进程为请求调用操作系统的某个功能,执行 _ 所引起的中断。48说明中断发生和中断响应的处理过程。(需说明程序状态字在此过程中是如何变化的。),访管指令,76,2009-7,3、进程控制块中的说明信息是()A、进程状态、进程等待原因、进程程序存放位置、进程数据存放位置B、进程状态
19、、通用寄存器内容、控制寄存器内容、进程程序存放位置C、通用寄存器内容、控制寄存器内容、进程程序存放位置、进程数据存放位置D、进程状态、进程等待原因、通用寄存器内容、控制寄存器内容,A,77,4、等待状态的进程是处于队列中的,设备的等待队列的组织方式是()A、系统有一个等待队列B、系统为每个设备各建立一个队列C、系统为每个设备类各建立一个队列D、系统为每个设备类和设备各建立一个队列,B,78,5、关于中断的分类,属于强迫性中断的是()A、硬件故障中断、程序中断、外部中断、输入/输出中断B、访管中断、程序中断、外部中断、输入/输出中断c、硬件故障中断、访管中断、外部中断、输入输出中断D、硬件故障中
20、断、程序中断、访管中断、输入/输出中断,A,79,30.计算机系统有多种中断事件,其中的硬件故障中断事件的处理必须_。,人工干预,80,2.6 处理器调度,在系统运行过程中,就绪进程的数目往往多于CPU的数目,这就将导致它们争夺资源。此时就要求系统根据一定的算法,由进程调度程序从就绪队列中选择一个进程,使之在CPU上运行。,81,CPU,一批作业,小贴士:CPU不能直接访问外存,内存条,需要选择若干个调入内存,作业调度,进程A进程B进程C进程D,进程调度,分配CPU的调度,82,调度的层次,高级调度(作业调度、宏观调度)按一定原则对外存上的作业进行调度,并建立进程PCB。它决定允许哪些作业竞争
21、系统资源。由于这种调度决定哪些作业可以进入系统,所以也称收容调度。,83,低级调度(进程调度、处理机调度)它决定了存在就绪进程时,哪一个就绪进程将分配到中央处理机,并且把中央处理机实际分配给这个进程(即低级调度是将处理机分配给进程)。,84,作业流,进程“运行”,作业进入“输入井”等待执行,作业被装入主存储器,作业进程“就绪”,外存的一片存储区域,图2-11 作业调度与进程调度的层次关系,85,2011-4,46、请给出处理器的两级调度的名称。请说明两级调度的过程。,86,2.6.2 作业调度算法 在设计调度算法时,原则:,公平性,平衡资源使用,极大的流量(吞吐量),87,2.调度算法周转时间
22、:假定作业i提交给系统的时间为Si,其完成的时间为Ei。那么该作业的周转时间Ti为 Ti=EiSi平均周转时间:对于一批n个作业而言,它们的平均周转时间T为 T=(T1+T2+Tn)/n,88,“先来先服务”作业调度算法以作业提交(到达外存输入井)的先后次序,作为作业调度程序挑选作业的依据,这就是先来先服务作业调度算法的基本思想。,89,思考:有3个作业;它们按照1、2、3的顺序,同时提交给系统,采用先来先服务的作业调度算法。求每个作业的周转时间以及它们的平均周转时间。(忽略系统调度所花费的时间及内存的使用情况),90,作业,J1,J2,J3,0,24,27,30,T,91,24,27,30,
23、平均周转时间:(24+27+30)/3=27,92,1、某单道系统中,现有1-4四个作业在后备作业队列里等待处理。它们到达系统和所需的计算时间如下表所示:采用先来先服务作业调度算法对作业进行调度。试计算出每个作业被选中的顺序(忽略系统调度时间)。各自的周转时间是多少?平均周转时间是多少?,93,作业,1,2,3,9:00,10:10,10:40,10:50,T,4,10:55,94,注意:不是先进入的一定被先选中,只有满足必要条件的作业才可能被选中,95,思考:有5个作业(假定都是计算型的),它们进入后备作业队列的到达时间如下表所示(注意,不是同时到达)。设供用户使用的主存空间为100K,作业
24、调度和进程调度均采用先来先服务算法,试求每个作业的周转时间和它们的平均周转时间。(忽略系统调度时间,都没有输入/输出请求)。,96,T,A,B,C,D,E,10.1,内存(100KB),A(15K),10.8,10.3,10.5,B(60K),60K,11.3,D(10K),作业C、E何时运行?,97,T,A,B,C,D,E,10.1,内存(100KB),A(15K),10.8,B(60K),11.3,D(10K),作业完成时回收内存,C(50K),E(20K),12.3,98,FCFS算法利于长作业,而不利于短作业FCFS算法利于CPU繁忙型作业,而不利于I/O繁忙型作业,课后12题,99,
25、短作业优先”作业调度算法作业调度程序工作时,总是从后备作业队列中挑选所需计算时间最少、且资源能够得到满足的作业进入内存投入运行,这就是“短作业优先”作业调度算法的基本思想。,100,思考:有3个作业;它们按照1、2、3的顺序,同时提交给系统,采用短作业优先调度算法。求每个作业的周转时间以及它们的平均周转时间。(忽略系统调度所花费的时间及内存的使用情况),101,作业,J1,J2,J3,0,3,6,30,T,102,30,3,6,平均周转时间:(30+3+6)/3=13,103,有四个作业同时提交给系统,画出短作业优先算法下执行情况图,3,8,16,26,104,1、某单道系统中,现有1-4四个
26、作业在后备作业队列里等待处理。它们到达系统和所需的计算时间如下表所示:采用短作业优先作业调度算法对作业进行调度。试计算出每个作业被选中的顺序(忽略系统调度时间)。各自的周转时间是多少?平均周转时间是多少?,105,作业,1,2,3,9:00,10:10,10:55,10:25,T,4,10:15,106,思考:有5个作业(假定都是计算型的),它们进入后备作业队列的到达时间如下表所示(注意,不是同时到达)。设供用户使用的主存空间为100K,作业调度和进程调度均采用短作业算法,试求每个作业的周转时间和它们的平均周转时间。(忽略系统调度时间,都没有输入/输出请求)。,107,T,A,B,C,D,E,
27、10.1,内存(100KB),A(15K),10.8,10.3,10.5,50K,11.0,E(20K),C(50K),D(20K),108,思考:若采用短作业优先调度算法,假定系统内有如下耗时的进程:20(分钟),6(分钟),1,5,4,3,8然后又有有些用时小于5分钟的多个作业陆续进入系统。会导致什么后果?,109,响应比高者优先”作业调度算法 所谓一个作业的响应比,响应比已等待时间/计算时间“响应比高者优先”的作业调度算法,既照顾到了短作业的利益,也照顾到了长作业的利益,是一种折中的作业调度算法。,110,例如:某单道程序设计系统中有三个作业A、B、C,具体情况详见下表:当三个作业全部到
28、达输入井后,系统以响应比高者优先调度算法选择作业,忽略调度用时,分析作业执行情况,111,作业,A,B,C,9:30,12:24,T,A的响应比=40/90=4/9,B的响应比=30/24=5/4,C的响应比=0/60=0,9:30时各作业响应比,9:54,9:54时各作业响应比,A的响应比=64/90=32/45,C的响应比=24/60=2/5,11.24,112,例题4:有4个作业,它们进入后备作业队列的到达时间如下表所示。假设当四个作业全部到达后采用响应比高者优先的作业调度算法,求每个作业的周转时间以及它们的平均周转时间。(忽略系统调度时间),113,2011-4,51、有A、B、C、D
29、、E5个作业在某单道计算机系统里等待处理。他们需要执行的时间分别为2、8、6、4、10分钟。首先让作业A执行,对其余作业采用响应比高者优先算法进行调度。在忽略调度等所需时间下,写出各作业被选中执行时的次序及被选中时的响应比。,114,4、优先级调度算法5、均衡调度算法,115,CPU,116,2.6.3 进程调度算法,进程切换,一个进程让出CPU由另外一个进程占用CPU的过程,117,进程切换的时机,进程由运行状态变为等待状态进程由运行状态变为就绪状态进程由等待状态变为就绪状态进程结束后被撤销,中断,118,常用的进程调度算法有:先来先服务(FCFS)、优先数法、时间片轮转法,119,先来先服
30、务调度算法 基本思想是:以到达就绪队列的先后次序为标准来选择占用处理机的进程。一个进程一旦占有处理机,就一直使用下去,直至正常结束或因等待某事件的发生而让出处理机。,120,例题,假定在单CPU条件下,有如下要执行的进程,见下表请用FCFS算法画出执行情况图并求出平均周转时间,121,解:根据FCFS调度算法的思想,各进程调度顺序为P1、P2、P3、P4、P5,10,11,19,13,14,122,T,P1,P5,P4,P3,P2,0,10,4,11,13,14,19,123,2优先数调度算法 基本思想是:为系统中的每个进程规定一个优先数,就绪队列中具有最高优先数的进程有优先获得处理机的权利。
31、如果几个进程的优先数相同,则对它们实行先来先服务的调度。,124,进程的调度方式非抢占式 是指某一进程一旦占用CPU,便一直运行下去,直到它运行结束或因某种原因被等待才交出CPU,否则不能从该进程抢走CPU.特点:简单,系统开销小 对紧急任务和短作业不公平。,125,可抢占方式 是指某进程正在运行时,系统可基于某种原则,将其占用的CPU剥夺,分配给其它进程。其原则主要有:优先权高的进程可以剥夺优先权低的进程的CPU.短进程可以剥夺长进程的CPU.时间片用完后交出CPU重新调度已确定将CPU交给谁。,126,特点:实时系统、分时系统中使用,方式灵活,但系统开销较大。,127,例题,假定在单CPU
32、条件下,有如下要执行的进程,见下表,请用非抢占优先级(设数字越大,优先级越高)算法画出执行情况图并求出平均周转时间,128,解:根据优先级高者优先调度算法的思想,各进程调度顺序为P1、P2、P5、P3、P4,10,11,16,18,19,129,确定进程的优先数的因素:根据进程的类型。系统进程大于用户进程。根据进程执行任务的重要性。处理紧急事件的优先级要高。根据进程程序的性质。CPU繁忙型作业,影响系统整体的效率发挥,给予较低的优先数;I/O繁忙型进程给予较高优先数,充分发挥CPU和外部设备并行工作能力。,130,根据对资源的要求。系统有处理机、内存和外部设备等,占用CPU时间短,内存容量少的
33、进程给予的优先级高一些,可以提高系统的吞吐量。根据用户的请求。,131,3.时间片轮转调度算法 Round-Robin Scheduling:RR算法 基本思想是:为就绪队列中的每一个进程分配一个称为“时间片”的时间段,在使用完一个时间片后,也要强迫其释放处理机,让给另一个进程使用。它自己则返回到就绪队列末尾,排队等待下一次调度的到来。,132,133,例题,有四个进程A,B,C,D,设他们依次进入就绪队列,相差时间很短,可近似认为同时到达,它们分别需要运行12,5,3和6个时间单位。请画出时间片q=1与q=4时运行的情况,134,17,135,时间片轮转调度算法经常用在分时操作系统中。在时间
34、片轮转调度算法中,时间片大小的设定是一个影响系统效率发挥的重要因素。,136,太长:太短:确定因素:系统对响应时间的要求、就绪队列进程数目(成反比)、进程切换时间、CPU运行速度,RR算法退化为FCFS算法,CPU频繁切换,导致系统开销较大,137,在分时系统中,经常采用时间片轮转调度算法。例如:某分时系统用户数为10个,时间片为100毫秒,若对于终端用户的每个要求处理器需花费300毫秒左右的时间给出应答,则相应时间大致为(),3秒,138,2011.4,6、假定一个分时系统允许20个终端用户同时工作。若分配给每个终端用户的时间片为50毫秒,而对终端用户的每个请求需处理200毫秒给出应答,那么
35、终端的最长响应时间为()A、1秒B、2秒C、3秒D、4秒,139,2.7 线程的概念,进程,进程(Process):是一个独立功能的程序在某个数据集合上的一次执行过程。是系统进行资源分配和调度执行的基本单位,140,在Windows 2000中,为了提高进程的并发执行程度,减少进程切换时开销,让进程只具有“资源拥有者”特征,而“调度和运行”赋予一个新的实体线程,141,线程,(thread):是进程内可独立执行的子任务,是进程中的一个可调度的实体,执行单元,142,进程和线程之间的关系,143,引入线程的优点:通过线程可以方便有效的实现并行性创建线程比创建进程要快且开销较小创建多线程进程,有利
36、于回答多个客户同时提出的服务请求,轻型进程,144,线程是进程的一个组成部分进程的多个线程都在进程的地址空间活动资源分配的对象是进程调度的单位是线程,145,2011.4,23、现代操作系统均采用了线程技术。当在一个进程中创建了多个线程后,这些线程可以()A、共享该进程的所有资源B、并发执行C、拥有各自独立的主存空间D、相互间快速传递信息E、在执行中经历状态变化,ABDE,146,29、一个等待外围设备传输信息的进程在该设备传输工作结束后,进程的状态应转换成_状态。30、创建一个进程的工作是为一个程序分配一个工作区和建立一个_,表示一个进程的生命周期开始。,147,31、若系统要把进程加人到一
37、个空队列中,则应把入队进程的进程控制块地址填入_中。32、现有某个进程,它需要执行1小时。如果其中使用处理器的时间为_分钟,则处理器的利用率是30,148,补充了解 Win 2000的线程调度,1 Windows 2000调度概述 Windows 2000中采用可抢占式优先级调度策略 对于同优先级的线程,采用时间片轮转策略,149,2 优先级 Windows 2000内部使用32个优先级,从031 分别为:1、16个实时级别(1631)2、15个可变级别(115)3、1个系统级别(0),为0页线程保留,系统空闲进程(system idle process),150,线程优先级的确定因素:进程的优先级以及进程中线程的相对优先级。一个进程只有一个优先级值(基本优先级)每个线程可有两个优先级值:基本优先级和当前优先级,151,Windows 2000支持4种不同的进程优先级:空闲级、正常级、高级和实时级,对应的优先级数分别为:4,8,13,24 线程的初始优先级等于所属进程的优先级,但线程可通过函数改变其优先级。,152,3 时间片Windows 2000中,线程不同、设备不同,则时间片也不同,影响因素如下:时间片单位默认情况下,线程启动的时间片值为36每发生时钟中断,时钟中断例程都会从线程的时间片中减3,