第八讲进程调度与线程概念课件.ppt
《第八讲进程调度与线程概念课件.ppt》由会员分享,可在线阅读,更多相关《第八讲进程调度与线程概念课件.ppt(58页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、进程调度进程调度(CPUCPU调度)调度)要解决的问题要解决的问题WHATWHAT:按什么原则分配按什么原则分配CPUCPU 进程调度算法进程调度算法WHENWHEN:何时分配何时分配CPUCPU 进程调度的时机进程调度的时机HOWHOW:如何分配如何分配CPUCPU CPU CPU调度过程(进程的上下文切换)调度过程(进程的上下文切换)处理机调度分成三个层次处理机调度分成三个层次l处理机是计算机系统中的重要资源处理机是计算机系统中的重要资源l处理机调度算法对整个计算机系统的综处理机调度算法对整个计算机系统的综合性能指标有重要影响合性能指标有重要影响l可把处理机调度分成三个层次:可把处理机调度
2、分成三个层次:高级调度 中级调度 低级调度高级调度高级调度也称为作业调度或宏观调度也称为作业调度或宏观调度 高级调度的时间尺度通常是分钟、小时或天高级调度的时间尺度通常是分钟、小时或天中中级级调调度度涉涉及及进进程程在在内内外外存存间间的的交交换换,从从存存储储器器资资源源管管理理的的角角度度来来看看,把把进进程程的的部部分分或或全全部部换换出出到到外外存存上上,可可为为当当前前运运行行进进程程的的执执行行提提供供所所需需内内存存空空间间,将将当当前前进进程程所所需需部部分分换换入入到到内内存存。指指令令和和数数据据必必须须在在内内存存里里才才能能被被处处理理机机直接访问直接访问低低级级调调度
3、度也也称称微微观观调调度度,从从处处理理机机资资源源分分配配的的角角度度来来看看,处处理理机机需需要要经经常常选选择择就就绪绪进进程程或或线线程程进进入入运运行行状状态态,低低级级调调度度的的时时间间尺尺度度通通常常是是毫毫秒秒级级的的。由由于于低低级级调调度度算算法法的的频频繁繁使使用用,要求在实现时做到高效要求在实现时做到高效一一.进程调度算法进程调度算法 1 1进程调度进程调度 进进程程调调度度的的任任务务是是控控制制协协调调进进程程对对CPUCPU的的竞竞争争。即即按按一一定定的的调调度度算算法法从从就就绪绪队队列列中中选选中中一一个个进进程程,把把CPUCPU的的使使用用权权交交给给
4、被被选选中的进程中的进程2 2确定算法的原则确定算法的原则具有公平性具有公平性资源利用率高(特别是资源利用率高(特别是CPUCPU利用率)利用率)在在交交互互式式系系统统情情况况下下要要追追求求响响应应时时间间(越越短越好)短越好)在批处理系统情况下要追求系统吞吐量在批处理系统情况下要追求系统吞吐量3 3各种进程调度算法各种进程调度算法先进先出进程调度算法先进先出进程调度算法(FIFOFIFO)按照进程就绪的先后次序来调度进程按照进程就绪的先后次序来调度进程 优点优点:实现简单实现简单 缺点缺点:没考虑进程的优先级没考虑进程的优先级 基于优先数的调度基于优先数的调度(HPFHighest Pr
5、iority First)优优先先选选择择就就绪绪队队列列中中优优先先级级最最高高的的进进程程投投入运行入运行优先级根据优先数来决定优先级根据优先数来决定确定优先数的方法确定优先数的方法静态优先数法:静态优先数法:在在进进程程创创建建时时指指定定优优先先数数,在在进进程程运运行行时优先数不变时优先数不变动态优先数法:动态优先数法:在在进进程程创创建建时时创创立立一一个个优优先先数数,但但在在其其生生命命周周期期内内优优先先数数可可以以动动态态变变化化。如如等等待待时间长优先数可改变时间长优先数可改变两种占用两种占用CPUCPU的方式的方式可剥夺式(可抢占可剥夺式(可抢占式式Preemptive
6、Preemptive):):当当有有比比正正在在运运行行的的进进程程优优先先级级更更高高的的进进程程就就绪绪时时,系系统统可可强强行行剥剥夺夺正正在在运运行行进进程程的的CPUCPU,提供给具有更高优先级的进程使用提供给具有更高优先级的进程使用不可剥夺式(不可抢占式不可剥夺式(不可抢占式 Non-preemptive Non-preemptive):):某某一一进进程程被被调调度度运运行行后后,除除非非由由于于它它自自身身的的原因不能运行,否则一直运行下去原因不能运行,否则一直运行下去时间片轮转程序调度算法时间片轮转程序调度算法(RRRound Robin)把把CPUCPU划划分分成成若若干干
7、时时间间片片,并并且且按按顺顺序序赋赋给给就就绪绪队队列列中中的的每每一一个个进进程程,进进程程轮轮流流占占有有CPUCPU,当当时时间间片片用用完完时时,即即使使进进程程未未执执行行完完毕毕,系系统统也也剥剥夺夺该该进进程程的的CPUCPU,将将该该进进程程排排在在就就绪绪队队列列末末尾尾。同同时时系系统统选选择择另另一一个进程运行个进程运行分时系统中常用时间片轮转法分时系统中常用时间片轮转法时间片选择问题时间片选择问题:固定时间片固定时间片 可变时间片可变时间片与时间片大小有关的因素:与时间片大小有关的因素:系统响应时间系统响应时间 就绪进程个数就绪进程个数 CPUCPU能力能力 多队列反
8、馈调度算法:多队列反馈调度算法:将将就就绪绪队队列列分分为为N N级级,每每个个就就绪绪队队列列分分配配给给不不同同的的时时间间片片,队队列列级级别别越越高高,时时间间越越长长,级级别别越越小小,时时间间片片越越小小,最最后后一一级级采采用用时时间间片片轮轮转转,其其他他队队列列采采用用先先进进先先出出;系系统统从从第第一一级级调调度度,当当第第一一级级为为空空时时,系系统统转转向向第第二二个个队队列列,.当当运运行行进进程程用用完完一一个个时时间间片片,放放弃弃CPUCPU时时,进进入入下下一一级级队队列列;等等待待进进程程被被唤唤醒醒时时,进进入入原原来来的的就就绪绪队队列列;当当进进程程
9、第第一一次次就就绪绪时,进入第一级队列时,进入第一级队列 *首先系统中设置多个就绪队列首先系统中设置多个就绪队列*每每个个就就绪绪队队列列分分配配给给不不同同时时间间片片,优优先先级级高高的的为为第第一一级级队列,时间片最小,随着队列级别的降低,时间片加大队列,时间片最小,随着队列级别的降低,时间片加大*各个队列按照先进先出调度算法各个队列按照先进先出调度算法*一个新进程就绪后进入第一级队列一个新进程就绪后进入第一级队列*进进程程由由于于等等待待而而放放弃弃CPUCPU后后,进进入入等等待待队队列列,一一旦旦等等待待的的事件发生,则回到原来的就绪队列事件发生,则回到原来的就绪队列*当当有有一一
10、个个优优先先级级更更高高的的进进程程就就绪绪时时,可可以以抢抢占占CPUCPU,被被抢抢占进程回到原来一级就绪队列末尾占进程回到原来一级就绪队列末尾*当第一级队列空时,就去调度第二级队列,如此类推当第一级队列空时,就去调度第二级队列,如此类推*当时间片到后,进程放弃当时间片到后,进程放弃CPUCPU,回到下一级队列回到下一级队列二二.进程调度的时机进程调度的时机当一个进程运行完毕,或由于某种错误而终止当一个进程运行完毕,或由于某种错误而终止运行运行当一个进程在运行中处于等待状态(等待当一个进程在运行中处于等待状态(等待I/OI/O)分时系统中时间片到分时系统中时间片到当有一个优先级更高的进程就
11、绪(可抢占式)当有一个优先级更高的进程就绪(可抢占式)例例如如:新新创创建建一一个个进进程程,一一个个等等待待进进程程变变成成就就绪绪在在进进程程通通信信中中,执执行行中中的的进进程程执执行行了了某某种种原原语语操作(操作(P P操作,阻塞原语,唤醒原语)操作,阻塞原语,唤醒原语)三三.进程切换进程切换进程切换进程切换 一个进程让出处理器,由另一个进程占用处理器的过程一个进程让出处理器,由另一个进程占用处理器的过程进进程的切程的切换换使系使系统统中的各中的各进进程均有机会占用程均有机会占用CPUCPU进进程程的的切切换换是是由由进进程程状状态态的的变变化化引引起起的的,而而进进程程状状态态的的
12、变变化又与出化又与出现现中断事件有关中断事件有关当当有有中中断断事事件件发发生生时时,当当前前运运行行的的进进程程被被中中断断,中中断断响响应应后后由由操操作作系系统统处处理理出出现现的的中中断断事事件件。中中断断处处理理后后,某某些些进进程程的的状状态态会会发发生生变变化化,也也可可能能又又创创建建了了一一些些新新的的进进程程。因因此此,要要进进行行队队列列的的调调整整。然然后后,进进程程调调度度根根据据预预定定的的调调度度算算法法从从就就绪绪队队列列选选一一个个进进程程占占用用CPUCPU。这这个个占占用用CPUCPU运运行行的的进进程程可可能能仍仍是是被被中中断断的的进进程程,也也可可能
13、能是是另另一一个个进进程程 何时切换进程何时切换进程?只只要要OSOS取取得得对对CPUCPU的的控控制制,进进程程切切换换就就可可能发生,如能发生,如:超级用户调用超级用户调用来来自自程程序序的的显显式式请请求求 (如如:打打开开文文件件),该该进进程程通常会被阻塞通常会被阻塞陷阱陷阱最最末末一一条条指指令令导导致致出出错错,会会引引起起进进程程移移至至退退出出状状态态中断中断 外外部部因因素素影影响响当当前前指指令令的的执执行行,控控制制被被转转移移至至IHIH(中断处理程序)中断处理程序)中断的例子中断的例子时钟时钟进程用完其时间片,被转换至就绪状态进程用完其时间片,被转换至就绪状态I/
14、O I/O 先先前前等等待待该该事事件件的的进进程程被被转转换换为为就就绪绪(或或就就绪绪挂挂起起)状态状态然后重新运行该进程或选择一更高优先级的进程然后重新运行该进程或选择一更高优先级的进程存储器因素存储器因素内内存存地地址址是是在在虚虚拟拟存存储储器器中中,它它必必须须把把对对应应的的存存储块调入主存储块调入主存于是相应的进程成为阻塞状态于是相应的进程成为阻塞状态(等待等待I/OI/O完成完成)四四.CPU.CPU调度过程调度过程*保存现场保存现场:顺序保存,最后一步保存:顺序保存,最后一步保存PSWPSW*选择要运行的程序选择要运行的程序 (如如果果没没有有就就绪绪进进程程,系系统统会会
15、安安排排一一个个闲闲逛逛进进程程(idle)(idle),没没有有其其他他进进程程时时该该进进程程一一直运行直运行,在执行过程中可接收中断)在执行过程中可接收中断)*恢复现场:恢复现场:最后一步恢复选中进程的最后一步恢复选中进程的PSWPSW在进程(上下文)中切换的步骤在进程(上下文)中切换的步骤保保存存处处理理器器的的上上下下文文,包包括括程程序序计计数数器器和和其其它它寄存器寄存器用用新新状状态态和和其其它它相相关关信信息息更更新新正正在在运运行行进进程程的的PCBPCB把原来的进程移至合适的队列把原来的进程移至合适的队列-就绪、阻塞就绪、阻塞选择另一个要执行的进程选择另一个要执行的进程更
16、新被选中进程的更新被选中进程的PCBPCB从被选中进程中重装入从被选中进程中重装入 CPU CPU 上下文上下文二二.系统核心系统核心系统核心:系统核心:向上提供多个无中断的虚拟机器向上提供多个无中断的虚拟机器在核心内不允许中断在核心内不允许中断特点:特点:*为进程运行提供一个舞台为进程运行提供一个舞台 *核心常驻内存核心常驻内存 *设计短小精焊设计短小精焊1.1.核心的组成核心的组成 中断处理中断处理 进程管理进程管理:调度调度 控制控制 通讯通讯 互斥互斥 同步等同步等 原语管理原语管理:在在核核心心中中提提供供一一系系列列原原语语,同同步步,通通信,创建,撤消等信,创建,撤消等队列管理队
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八 进程 调度 线程 概念 课件
限制150内