1、1第二章 处理器管理计算机系统中,最宝贵的资源是计算机系统中,最宝贵的资源是CPU。为了提高它的利用率,需要引入多道程为了提高它的利用率,需要引入多道程序设计的概念。序设计的概念。22.1 多道程序设计2.1.1 2.1.1 程序的顺序执行程序的顺序执行程序程序:是一个在时间上严格有序的:是一个在时间上严格有序的指令集合指令集合。一个计算问题往往按照一个计算问题往往按照一定的顺序一定的顺序执行,执行的执行,执行的顺序由编制的程序确定。顺序由编制的程序确定。输入数据输入数据处处 理理输出结果输出结果34例例 如:如:4 42 23 3输出输出3 34 42 2处理处理3 35 54 4输入输入数
2、据三数据三数据二数据二数据一数据一数据数据过程过程5程序的顺序执行,资源利用率程序的顺序执行,资源利用率低低t数据三数据三数据二数据二数据一数据一04 691418 2023 2630程序的顺序执行图黑线黑线:表示输入:表示输入红线红线:表示处理:表示处理灰线灰线:表示输出:表示输出62.1.2 2.1.2 程序的并行执行程序的并行执行tt1t2数据1数据2数据3t3t474 42 23 3输出输出3 34 42 2处理处理3 35 54 4输入输入数据数据三三数据数据二二数据数据一一t04 6913121516 2082.1.3 多道程序设计 多道多道程序设计:让多个程序(作业)同时同时进入
3、主存储器主存储器并行执行9在多道程序设计环境下,系统具有如下特点:资源利用率高系统吞吐量大 程序间制约性t04 69131215162010 举例说明:举例说明:有有A A、B B两个任务两个任务需要计算机完需要计算机完成,各自流程:成,各自流程:A:A:计算计算50ms 50ms,打印打印100ms100ms,再计算再计算50ms50ms打印打印100ms100ms结束结束B:B:计算计算50ms50ms,输入数据输入数据80ms80ms,再计算再计算100ms100ms,打印打印100ms100ms结束结束0tBA50150 200300 350 430530630CPU利用率利用率=25
4、0/630*100%=39.7%0tBA5015010018020030040011 多道多道程序设计环境:内存中允许有多个多个程序存在,它们轮流轮流地使用着CPU。12执行的并发性并发性:从宏观上宏观上看,同时在内存的多个程序都在执行着,在按照自己程序规定的步骤向前推进;从微观上微观上看,由于CPU在任何时刻只能执行一个只能执行一个程序,因此这些程序轮流占用CPU,交替地执行着。132009-44一个计算问题的程序分成三个可以独立执行的程序模块:输入程序、处理程序和打印程序,每一批数据都需顺序被这些模块执行。当有多批数据时,这三个程序模块中可以并行运行的是()A输入程序、处理程序和打印程序B
5、输入程序和处理程序C处理程序和打印程序D打印程序和输入程序A142010-4 5.多道程序设计的意义是()A.允许多个作业同时入驻主存储器,中央处理器轮流执行各个作业,各个作业有可能同时使用所需的外围设备B.允许多个作业轮流入驻主存储器,中央处理器轮流执行各个作业,各个作业同时使用所需的外围设备C.允许多个作业轮流入驻主存储器,中央处理器轮流执行各个作业,各个作业轮流使用所需的外围设备D.允许多个作业同时入驻主存储器,中央处理器轮流执行各个作业,各个作业不同时使用所需的外围设备A152010-4 6.采用多道程序设计方法的计算机系统,()A.提高了处理器的利用率和增加了完成计算所需的总时间,提
6、高了单位时间内的算题能力B.提高了处理器的利用率和增加了完成计算所需的总时间,降低了单位时间内的算题能力C.降低了处理器的利用率和单位时间内的算题能力,增加了完成计算所需的总时间D.提高了处理器的利用率和单位时间内的算题能力,可能延长完成某算题所需的总时间D162.2 进程的概念“进程(ProcessProcess)”是现代操作系统设计中的一个基本概念,也是一个管理实体。它最早被用于美国麻省理工学院的MULTICSMULTICS系统系统和IBMIBM的的CTSS/360CTSS/360系统,不过那里称其为“任务(Task)”,其实是两个等同的概念。17 进程是一个程序关于某个进程是一个程序关于
7、某个数据集合数据集合的一的一次次执行过程执行过程。182.2.2 为什么引入进程提高资源利用率提高资源利用率正确描述程序的执行情况正确描述程序的执行情况19202.2.3 2.2.3 进程的属性进程的属性(1 1)进程进程是是动态动态概念,而概念,而程序程序是是静静态态概念概念21(2)程序和进程无一一对应无一一对应关系,一个程序可能对应多个进程;一个进程可以包含多个程序22(3)多个进程可并发并发执行 并发并发:两个或以上进程在同一时间段同一时间段内内都向前推进。23(4 4)进程的存在是)进程的存在是暂时暂时的,因为它有的,因为它有一个从创建到撤销,有一个一个从创建到撤销,有一个生命周期生
8、命周期;程序存在是程序存在是永久永久的。的。24(5)进程的状态通常在操作系统中,进程至少要有三种三种基本基本状态(进程控制状态):运行态运行态、就绪态就绪态和等待态等待态(等待态)。2526 (1 1)运行态运行态(running)(running)运行状态是指当进程已经分配到CPU,它所在的程序正在正在处理机上执行执行时的状态。(2 2)就绪态就绪态(ready)(ready)就绪态是指进程已具备了运行条件具备了运行条件,因为其它进程正占用CPU,所以暂时不能运行而处于等待分配CPU的状态。在操作系统中,处于就绪态的进程数目可以是多个多个。27(3 3)等待态等待态 等待状态是指进程等待某
9、种事件等待某种事件的发生(例如等待某一输入输入、输出输出操作的完成,等待其它进程发来的信号信号等)而暂时不能暂时不能运行的状态。28进程在其生存期内不断发生不断发生状态转化从一种状态转化成为另一种状态292010-4 7.进程有三种基本状态,不可能的状态转换是()A.运行态到就绪态、运行态到等待态B.就绪态到运行态、等待态到就绪态C.运行态到就绪态、等待态到就绪态D.运行态到就绪态、等待态到运行态D30应注意的问题:进程从等待态不能直接不能直接转换到运行态。一个进程由运行态转换为等待态一般是由进程自己主动主动提出的。一个进程由等待态变为就绪态总是由外外界事件引起界事件引起的而不是有该进程自己引
10、起的。主动主动等待等待被被唤醒唤醒31思考进程所请求的一次打印输出结束后,将使进程状态从()A、运行态变为就绪态 B、运行态变为等待态 C、就绪态变为运行态 D、等待态变为就绪态 D322.下列进程状态转换中,哪一个是不正确的()A.就绪运行 B.运行等待 C.就绪等待 D.等待就绪C33 3.某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将()。A.从就绪变为运行 B.从运行变为就绪 .从运行变为等待 D.从等待变为就绪 C344.在单CPU环境下,存在10个进程,这些进程中处于运行态的进程最多有()个,最少()个;处于就绪态的进程最多有()个,最少()个;处于等待态的进程最多
11、()个,最少()个1090100355进程的基本属性是()A进程是动态的、多个进程可以含有相同的程序和多个进程可以并发运行B进程是动态的、多个进程对应的程序必须是不同的和多个进程可以并发运行C进程是动态的、多个进程可以含有相同的程序和多个进程不能并发运行D进程是静态的、多个进程可以含有相同的程序和多个进程可以并发运行A3627让多个程序同时进入计算机系统的主存储器并行执行,这种程序设计方法称为_。28一个程序在一个数据集上的一次执行称为一个_。多道程序设计多道程序设计 进程进程 3722、引入进程的原因是()A、提高资源的利用率B、提高程序运行的速度C、概念“程序”不能正确描述程序的执行情况D
12、、使多个程序能并发运行E、概念“进程”能正确描述程序的执行情况ACE382.3 进程控制块一、进程的组成部分 进程包括三部分:程序、数据、进程程序、数据、进程控制块控制块,这三部分统称为“进程映象进程映象”“进程控制块进程控制块”PCB(Process Control Block):用于表示一个进程进程相关信息的数据结构数据结构。它是进程存在的唯一标志唯一标志。39 进程控制块一般应包括如下内容:(1)标识信息标识信息(进程名)它是惟一的对应进程的一个标志符或数字。(2)说明信息说明信息进程状态、等待原因、进程程序及数据存放位置40(3)现场信息现场信息 保留进程让出CPU时,CPUCPU内内
13、的各种信息,以便能继续运行时得以恢复 主要指各种寄存器中的内容(psw寄存器)书签书签41(4)管理信息如进程优先权,队列指针优先权,队列指针等 表示进程获取表示进程获取CPUCPU的的优先级别优先级别42二、二、PCBPCB的作用的作用(1)PCBPCB是进程存在的惟一标志是进程存在的惟一标志 系统创建进程时,就为之创建创建一个PCBPCB;进程结束时,系统又回收回收其PCB,进程便随之消亡。43(2)操作系统依据进程控制块进程控制块对进程进行控制和管理。例如,当进程因某种原因而暂停运行时,其断点现场信息要保存在PCB中。441、每个进程都有一个进程控制块,用以记录各个进程执行时的情况,保存
14、在各个进程控制块中的信息允许()A、本进程查阅 B、编译进程读取C、操作系统修改D、当前运行进程修改C45三、进程控制 系统创建、撤消进程,完成进程各种状态的转换等功能是通过进程控制原语进程控制原语实现的 原语:原语:执行过程不可中断的,不可中断的,具有特特定功能定功能的程序段。46 用于进程控制的原语有:创建创建原语、撤消撤消原语、阻塞阻塞原语、唤醒唤醒原语。47(1)创建原语创建原语 主要工作:为一个程序分配一个工作区和建立一个进程控制块,并置状态为就绪状态 (2)撤销原语撤销原语 主要工作:进程完成后,收回其工作区和进程控制块48(3)阻塞原语阻塞原语 进程运行过程中发生等待事件发生等待
15、事件时,将进程状态改为等待态等待态。(4)唤醒唤醒进程原语当进程所等待的事件出现所等待的事件出现时,把进程状态改为就绪态就绪态492010-721.控制进程的原语有()A.创建原语B.撤销原语C.等待原语D.唤醒原语E.延迟原语ABCD502.4 2.4 进程队列进程队列 为了对系统中的进程控制块进行有效的管理,通常把所有的PCBPCB统一组织统一组织起来,形成若干个队列51 一般把具有相同状态相同状态的进程的PCB组成队列队列,形成运行队列运行队列、就绪队列就绪队列、等等待队列待队列等5253出队出队入队入队队列管理队列管理一个进程从所在队列中退出一个进程从所在队列中退出一个进程排入到一个指
16、定的队列一个进程排入到一个指定的队列系统中负责进程入队和出队的工作系统中负责进程入队和出队的工作54PCB10模拟:模拟:PCB1进程等待,归于等待队列进程等待,归于等待队列1的过程的过程PCB20552.5 中断和中断处理2.5.1 中断聚精会神看书中,听到敲门声聚精会神看书中,听到敲门声晚上晚上12点熟睡中,闹钟响起点熟睡中,闹钟响起某程序段执行过程中,执行到某程序段执行过程中,执行到x=y/0指令时指令时中中 断断56中中 断断 由于某些事件的由于某些事件的出现出现,中止中止现行进程的现行进程的运行运行,而由,而由操作系统操作系统去去处理处理出现的事件,待出现的事件,待适当的时适当的时候
17、候让被中止的进程让被中止的进程继续运行继续运行,这,这个个过程过程称为称为中断中断57中断源中断源引起中断的事件引起中断的事件中断处理程序中断处理程序 对出现的事件进行对出现的事件进行处理的程序处理的程序582.5.2 2.5.2 中断类型中断类型 从中断事件的性质中断事件的性质来说,一般分为成下述几类:硬件故障中断硬件故障中断 程序中断程序中断 外部中断外部中断 输入输入/输出中断输出中断 访管中断访管中断 59硬件故障中断硬件故障中断 由由机器故障机器故障造成的,如电造成的,如电源故障,主存源故障,主存出错等出错等 60 由于程序执行由于程序执行到到某条机器指某条机器指时可能出现的各时可能
18、出现的各种问题而引起的种问题而引起的中断。中断。如如:定点:定点操作数溢出,操作数溢出,除除数为数为0,地址越界,地址越界等等程序中断程序中断 61有各种有各种外部外部事件事件引起的引起的中断中断,如:如:按按中断键中断键,定,定时时钟的时间时时钟的时间周期到周期到外部中断外部中断 62 输入输出控制系输入输出控制系统统发现外围设备发现外围设备完成完成了了输入输出操作而引输入输出操作而引起的中断,起的中断,或或在执在执行输入输出操作时行输入输出操作时通通道或外围设备产生错道或外围设备产生错误误而引起的中断而引起的中断 输入输入/输出中断输出中断 63 正在运行的进正在运行的进程为了请求程为了请
19、求调用操调用操作系统作系统的某个功能的某个功能而执行一条而执行一条访管指访管指令令所引起的中断所引起的中断 访管中断访管中断 6422.中断有若干类型,它们是()A.硬件故障中断B.软件中断C.外部中断D.输入/输出中断E.程序中断ACDE65总总 结:结:硬件故障中断硬件故障中断、程序中断程序中断、外部中断外部中断 输入输入/输出中断输出中断这这四类四类中断是由于中断是由于外界原因外界原因迫使迫使正在运行的程序正在运行的程序被打断被打断,称为,称为强迫性强迫性中断事件中断事件。而而访管中断访管中断为正在运行的进程为正在运行的进程所期待的所期待的,故称为故称为自愿性自愿性中断事件中断事件662
20、.5.3 2.5.3 中断响应中断响应l 自愿中断事件自愿中断事件是由处理器执行指令时根据指令中的操作码操作码捕俘到的。强迫性中断事件强迫性中断事件是由硬件硬件的中断装置中断装置发现的 l中断发生时中断发生时,硬件的中断装置暂停现行进程暂停现行进程的运行运行,而让操作系统的中断处理程序中断处理程序占用CPUCPU,此过程称为中断响应中断响应67指令指令n指令指令n+1中中断断处处理理程程序序断断 点点程序程序A A绪绪 论论68n程序状态字程序状态字(Program Status Word:PSW):用来用来控制控制指令指令执行顺序执行顺序并且保留并且保留和指示和指示与程序有关与程序有关的系统
21、状态。的系统状态。1.5.3 程序状态字程序状态字程序基本状态程序基本状态中断码中断码中断屏蔽位中断屏蔽位绪绪 论论69n程序状态字程序状态字PSW存放与寄存器中,该寄存放与寄存器中,该寄存器被称为存器被称为“程序状态字寄存器程序状态字寄存器”70当前当前psw 存放在存放在程序状态字寄存器程序状态字寄存器中的,当前中的,当前正在运行正在运行的进程的进程的的PSWPSW旧旧 psw保护好保护好的的被中断被中断进程的进程的PSWPSW新新 psw中断处理程序中断处理程序的的PSWPSW715、一个正在运行的进程由于某个事件被中断后,中断装置都要进行交换PSW的工作,以完成()A、中断检查B、中断
22、响应C、中断处理D、中断请求B722.5.4 中断处理 中断处理程序对中断事件的处理分两两步步进行:保护保护被中断进程的被中断进程的现场信息现场信息根据中断事件转入根据中断事件转入相应的相应的中断中断处理程序进行处理程序进行具体处理具体处理731.硬件故障处理2.程序中断处理3.外部中断处理4.输入/输出中断处理5.访管中断事件处理必须进行必须进行人工干预人工干预与程序的与程序的具体编制具体编制有有关,不同用户往往有关,不同用户往往有不同处理要求,所以不同处理要求,所以可可转交给转交给用户用户自行处自行处理理根据根据中断键的编号中断键的编号把处理把处理转交给转交给一个一个特定的特定的例行程序例
23、行程序分为分为“I/O正正常常结束结束”和和“I/O异常异常结结束束”742009-421进程控制块是对进程进行管理和调度的信息集合,所含信息是()A标识信息B说明信息C网络信息D现场信息E管理信息22操作系统中有许多进程队列,它们是()A就绪队列B挂起队列C运行队列D要求使用设备的等待队列E等待其他资源的队列ABDEACDE752009-429访管中断是进程为请求调用操作系统的某个功能,执行 _ 所引起的中断。48说明中断发生和中断响应的处理过程。(需说明程序状态字在此过程中是如何变化的。)访管指令访管指令762009-73、进程控制块中的说明信息是()A、进程状态、进程等待原因、进程程序存
24、放位置、进程数据存放位置B、进程状态、通用寄存器内容、控制寄存器内容、进程程序存放位置C、通用寄存器内容、控制寄存器内容、进程程序存放位置、进程数据存放位置D、进程状态、进程等待原因、通用寄存器内容、控制寄存器内容A774、等待状态的进程是处于队列中的,设备的等待队列的组织方式是()A、系统有一个等待队列B、系统为每个设备各建立一个队列C、系统为每个设备类各建立一个队列D、系统为每个设备类和设备各建立一个队列B785、关于中断的分类,属于强迫性中断的是()A、硬件故障中断、程序中断、外部中断、输入/输出中断B、访管中断、程序中断、外部中断、输入/输出中断c、硬件故障中断、访管中断、外部中断、输
25、入输出中断D、硬件故障中断、程序中断、访管中断、输入/输出中断A7930.计算机系统有多种中断事件,其中的硬件故障中断事件的处理必须_。人工干预人工干预802.6 处理器调度 在系统运行过程中,在系统运行过程中,就绪进程就绪进程的数的数目往往目往往多于多于CPUCPU的数目,这就将导致它们的数目,这就将导致它们争夺资源。此时就要求系统根据一定的争夺资源。此时就要求系统根据一定的算法,由算法,由进程调度程序进程调度程序从就绪队列中选从就绪队列中选择一个进程,使之在择一个进程,使之在CPUCPU上运行。上运行。81磁盘磁盘CPU一批作业一批作业小贴士:CPUCPU不能不能直接直接访问访问外存外存内
26、存条内存条需要选择需要选择若干个若干个调入内存调入内存作业调度作业调度进程进程A进程进程B进程进程C进程进程D进程调度进程调度分配分配CPU的调的调度度82调度的层次 高级调度高级调度(作业调度、宏观调度)按(作业调度、宏观调度)按一定原则对一定原则对外存上外存上的作业进行调度,并建立的作业进行调度,并建立进程进程PCBPCB。它决定允许哪些作业竞争系统资源。它决定允许哪些作业竞争系统资源。由于这种调度决定哪些作业可以由于这种调度决定哪些作业可以进入进入系统,系统,所以也称所以也称收容调度收容调度。83 低级调度低级调度(进程调度、处理机调度)它决定了存在就绪进程就绪进程时,哪一个就绪进程将分
27、配到中央处理机中央处理机,并且把中央处理机实际分配给实际分配给这个进程(即低级调度是将处理机分配给进程)。84作业流作业流进程进程“运行运行”作业进入作业进入“输入井输入井”等待执行等待执行作业被装入作业被装入主存主存储器,作业进程储器,作业进程“就绪就绪”预输入预输入进程调度进程调度作业调度作业调度外存外存的的一片存一片存储区域储区域图2-11 作业调度与进程调度的层次关系852011-446、请给出处理器的两级调度的名称。请说明两级调度的过程。862.6.2 2.6.2 作业调度算法作业调度算法 在设计调度算法时,原则:在设计调度算法时,原则:公平性公平性平衡资源使用平衡资源使用极大的流量
28、(吞吐量)极大的流量(吞吐量)872.调度算法周转时间周转时间:假定作业i提交给提交给系统的时间为Si,其完成的完成的时间为Ei。那么该作业的周转时间周转时间Ti为 Ti=EiSi平均周转时间平均周转时间:对于一批n个作业而言,它们的平均周转时间T为 T=(T1+T2+Tn)/n88“先来先服务先来先服务”作业调度算法作业调度算法以作业以作业提交提交(到达外存输入井)的(到达外存输入井)的先先后次序后次序,作为作业调度程序挑选作业的,作为作业调度程序挑选作业的依据,这就是先来先服务作业调度算法依据,这就是先来先服务作业调度算法的基本思想。的基本思想。89思考:有思考:有3 3个作业;个作业;它
29、们按照它们按照1 1、2 2、3 3的顺的顺序,同时提交给系统,采用先来先服务序,同时提交给系统,采用先来先服务的作业调度算法。求每个作业的周转时的作业调度算法。求每个作业的周转时间以及它们的平均周转时间间以及它们的平均周转时间。(忽略系统。(忽略系统调度所花费的时间及内存的使用情况)调度所花费的时间及内存的使用情况)90作业作业J1J2J30242730T91进程名进程名到达时间到达时间执行用时执行用时完成时间完成时间周转时间周转时间J1J10 024242424J2J20 03 32727J3J30 03 33030242730平均周转时间:(平均周转时间:(24+27+30)/3=279
30、21 1、某单道系统中,现、某单道系统中,现有有1-41-4四个作业在后备四个作业在后备作业队列里等待处理。作业队列里等待处理。它们到达系统和所需的它们到达系统和所需的计算时间如下表所示:计算时间如下表所示:采用采用先来先服务先来先服务作业调作业调度算法对作业进行调度。度算法对作业进行调度。试计算出每个作业被选试计算出每个作业被选中的顺序(忽略系统调中的顺序(忽略系统调度时间)。各自的周转度时间)。各自的周转时间是多少?平均周转时间是多少?平均周转时间是多少?时间是多少?作业作业到达时到达时间间所需所需CPUCPU的时间的时间1 19 9:00007070分钟分钟2 29 9:40403030
31、分钟分钟3 39 9:50501010分钟分钟4 41010:10105 5分钟分钟93作业作业1239:0010:1010:40 10:50T410:5594 注意:不是先进入的注意:不是先进入的一定被先选一定被先选中中,只有,只有满足必要条件满足必要条件的作业才可的作业才可能被选中能被选中95思考:有5个作业(假定都是计算型的),它们进入后备作业队列的到达时间如下表所示(注意,不是同时到达)。设供用户使用的主存空间为100K,作业调度和进程调度均采用先来先服务算法,试求每个作业的周转时间和它们的平均周转时间。(忽略系统调度时间,都没有输入/输出请求)。ABCDE60KB20KB10KB96
32、TABCDE10.1内存(内存(100KB)A(15K)15K10.810.310.5B(60K)60K11.3D(10K)10K11.7作业作业C、E何时运行?何时运行?97TABCDE10.1内存(内存(100KB)A(15K)15K10.8B(60K)60K11.3D(10K)10K11.7作业完成时回收内存作业完成时回收内存75KC(50K)E(20K)12.112.398FCFSFCFS算法利于算法利于长作业长作业,而不利于,而不利于短作业短作业FCFSFCFS算法利于算法利于CPUCPU繁忙型繁忙型作业,而不利于作业,而不利于I/OI/O繁忙型繁忙型作业作业课后课后12题题99短作
33、业优先短作业优先”作业调度算法作业调度算法作业调度程序工作时,总是从后备作作业调度程序工作时,总是从后备作业队列中挑选业队列中挑选所需计算时间最少所需计算时间最少、且资、且资源能够源能够得到满足得到满足的作业进入内存投入运的作业进入内存投入运行,这就是行,这就是“短作业优先短作业优先”作业调度算作业调度算法的基本思想。法的基本思想。100思考:有思考:有3 3个作业;个作业;它们按照它们按照1 1、2 2、3 3的顺的顺序,同时提交给系统,采用短作业优先序,同时提交给系统,采用短作业优先调度算法。求每个作业的周转时间以及调度算法。求每个作业的周转时间以及它们的平均周转时间它们的平均周转时间。(
34、忽略系统调度所花。(忽略系统调度所花费的时间及内存的使用情况)费的时间及内存的使用情况)101作业作业J1J2J303630T102作业名作业名到达时间到达时间执行用时执行用时完成时间完成时间周转时间周转时间J1J10 024243030J2J20 03 33 3J3J30 03 36 63036平均周转时间:(平均周转时间:(30+3+6)/3=13103作业作业所需所需CPUCPU的时间的时间1 110102 23 33 38 84 45 5有四个作业同时提交给系统,有四个作业同时提交给系统,画出短作业优先算法下执行情况图画出短作业优先算法下执行情况图12340T3816261041 1、
35、某单道系统中,现、某单道系统中,现有有1-41-4四个作业在后备四个作业在后备作业队列里等待处理。作业队列里等待处理。它们到达系统和所需的它们到达系统和所需的计算时间如下表所示:计算时间如下表所示:采用采用短作业优先短作业优先作业调作业调度算法对作业进行调度。度算法对作业进行调度。试计算出每个作业被选试计算出每个作业被选中的顺序(忽略系统调中的顺序(忽略系统调度时间)。各自的周转度时间)。各自的周转时间是多少?平均周转时间是多少?平均周转时间是多少?时间是多少?作业作业到达时到达时间间所需所需CPUCPU的时间的时间1 19 9:00007070分钟分钟2 29 9:40403030分钟分钟3
36、 39 9:50501010分钟分钟4 41010:10105 5分钟分钟105作业作业1239:0010:1010:5510:25T410:15106思考:有5个作业(假定都是计算型的),它们进入后备作业队列的到达时间如下表所示(注意,不是同时到达)。设供用户使用的主存空间为100K,作业调度和进程调度均采用短作业算法,试求每个作业的周转时间和它们的平均周转时间。(忽略系统调度时间,都没有输入/输出请求)。ABCDE60KB20KB10KB107TABCDE10.1内存(内存(100KB)A(15K)15K10.810.310.550K11.0E(20K)20K11.4C(50K)D(20K
37、)11.812.3108思考:若采用短作业优先调度算法,假定思考:若采用短作业优先调度算法,假定系统内有如下耗时的进程:系统内有如下耗时的进程:2020(分钟),(分钟),6 6(分钟),(分钟),1 1,5 5,4 4,3 3,8 8然后又有有然后又有有些用时小于些用时小于5 5分钟的多个作业陆续进入系分钟的多个作业陆续进入系统。会导致什么后果?统。会导致什么后果?109响应比高者响应比高者优先优先”作业调度算法作业调度算法 所谓一个作业的响应比,所谓一个作业的响应比,响应比响应比已等待时间已等待时间/计算时间计算时间“响应比高者优先响应比高者优先”的作业调度算法,既的作业调度算法,既照顾到
38、了照顾到了短作业短作业的利益,也照顾到了的利益,也照顾到了长长作业作业的利益,是一种折中的作业调度算的利益,是一种折中的作业调度算法。法。110例如:某单道程序设计系统中有三个作业A、B、C,具体情况详见下表:当三个作业全部到三个作业全部到达输入井后,系统以响应比高者优先调度算法选择作业,忽略调度用时,分析作业执行情况作业名作业名需计算时间需计算时间到达输入井时间到达输入井时间ABC8:509:009:301.5小时小时0.4小时小时1.0小时小时111作业作业ABC9:3012:24TA的响应比的响应比=40/90=4/9B的响应比的响应比=30/24=5/4C的响应比的响应比=0/60=0
39、9:30时各作业响应比时各作业响应比9:549:54时各作业响应比时各作业响应比A的响应比的响应比=64/90=32/45C的响应比的响应比=24/60=2/511.24112例题4:有4个作业,它们进入后备作业队列的到达时间如下表所示。假设当四个作业全部到达后四个作业全部到达后采用响应比高者优先的作业调度算法,求每个作业的周转时间以及它们的平均周转时间。(忽略系统调度时间)1132011-451、有A、B、C、D、E5个作业在某单道计算机系统里等待处理。他们需要执行的时间分别为2、8、6、4、10分钟。首先让作业A执行,对其余作业采用响应比高者优先算法进行调度。在忽略调度等所需时间下,写出各
40、作业被选中执行时的次序及被选中时的响应比。1144、优先级调度算法5、均衡调度算法115CPU1162.6.3 2.6.3 进程调度算法进程调度算法进程进程切换切换一个进程让出一个进程让出CPU由由另外一个进程占用另外一个进程占用CPU的的过程过程117进进程程切切换换的的时时机机进程由进程由运行运行状态变为状态变为等待等待状态状态进程由进程由运行运行状态变为状态变为就绪就绪状态状态进程由进程由等待等待状态变为状态变为就绪就绪状态状态进程进程结束后结束后被撤销被撤销中断中断118 常用的进程调度算法有:先来先服务先来先服务(FCFS)、优先数法优先数法、时间片轮转法时间片轮转法119先来先服务
41、先来先服务调度算法 基本思想是:以到达就绪队列就绪队列的先后先后次序为标准来选择占用处理机的进程。一个进程一旦占有处理机,就一直使用下去,直至正直至正常结束常结束或因等待某事件的发生等待某事件的发生而让出处理机。120例题假定在单假定在单CPUCPU条件下,有如下要执行的进程,见下表条件下,有如下要执行的进程,见下表请用请用FCFSFCFS算法画出执行情况图并求出平均周转时间算法画出执行情况图并求出平均周转时间进程进程到达时间到达时间运行时间运行时间P1P10 01010P2P21 11 1P3P32 22 2P4P43 31 1P5P54 45 5121解:根据FCFS调度算法的思想,各进程
42、调度顺序为P1、P2、P3、P4、P5进程进程到达时间到达时间运行时间运行时间完成时间完成时间周转时间周转时间P1P10 01010P2P21 11 1P3P32 22 2P4P43 31 1P5P54 45 510111913141010111115122TP1P5P4P3P201041113 14191232优先数调度算法 基本思想是:为系统中的每个进程规定一个优先数优先数,就绪队列中具有最高优最高优先数先数的进程有优先获得处理机的权利。如果几个进程的优先数相同优先数相同,则对它们实行先来先服务先来先服务的调度。124进程的调度方式非抢占式非抢占式 是指某一进程一旦占用CPU,便一直运行一
43、直运行下去下去,直到直到它运行结束结束或因某种原因被等待被等待才交出交出CPUCPU,否则不能不能从该进程抢走抢走CPUCPU.特点:简单,系统开销小 对紧急任务和短作业不公平。125可抢占可抢占方式 是指某进程正在运行时,系统可基于某种原则某种原则,将其占用的CPU剥夺剥夺,分配给其它进程。其原则主要有:优先权高优先权高的进程可以剥夺优先权低剥夺优先权低的进程的CPU.短进程短进程可以剥夺长进程长进程的CPU.时间片用完后时间片用完后交出CPU重新调度已确定将CPU交给谁。126 特点:实时实时系统、分时分时系统中使用,方式灵活,但系统开销系统开销较大。127例题假定在单CPU条件下,有如下
44、要执行的进程,见下表,请用非抢占优先级非抢占优先级(设数字越大,优先级越高)算法画出执行情况图并求出平均周转时间进程进程到达时间到达时间运行时间运行时间优先级优先级P1P10 010103 3P2P21 11 16 6P3P32 22 23 3P4P43 31 11 1P5P54 45 55 5128解:根据优先级高者优先调度算法的思想,各进程调度顺序为P1、P2、P5、P3、P4进程进程到达时间到达时间运行时间运行时间完成时间完成时间周转时间周转时间P1P10 01010P2P21 11 1P3P32 22 2P4P43 31 1P5P54 45 5101116181910101616121
45、29确定进程的优先数的因素:确定进程的优先数的因素:根据进程的类型。根据进程的类型。系统进程系统进程大于大于用户进程。用户进程。根据进程执行任务的重要性。根据进程执行任务的重要性。处理处理紧急事件的优先级要高。紧急事件的优先级要高。根据进程程序的性质。根据进程程序的性质。CPUCPU繁忙型作业,繁忙型作业,影响系统整体的效率发挥,影响系统整体的效率发挥,给予给予较低的优先数较低的优先数;I/OI/O繁忙型进程给予较高优繁忙型进程给予较高优先数,充分发挥先数,充分发挥CPUCPU和外部设备并行工作能力。和外部设备并行工作能力。130根据对资源的要求。根据对资源的要求。系统有处理机、内存和外部设备
46、等,系统有处理机、内存和外部设备等,占用占用CPUCPU时间短,内存容量少时间短,内存容量少的进程给予的进程给予的优先级的优先级高高一些,可以一些,可以提高提高系统的系统的吞吐吞吐量量。根据用户的请求。根据用户的请求。1313.3.时间片轮转时间片轮转调度算法调度算法 Round-Robin Scheduling:RRRR算法算法 基本思想是:为就绪队列中的每一个进程分配一个称为“时间片时间片”的时间段,在使用完一个时间片后,也要强迫其释强迫其释放放处理机,让给另一个进程使用。它自己则返回到就绪队列末尾,排队等待下一次调度的到来。132 CPU I/O 133例题 有四个进程A,B,C,D,设
47、他们依次进入就绪队列,相差时间很短,可近似认为同时到达,它们分别需要运行12,5,3和6个时间单位。请画出时间片q=1与q=4时运行的情况134DACB011172026135 时间片轮转调度算法经常用在分时操分时操作系统作系统中。在时间片轮转调度算法中,时间片时间片大小的设定是一个影响系统效率发挥的重要因素。136 太长:太长:太短:太短:确定因素:确定因素:系统对响应时间响应时间的要求、就绪队列进程数目(成反比成反比)、进程切换时间、CPU运行速度RR算法退化为FCFS算法CPU频繁切换,导致系统开销较大137在分时系统中,经常采用时间片轮转调度算法。例如:某分时系统用户数为10个,时间片
48、为100毫秒,若对于终端用户的每个要求处理器需花费300毫秒左右的时间给出应答,则相应时间大致为()3 3秒秒1382011.46、假定一个分时系统允许20个终端用户同时工作。若分配给每个终端用户的时间片为50毫秒,而对终端用户的每个请求需处理200毫秒给出应答,那么终端的最长响应时间为()A、1秒B、2秒C、3秒D、4秒1392.7 线程的概念进进程程 进程进程 (ProcessProcess):是一个):是一个独立功能的独立功能的程序程序在某个在某个数据集数据集合合上的一次上的一次执行过程执行过程。是系统。是系统进行进行资源分配资源分配和和调度执行调度执行的的基基本单位本单位140 在Wi
49、ndows 2000中,为了提高提高进程的并发并发执行程度程度,减少减少进程切换时开销切换时开销,让进程进程只具有“资源拥有者资源拥有者”特征,而“调度和运行调度和运行”赋予一个新的实体线程线程141线线程程(thread):是进程内是进程内可独立可独立执行执行的的子任务子任务,是进程中的,是进程中的一个一个可调度可调度的实体的实体执行单元执行单元142进程和线程之间的关系线程线程3线程线程4线程线程2线程线程1线程线程n进进 程程143引入线程的引入线程的优点优点:通过线程可以方便有效的实现通过线程可以方便有效的实现并行性并行性创建线程比创建进程要创建线程比创建进程要快快且且开销较小开销较小
50、创建多线程进程,创建多线程进程,有利于有利于回答多个客户回答多个客户同时提出的服务请求同时提出的服务请求轻轻型型进进程程144线程线程是进程的一个组成部分组成部分进程的多个多个线程都在进程的地址空间活地址空间活动动资源分配资源分配的对象是进程进程调度调度的单位是线程线程1452011.423、现代操作系统均采用了线程技术。当在一个进程中创建了多个线程后,这些线程可以 ()A、共享该进程的所有资源B、并发执行C、拥有各自独立的主存空间 D、相互间快速传递信息E、在执行中经历状态变化ABDE14629、一个等待外围设备传输信息的进程在该设备传输工作结束后,进程的状态应转换成_状态。30、创建一个进