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