第2节操作系统 操作系统如何管理进程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2单元进程管理第2节进程调度1进程调度做什么?调度方式调度时机进程调度算法举例进程调度分两步第一步:在众多处于就绪状态的进程中,按一定的原则选择一个进程第二步:处理器切换利用进程控制块记录进程的情况决定调度算法实施处理机的分配和回收第2单元进程管理第2节进程调度3进程调度做什么?调度方式调度时机进程调度算法举例•非剥夺方式•剥夺方式进程调度的方式第2单元进程管理第2节进程调度5进程调度做什么?调度方式调度时机进程调度算法调度算法设计要考虑的因素举例什么时候调度?调度调度调度调度一个进程的时间片用完的时候一个进程需要系统服务的时候一个进程被捕获(陷入)的时候一个进程执行完毕的时候在可剥夺系统中,当有更高优先级进程需要处理机的时候Cpu空闲第2单元进程管理第2节进程调度7进程调度做什么?调度方式调度时机进程调度算法举例调度算法•进程优先数调度算法•循环轮转调度•多级反馈队列调度怎么选一个就绪进程投入运行优先数调度每个任务有个优先数,关联一个优先权,优先权高的任务优先调度1、如何确定优先数?2、同一个优先级的进程是一个还是多个?3、是否可剥夺?如何确定优先数?静态优先数动态优先数根据进程使用的资源进程运行时间的估计进程的类型考虑因素:如何确定优先数?静态优先数动态(可变)优先数什么时候变?怎么变?考虑因素:同一个优先级的进程是一个还是多个?如果一个优先级一个进程,就排一个队列如果一个优先级有多个进程,就排多个队列同一个优先级上有多个进程举例每个优先级一个队列,有多个队列基于可剥夺优先级的状态变迁图运行服务请求(请求I/O等)服务完成/事件来到进程调度被剥夺等待就绪调度算法•进程优先数调度算法•循环轮转调度•多级反馈队列调度怎么选一个就绪进程投入运行适合交互式的调度:Round-robin(RR)时间片到运行服务请求(请求I/O等)服务完成/事件来到进程调度等待就绪•RR:按时间片来轮转调度关于时间片设定•固定时间片•可变时间片时间片大小的设定时间片该如何设定?响应时间太长•时间片太大时间片太小吞吐量变小,周转时间变长如时间片500ms10任务,响应需要5秒如时间片20ms,上下文切换5ms,20%的切换代价折衷:时间片10-100ms,切换时间0.1-1ms(1%)关于时间片设定•固定时间片•可变时间片时间片怎么计算?调度算法•进程优先数调度算法•循环轮转调度•多级反馈队列调度怎么选一个就绪进程投入运行多级反馈算法举例•就绪队列有多个,每个队列可以采用不同的调度算法,任务可以在队列之间移动系统任务队列2用户任务(时间片为8)系统任务队列1用户任务(时间片为16)用户任务(FCFS)优先权当用完时间片…例子有2个就绪队列的状态变迁图举例•P275四-1第2单元进程管理第2节进程调度24进程调度做什么?调度方式调度时机进程调度算法举例Linux的进程调度•P2329.5节•动态优先级+可变时间片+可抢占例子•考虑5个进程见下表,1的优先级最高,假设忽略进程的调度时间,分析在采用下述几种调度算法下的调度次序。进程创建时间运行时间优先数P1043P2362P3441P4725P5824先来先服务非剥夺优先级剥夺优先级时间片轮转(时间片为2)•并发执行的程序是需要操作系统调度的•调度方式有可剥夺和不可剥夺两种方式•调度算法主要有优先数和循环轮转以及多级反馈,但操作系统一般不单一的采用某种算法总结

1 / 27
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功