操作系统4、处理机.ppt
《操作系统4、处理机.ppt》由会员分享,可在线阅读,更多相关《操作系统4、处理机.ppt(104页珍藏版)》请在三一办公上搜索。
1、四、处理机,处理机调度和反死锁策略,处理机调度的层次和调度算法的目标作业与作业调度进程调度实时调度死锁概述预防死锁避免死锁死锁的检测与解除,处理机调度的层次,长程调度对作业进行调度,适用于多道批处理系统。短程调度对进程进行调度,适用于多道批处理、分时和实时系统。内存调度用于提高内存利用率和系统性能。将需要等待的进程占用的内存资源交换至外存,将可以继续运行的进程需要的内存资源从外存中读入。,处理机调度算法的共同目标,资源高利用率:CPU和其他所有资源都尽可能地保持忙碌状态。公平性:合理地对各进程分配CPU时间,避免出现某些进程长时间无法得到响应。平衡性:合理地调度计算型作业与I/O型作业,以保证
2、各种资源使用的平衡性。,批处理系统的目标,平均周转时间短:周转时间包括等待时间和运行时间,周转时间与运行时间之比是带权周转时间。短作业优先。系统吞吐量高:吞吐量是指在单位时间内系统所完成的作业数。短作业优先。处理机利用率好:尽量少地切换作业、调度资源及等待。长作业、计算型作业优先。,分时系统的目标,响应时间快:响应时间=输入时间+运行时间+输出时间均衡性:响应时间的快慢与用户请求服务的复杂性相关,复杂任务的响应时间允许较长。,实时系统的目标,截止时间的保证:对于硬实时任务,调度方式和算法必须严格确保截止时间的要求;对于软实时任务,调度方式和算法也应基本上能保证截止时间的要求。可预测性:根据系统
3、特点,可预测未来一段时间内的处理目标,以提高实时性(如媒体播放中同时读取第i帧和第i+1帧)。,处理机调度和反死锁策略,处理机调度的层次和调度算法的目标作业与作业调度进程调度实时调度死锁概述预防死锁避免死锁死锁的检测与解除,批处理系统中的作业及调度,作业(Job):批处理系统中进行调度的基本单位,包含程序、数据和作业说明书。系统根据说明书控制程序运行。作业步(Job Step):作业中包含的多个相关的加工步骤。作业步之间存在相互联系,如输入输出关系。作业控制块(Job Control Block):存放作业在系统中管理和调度所需的信息,由作业注册程序创建。,批处理系统中的作业及调度,作业运行的
4、三个阶段和三种状态 收容阶段(后备状态):由作业注册程序建立作业控制块(JCB),作业进入硬盘中的后备队列。运行阶段(运行状态):作业被作业调度选中进入就绪队列,获得资源并建立进程,直至运行结束。完成阶段(完成状态):作业正常完成或异常终止。“终止作业”程序负责撤销作业控制块、回收资源和输出运行结果。,批处理系统中的作业及调度,作业调度的主要任务根据JCB中的信息,检查系统资源能否满足作业需求,并按照一定的调度算法决定哪些作业由后备队列进入就绪队列。常见的调度算法有:先来先服务算法(First-Come First-Served)短作业优先算法(Short Job First)优先级调度算法(
5、Priority-scheduling)高响应比优先算法,先来先服务调度算法(FCFS),用于作业调度和进程调度,优先考虑最早进入等待队列的作业以及最先进入就绪队列的进程。非抢占:进程占有CPU直到程序结束或I/O中断。优点:实现简单,有利于长作业。缺点:不利于短作业,平均等待时间长。,短作业优先调度算法(SJF),优先考虑运行时间最短的作业。优点:平均等待时间短,有利于短作业。缺点:作业的运行时间无法准确估计,长作业可能长期得不到响应。估计作业时间的方法:由用户指定进程运行时间极限,如果超时则报错。,优先级调度算法,根据作业的紧迫程度定义优先级,优先级高的作业优先运行。优先级定义依据内部方式
6、:完成时限、内存占用、文件占用、CPU与I/O时间比外部方式:重要性、出价金额缺点:低优先级进程长期无法得到响应解决方案:定期提升等待进程的优先级,高响应比优先调度算法,先来先服务调度算法和短作业优先调度算法的折中方案。短作业以及等待时间长的作业都具有高优先级。,处理机调度和反死锁策略,处理机调度的层次和调度算法的目标作业与作业调度进程调度实时调度死锁概述预防死锁避免死锁死锁的检测与解除,进程调度的目的,当多数进程的I/O区间较长、CPU区间较短时,加快进程的整体完成速度。确保所有任务都能完成。确保所有任务能尽快完成。确保所有任务能在限定时间内完成。,进程调度的任务,保存即将切换出处理机的进程
7、信息:如多个通用寄存器中的内容等。选取一个切换入处理机的进程读取该进程的信息:将选中进程的进程控制块中有关处理机现场的信息,装入处理器相应的各个寄存器中,把处理器的控制权交予该进程,让它从上次的断点处恢复运行。,进程调度机制,排队器:将系统中所有就绪进程排成一个或多个队列分派器:从就绪队列中取出一个进程,与当前运行的进程进行上下文切换,并分配处理机。其间消耗的时间称为分派延迟。上下文切换器:保存当前进程的处理机寄存器内容,装入分派程序的处理机寄存器内容。通过使用多组寄存器和指针的方法加速切换过程。,进程调度机制,进程调度方式,非抢占方式(Windows 3.x之前)已分配进程一直拥有处理机资源
8、,直到正常结束或异常终止I/O操作在进程通信或同步过程中,主动使用阻塞原语Block优点:实现简单、系统开销小,适用于大多数的批处理系统。缺点:不能用于分时系统和大多数实时系统。,进程调度方式,抢占方式(Windows 95开始)允许调度程序根据以下某种原则主动切换进程:优先权原则:允许优先级高的新到进程抢占当前进程的处理机;短进程优先原则:允许新到的短进程抢占当前长进程的处理机;时间片原则:各进程按时间片轮转运行,当正在执行的进程的一个时间片用完后,便停止该进程的执行而重新进行调度。优点:适用于分时系统和大多数实时系统。缺点:实现复杂、系统开销大。,下一个最短CPU区间算法,进程由CPU区间
9、和I/O区间组成。CPU优先分配给具有下一个最短CPU区间的进程(类似SJF)。下一个CPU区间长度无法精确计算,但可根据历史数据估算。,CPU区间长度估算,n+1=tn+(1-)n=tn+(1-)tn-1+(1-)jtn-j+(1-)n+10其中t表示实际时长,表示估计时长,0,1例:=0.5,0=10,下一个最短CPU区间算法,在抢占模式下,当新进程到达时,与当前运行进程比较剩余时间,优先执行最短剩余时间进程。(平均等待时间比非抢占短),轮转调度算法,轮转法的基本原理基于时间片的轮转(RR,Round Robin)调度算法。所有进程轮流获得CPU资源,当时间片(如30ms)结束时,进程调度
10、程序把CPU分配给队列中的下一个进程。Robin 知更鸟,轮转调度算法,进程切换时机时间片用完,计时器中断处理程序激活。如果进程尚未运行完毕,调度程序把它送往就绪队列的末尾。时间片尚未用完,但正在运行的进程已经完成,就立即激活调度程序,将它从就绪队列中删除,再调度就绪队列中队首进程运行,启动一个新的时间片。,轮转调度算法,时间片大小的确定小的时间片有利于短作业,但频繁切换进程将增加系统开销。大的时间片能减少进程切换频率,有利于长作业,但若时间片选择得太长,使每个进程都能在一个时间片内完成,RR算法便退化为FCFS算法,无法满足短作业和交互式用户的需求。现代操作系统的时间片为10100ms,上下
11、文切换时间一般小于10s,q=1时,进程执行顺序ABCDEABCDEABCEACE,优先级调度算法,优先把处理机分配给就绪队列中优先级最高的进程。优先级调度算法的类型非抢占式优先级调度算法:适用于批处理系统抢占式优先级调度算法:适用于实时性要求较高的系统,优先级调度算法,优先级的类型静态优先级:在创建进程时确定并保持不变。系统进程、要求资源较少的进程、紧迫程度高的进程的优先级高。动态优先级:在创建进程时赋予初始值,随着进程等待而增加,随着进程运行而减少。,多级队列调度算法(静态优先级),将就绪队列分为多个具有不同优先级的队列。前台进程、系统进程具有高优先级,使用轮转调度算法。后台进程、批处理进
12、程具有低优先级,使用FCFS调度算法。CPU采用抢占模式,根据优先级调度程序,或者根据优先级划分CPU时间。,多级反馈队列调度算法(动态优先级),算法优点不需要预知各进程的执行时间,满足终端型用户、短批处理作业用户和长批处理作业用户的要求。调度机制N个就绪队列,赋予不同优先级,优先级越高时间片越短优先调度优先级最高的队列中的进程,各个队列分别采用FCFS算法所有新进程读入内存后进入第1级队列末尾(优先级最高),当执行后若未完成则进入下一级队列高优先级进程可以抢占CPU,被抢占进程回到所在等级的队列末尾,基于公平原则的调度算法,保证调度算法确保每个进程获得相对平均的处理机时间。将处理机分配给处理
13、机时间比率最小的进程,直到该进程的时间比率不是最小的。公平分享调度算法确保每个用户获得相对平均的处理机时间。需要考虑每个用户拥有的进程数量。,多处理器调度,关注的问题:均衡负载、协同配合工作模式:非对称结构(asymmetric multiprocessing):主CPU负责进程调度、I/O,其它CPU负责执行代码对称结构(symmetric multiprocessing,SMP):所有CPU都具有私有调度进程队列,须注意临界数据一致性问题,Windows XP以上支持。,亲和性与负载平衡,亲和性:进程保持在一个固定的CPU上运行,避免由于推迁移和拉迁移造成缓冲区数据在CPU间搬迁。负载平衡
14、:所有CPU获得近似相等的进程负载。当出现负载不平衡时,通过推迁移和拉迁移改变进程归属的CPU。亲和性和负载平衡是矛盾的。,超线程技术(Hyper-Threading),处理机调度和反死锁策略,处理机调度的层次和调度算法的目标作业与作业调度进程调度实时调度死锁概述预防死锁避免死锁死锁的检测与解除,实现实时调度的基本条件,提供必要的信息系统应向调度程序提供有关任务的信息:就绪时间、开始截止时间和完成截止时间、处理时间、资源要求、优先级。系统处理能力强假设m个周期性硬实时任务,处理时间是Ci,周期时间是Pi,处理机数量为N,则必须满足:,实现实时调度的基本条件,采用抢占式调度机制具有快速切换机制对
15、中断的快速响应能力:具有快速硬件中断机构,禁止中断的时间间隔尽量短;快速的任务分派能力:使系统中的每个运行功能单位适当的小,以减少任务切换的时间开销。,实时调度算法的分类,根据实时任务性质,可将实时调度的算法分为硬实时调度算法和软实时调度算法;按调度方式,则可分为非抢占调度算法和抢占调度算法。,非抢占式调度算法,轮转调度算法:调度程序每次选择实时任务队列的第一个任务投入运行,完成后挂在轮转队列的末尾。适用于要求不太高的实时系统。优先级调度算法:优先级高的实时任务排在就绪队列的队首,等待当前任务自我终止或运行完成。,抢占式调度算法,基于时钟中断的优先级调度算法:若就绪的实时任务的优先级高于当前任
16、务,不立即抢占处理机,而是等到时钟中断发生时。适用于大多数实时系统。立即抢占的优先级调度算法:只要当前任务未处于临界区,能立即剥夺当前任务的执行,把处理机分配给请求中断的紧迫任务。响应时间最短。,实时调度算法的分类,最早截止时间优先算法,根据任务的截止时间确定任务的优先级,具有最早截止时间的任务排在队列的前面。非抢占式调度方式用于非周期实时任务,最早截止时间优先算法,抢占式调度方式用于周期实时任务,最低松弛度优先算法,最低松弛度优先算法(LLF,Least Laxity First)中,任务优先级根据任务的紧急(或松弛)程度。任务紧急程度愈高,赋予该任务的优先级就愈高,以使之优先执行。,A和B
17、任务每次必须完成的时间,最低松弛度优先算法,进程的松弛度=必须完成时间其本身的运行时间当前时间,利用LLF算法进行调度的情况,优先级倒置,“优先级倒置”的现象:高优先级进程(或线程)被低优先级进程(或线程)延迟或阻塞。实时系统应避免“优先级倒置”现象。,优先级倒置:例子,三个独立的进程P1、P2和P3,优先级:P1P2P3。P1和P3共享临界资源。P1:P(mutex);CS-1;V(mutex);P2:program2;P3:P(mutex);CS-3;V(mutex);,优先级倒置的解决方法,方法一:进程P3进入临界区后,P3占用的处理机不允许被抢占。方法二:高优先级进程P1需要的临界资源
18、若正被低优先级进程P3使用,则P1被阻塞,由P3继承P1的优先级,并保持到P3退出临界区。,处理机调度和反死锁策略,处理机调度的层次和调度算法的目标作业与作业调度进程调度实时调度死锁概述预防死锁避免死锁死锁的检测与解除,可重用资源和消耗性资源,可重用资源:可供用户重复使用多次的资源。性质:一个资源单元只能分配给一个进程进程使用资源须按照请求资源、使用资源、释放资源的顺序。进程运行期间,每一类资源的单元数目固定不变。计算机系统中大多数资源都属于可重用资源。,可重用资源和消耗性资源,消耗性资源:进程运行期间,由进程动态创建和消耗。性质:进程运行期间,每一类资源的单元数目不断变化。部分进程创造消耗性
19、资源单元,放入资源缓冲区中。部分进程消费消耗性资源单元,不再将它们返回给该资源类中。可消耗资源通常由生产者进程创建,由消费者进程消耗。最典型的可消耗资源是用于进程间通信的消息。,可抢占资源和不可抢占资源,可抢占资源:资源分配给进程后,可以再被其他进程或系统抢占(不会引起死锁)。CPU和主存属于可抢占资源。不可抢占资源:资源分配给进程后,不能强行收回,只能在进程用完后释放。磁带机、刻录机、打印机属于不可抢占资源。,死锁,如果一组进程中的每个进程都在等待仅由该组进程中的其它进程才能引发的事件,那么该组进程是死锁的。竞争不可抢占资源引起死锁P1P2Open(F1,w);Open(F2,w);Open
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 处理机
链接地址:https://www.31ppt.com/p-6106390.html