- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统-4处理机管理
第四章 处理机管理 4.1 引言 4.2 调度算法 4.3 调度算法性能分析 4.4 实时调度 4.5 Linux实例 4.1 引言 4.1.1 调度的类型(scheduling) 4.1.2 调度的性能准则 4.1.1 调度的类型(scheduling) 作业:又称为宏观调度、高级调度。从用户工作流程的角度,一次提交的若干个流程,其中每个程序按照进程调度。时间上通常是分钟、小时或天。 内外存交换:又称为中级调度。从存储器资源的角度。将进程的部分或全部换出到外存上,将当前所需部分换入到内存。指令和数据必须在内存里才能被CPU直接访问。 进程或线程:又称为微观调度、低级调度。从CPU资源的角度,执行的单位。时间上通常是毫秒。因为执行频繁,要求在实现时达到高效率。 作业调度 主要功能: 选择作业 分配资源 为作业创建进程 作业后续处理 交换调度 主要功能: 内外存交换:将内存中暂时不用的进程挂起,将进程的部分或全部换出到外存上,将当前所需部分换入到内存。 进程调度 功能:调度程序(dispatcher) 记录所有进程的运行状况(静态和动态) 确定分配原则:当进程出让CPU或调度程序剥夺执行状态进程占用的CPU时,选择适当的进程分派CPU 完成上下文切换 回收处理机 进程的上下文切换过程: 用户态执行进程A代码--进入OS核心(通过时钟中断或系统调用) 保存进程A的上下文,恢复进程B的上下文(CPU寄存器和一些表格的当前指针) 用户态执行进程B代码 注:上下文切换之后,指令和数据快速缓存cache通常需要更新,执行速度降低 进程调度时机 完成任务 等待资源 运行时间到 发现标志 核心处理完中断或陷入事件后,发现系统中“重新调度”标志被置上。 创建新进程 线程调度 用户级线程(User Level Thread) 由应用程序完成所有线程的管理 通过线程库(用户空间) 一组管理线程的过程 核心不知道线程的存在 线程切换不需要核心态特权 调度是应用特定的 线程调度 核心级线程(KLT) 所有线程管理由核心完成 没有线程库,但对核心线程工具提供API 核心维护进程和线程的上下文 线程之间的切换需要核心支持 以线程为基础进行调度 例子:Windows NT,OS/2 2. 按照调度的时间周期 长期(long-term):将进程投入允许执行进程缓冲池中,或送到退出进程缓冲池中。进程状态:New-Ready suspend, Running -Exit 中期(medium-term):将进程的部分或全部加载到内存中。进程状态:Ready -Ready suspend, Blocked -Blocked suspend 短期(short-term):选择哪个进程在处理机上执行。进程状态:Ready -Running I/O调度:选择哪个I/O等待进程,使其请求可以被空闲的I/O设备进行处理。 3. 按照OS的分类 批处理调度--应用场合:大中型主机集中计算,如工程计算、理论计算(流体力学) 分时调度、实时调度:通常没有专门的作业调度 多处理机调度 4.1.2 调度的性能准则 周转时间:作业从提交到完成(得到结果)所经历的时间。包括:在收容队列中等待,CPU上执行,就绪队列和阻塞队列中等待,结果输出等待--批处理系统 平均周转时间T 平均带权周转时间(带权周转时间W是 T(周转)/T(CPU执行)〕 响应时间:用户输入一个请求(如击键)到系统给出首次响应(如屏幕显示)的时间--分时系统 截止时间:开始截止时间和完成截止时间--实时系统,与周转时间有些相似。 公平性:不因作业或进程本身的特性而使上述指标过分恶化。如长作业等待很长时间。 优先级:可以使关键任务达到更好的指标。 2. 面向系统的调度性能准则 吞吐量:单位时间内所完成的作业数,跟作业本身特性和调度算法都有关系--批处理系统 平均周转时间不是吞吐量的倒数,因为并发执行的作业在时间上可以重叠。如:在2小时内完成4个作业,而每个周转时间是1小时,则吞吐量是2个作业/小时 处理机利用率:--大中型主机 各种设备的均衡利用:如CPU繁忙的作业和I/O繁忙(指次数多,每次时间短)的作业搭配--大中型主机 4.2 调度算法 4.2.1 先来先服务 4.2.2 短作业优先 4.2.3 时间片轮转算法 4.2.4 多级队列算法 4.2.5 优先级算法 4.2.6 多级反馈队列算法 4.2.1 先来先服务(FCFS, First Come First Service) 按照作业提交或进程变为就绪状态的先后次序,分派CPU; 当前作业或进程占用CPU,直到执行完或阻塞,才出让CPU(非抢占方式)。 在作业或进程唤醒后(如I/O完成),并不立即恢复执行,通常等到当前作业或进程出让CPU。最
文档评论(0)