【操作系统复习】Unit2 |
您所在的位置:网站首页 › 计数型msa的判定准则 › 【操作系统复习】Unit2 |
文章目录
3.1 基本概念3.2 涉及调度算法要考虑的问题(设计要点)3.3 典型的调度算法
3.1 基本概念
处理机管理的工作是对CPU资源进行合理的分配使用,以提高处理机利用率,并使各用户公平地得到处理机资源。 调度的类型 高级调度/宏观调度/作业调度 对每个作业进行调度中级调度/内外存交换(内存和外存的调度) 将进程的部分或全部换出到外存上(挂起),将当前所需部分换入到内存低级调度/微观调度/进程或线程调度(进程和CPU的调度)【最基本的一种调度】 从就绪队列中选取一个,将处理机分配给他何时进行调度 主动放弃CPU:进程正常终止、运行过程中发生异常而终止、进程主动请求阻塞(eg:IO)被动放弃CPU:时间片到、有更紧急的事需要处理(eg:IO中断)、更高优先级的进程进入就绪队列何时进行切换 OS获得控制权后,就需要判断是否要切换进程 **用户调用:**来自程序的显式请求(如:打开文件),该进程多半会被阻塞**陷阱:**最末一条指令导致出错,会引起进程移至退出状态**中断:**外部因素影响当前指令的执行,控制被转移至中断处理程序在进程上下文中切换的步骤: 保存处理器的上下文,包括程序计数器和其它寄存器更新正在运行进程的PCB把进程的PCB移至合适的队列,eg:就绪、阻塞选择另一个要执行的进程,更新其PCB跳转到新进程PCB中的程序计数器所指向的位置执行恢复处理机上下文辨析:进程上下文切换 vs 陷入内核 进程上下文切换(Process Context Switch) 通常由调度器执行保存进程执行断点切换内存映射(页表基址、flush TLB)(修改页表基址?) 陷入内核 CPU状态改变由中断、异常、Trap指令(系统调用)引起。(OS权限改变,转到内核态)需要保存执行现场(寄存器、堆栈等) 从用户态到内核态的切换(mode switch)涉及到的切换主要是寄存器上下文的切换,和通常所说的进程上下文切换(Process Context Switch)不同,mode switch的消耗相对要小很多。调度的性能准则 从用户的角度、处理机的角度、算法实现的角度综合判断调度性能准则 调度算法本身的调度性能准则 易于实现、维护执行开销比 算法本身执行时间、占用空间算法开销占调度后整体任务执行时间比例 3.2 涉及调度算法要考虑的问题(设计要点)进程优先级(数) 优先级(数):表现了进程的重要性和紧迫性静态优先级、动态优先级进程就绪队列组织 按优先级排队方式另一种方式:所有进程创建之后都进入到第一级就绪队列,随着进程的运行,可能会降低某些进程的优先级,如某些进程的时间片用完了,那么就会将其降级。占用CPU的方式:不可抢占式、抢占式方式 进程的分类1:I/O密集型与CPU密集型 进程的分类2: 批处理进程(无需与用户交互、不需快响应)交互式进程(需用户交互)实时进程(高优先级优先、响应快) 3.3 典型的调度算法常用的调度算法概述【王道P66】 ⋆ \star ⋆ 先来先服务(FCFS)——作业/进程调度 有利于长作业、不利于短作业;有利于CPU繁忙的作业,不利于I/O繁忙的作业;算法简单效率低⋆ \star ⋆ 最短作业优先(SJF) 非抢占式 优点: 比FCFS改善平均周转时间和平均带权周转时间,缩短作业的等待时间提高系统的吞吐量缺点:对长作业不利;不能根据作业紧迫程度来划分执行的优先级;难以准确估计作业/进程的执行时间 最短剩余时间响应(SRTF) 在短作业优先的基础上,改进为抢占式。缺点:可能产生”饥饿“最高响应比优先(HRRF)——作业/进程调度 响应比RP(相应优先级)=(已等待时间+要求运行时间)/(要求运行时间)缺点:计算后备作业队列中每个作业的响应比,有一定的时间开销,性能比SJF略差优点:短作业容易得到较高的响应比;长作业等待时间足够长后,也将获得足够高的响应比;不会饥饿⋆ \star ⋆ 时间片轮转——进程调度 优点:公平、响应快、适用于分时操作系统缺点:高频率的进程切换有一定开销、不区分任务的紧急程度、增大进程响应时间⋆ \star ⋆ 优先级算法——作业/进程调度 适用于作业调度和进程调度,可分为抢占式和非抢占式优点:区分了紧急程度,适用于实时操作系统缺点:可能产生饥饿多级队列算法(MQ) 不同队列可有不同的不同的优先级、时间片长度、调度策略等多级反馈队列(MFQ) 时间片轮转+优先级算法不必估计进程的执行时间,动态调节扩展: 实时系统的调度算法 多处理机调度 Linux处理机调度 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |