第五章处理机管理 处理机管理的工作是对CPU资源进行合理的分配使用,以提高 处理机利用率,并使各用户公平地得到处理机资源。这里的主 要问题是处理机调度算法和调度算法特征分析。 51引言 52调度算法 3调度算法性能分析 54实时调度 55多处理机调度 56调度算法举例
第五章 处理机管理 5.1 引言 5.2 调度算法 5.3 调度算法性能分析 5.4 实时调度 5.5 多处理机调度 5.6 调度算法举例 处理机管理的工作是对CPU资源进行合理的分配使用,以提高 处理机利用率,并使各用户公平地得到处理机资源。这里的主 要问题是处理机调度算法和调度算法特征分析
5.1引言 51.1调度的类型( scheduling) 5.1.2调度的性能准则 5.1.3进程调度 返回
5.1 引言 5.1.1 调度的类型(scheduling) 5.1.2 调度的性能准则 5.1.3 进程调度 返回
51.1调度的类型( cheduling) 从处理机调度的对象、时间、功能等不同角度,我们可把处 理机调度分成不同类型 1.按照调度的层次 作业:又称为"宏观调度"、"高级调度"。从用户工作流程的 角度,一次提交的若干个流程,其中每个程序按照进程调度。 时间上通常是分钟、小时或天 内外存交换:又称为"中级调度"。从存储器资源的角度。将 进程的部分或全部换出到外存上,将当前所需部分换入到内 存。指令和数据必须在内存里才能被CPU直接访问 进程或线程:又称为"微观调度"、"低级调度"。从CPU资源 的角度,执行的单位。时间上通常是毫秒。因为执行频繁, 要求在实现时达到高效率
5.1.1 调度的类型(scheduling) • 作业:又称为"宏观调度" 、 "高级调度"。从用户工作流程的 角度,一次提交的若干个流程,其中每个程序按照进程调度。 时间上通常是分钟、小时或天。 • 内外存交换:又称为"中级调度"。从存储器资源的角度。将 进程的部分或全部换出到外存上,将当前所需部分换入到内 存。指令和数据必须在内存里才能被CPU直接访问。 • 进程或线程:又称为"微观调度" 、 "低级调度"。从CPU资源 的角度,执行的单位。时间上通常是毫秒。因为执行频繁, 要求在实现时达到高效率。 从处理机调度的对象、时间、功能等不同角度,我们可把处 理机调度分成不同类型。 1. 按照调度的层次
ew Suspend- Read Activate Dispatch Suspend +Suspend Running H Release- Exit Timeout locked、 Activate Blocked Suspend4-Suspend+ 微观调度 中级调度 宏观调度 处理机调度的层次
Admit Running Ready Suspend Ready Exit Blocked Dispatch Timeout Event Wait Event Occurs Release Blocked Suspend Suspend New Event Occurs Activate Suspend Activate Admit Suspend 宏观调度 微观调度 中级调度 处理机调度的层次
2.按照调度的时间周期 长期( ong-term):将进程投入"允许执行"进程缓冲池 中,或送到"退出"进程缓冲池中。进程状态:New > Ready suspend, Running>Exit 中期( medium-term):将进程的部分或全部加载到内 存中。进程状态: Ready Ready suspend Blocked Blocked suspend 短期( short-term):选择哪个进程在处理机上执行。 进程状态: Ready Running I/O调度:选择哪个ⅣO等待进程,使其请求可以被 空闲的O设备进行处理
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的分类 批处理调度一一应用场合:大中型主机 集中计算,如工程计算、理论计算(流 体力学) 分时调度、实时调度:通常没有专门的 作业调度 多处理机调度
3. 按照OS的分类 • 批处理调度--应用场合:大中型主机 集中计算,如工程计算、理论计算(流 体力学) • 分时调度、实时调度:通常没有专门的 作业调度 • 多处理机调度
5.1.2调度的性能准则 我们可从不同的角度来判断处理机调度算法 的性能,如用户的角度、处理机的角度和算 法实现的角度。实际的处理机调度算法选择 是一个综合的判断结果
5.1.2 调度的性能准则 我们可从不同的角度来判断处理机调度算法 的性能,如用户的角度、处理机的角度和算 法实现的角度。实际的处理机调度算法选择 是一个综合的判断结果
1.面向用户的调度性能准则 周转时间:作业从提交到完成(得到结果)所经历的时间。 包括:在收容队列中等待,CPU上执行,就绪队列和阻塞队 列中等待,结果输出等待一一批处理系统 平均周转时间T 平均带权周转时间(带权周转时间W是T(周转)T(CPU执行) 响应时间:用户输入一个请求(如击键)到系统给出首次响 应(如屏幕显示)的时间一一分时系统 截止时间:开始截止时间和完成截止时间一一实时系统,与 周转时间有些相似。 公平性:不因作业或进程本身的特性而使上述指标过分恶化 如长作业等待很长时间 优先级:可以使关键任务达到更好的指标
• 周转时间:作业从提交到完成(得到结果)所经历的时间。 包括:在收容队列中等待,CPU上执行,就绪队列和阻塞队 列中等待,结果输出等待--批处理系统 – 平均周转时间T – 平均带权周转时间(带权周转时间W是T(周转)/T(CPU执行)〕 • 响应时间:用户输入一个请求(如击键)到系统给出首次响 应(如屏幕显示)的时间--分时系统 • 截止时间:开始截止时间和完成截止时间--实时系统,与 周转时间有些相似。 • 公平性:不因作业或进程本身的特性而使上述指标过分恶化。 如长作业等待很长时间。 • 优先级:可以使关键任务达到更好的指标。 1. 面向用户的调度性能准则
2.面向系统的调度性能准则 吞吐量:单位时间内所完成的作业数,跟作业本身 特性和调度算法都有关系一一批处理系统 平均周转时间不是吞吐量的倒数,因为并发执行的作业在 时间上可以重叠。如:在2小时内完成4个作业,而每个周 转时间是1小时,则吞吐量是2个作业/小时 处理机利用率:一一大中型主机 各种设备的均衡利用:如CPU繁忙的作业和IO繁忙 (指次数多,每次时间短)的作业搭配一一大中型 主机 3.调度算法本身的调度性能准则 易于实现 执行开销比
2. 面向系统的调度性能准则 • 吞吐量:单位时间内所完成的作业数,跟作业本身 特性和调度算法都有关系--批处理系统 – 平均周转时间不是吞吐量的倒数,因为并发执行的作业在 时间上可以重叠。如:在2小时内完成4个作业,而每个周 转时间是1小时,则吞吐量是2个作业/小时 • 处理机利用率:--大中型主机 • 各种设备的均衡利用:如CPU繁忙的作业和I/O繁忙 (指次数多,每次时间短)的作业搭配--大中型 主机 3. 调度算法本身的调度性能准则 • 易于实现 • 执行开销比
5.1.3进程调度 功能:调度程序( dispatcher 记录所有进程的运行状况(静态和动态) 当进程出让CPU或调度程序剥夺执行状态进程占用的CPU 时,选择适当的进程分派CPU 完成上下文切换 进程的上下文切换过程: 用户态执行进程A代码一一进入OS核心(通过时钟中断或 系统调用) 保存进程A的上下文,恢复进程B的上下文(CPU奇存器 和一些表格的当前指针) 用户态执行进程B代码 注:上下文切换之后,指令和数据快速缓存 cache通 常需要更新,执行速度降低
5.1.3 进程调度 • 功能:调度程序(dispatcher) – 记录所有进程的运行状况(静态和动态) – 当进程出让CPU或调度程序剥夺执行状态进程占用的CPU 时,选择适当的进程分派CPU – 完成上下文切换 • 进程的上下文切换过程: – 用户态执行进程A代码--进入OS核心(通过时钟中断或 系统调用) – 保存进程A的上下文,恢复进程B的上下文(CPU寄存器 和一些表格的当前指针) – 用户态执行进程B代码 • 注:上下文切换之后,指令和数据快速缓存cache通 常需要更新,执行速度降低