第1讲操作系统如何管理进程

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

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

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

资源描述

第2单元进程管理第2节进程调度1进程调度做什么?进程调度算法调度时机举例运行服务请求(请求I/O等)服务完成/事件来到进程调度等待就绪具有进程基本状态的变迁图时间片到进程调度分两步第一步:在众多处于就绪状态的进程中,按一定的原则选择一个进程第二步:设置处理器现场利用进程控制块记录进程的情况决定调度算法实施处理机的分配和回收进程ID进程状态进程优先级当前队列指针nextCPU现场保护区通信信息家族联系占有资源清单进程控制块的主要内容ready_q_startPCB1PCB2PCB9就绪队列结构next第2单元进程管理第2节进程调度5进程调度做什么?进程调度算法调度时机举例调度算法•进程优先数调度算法•循环轮转调度•多级反馈队列调度选哪个就绪进程投入运行?优先数调度每个任务有个优先数,关联一个优先权,优先权高的任务优先调度1.如何确定优先数?2.同一个优先级的进程是一个还是多个?3.是否可剥夺?如何确定优先数?静态优先数动态优先数创建进程时设定的优先数如何确定优先数?静态优先数动态(可变)优先数什么时候变?怎么变?参看教材p233处于运行状态的时间越长,优先权越低处于非运行状态的时间越长,优先权越高优先数调度1.如何确定优先数?2.同一个优先级的进程是一个还是多个?3.是否可剥夺?同一个优先级的进程是一个还是多个?如果一个优先级一个进程,就排一个队列如果一个优先级有多个进程,就排多个队列同一个优先级上有多个进程举例每个优先级一个队列,有多个队列优先数调度1.如何确定优先数?2.同一个优先级的进程是一个还是多个?3.是否可剥夺?当有更高优先级的进程就绪,能否剥夺正在CPU上运行的进程的使用权?基于可剥夺优先级的状态变迁图运行服务请求(请求I/O等)服务完成/事件来到进程调度被剥夺等待就绪调度算法•进程优先数调度算法•循环轮转调度•多级反馈队列调度进程按照先到先得的原则使用cpu正在使用CPU的进程,如果时间片到就排的就绪队列的末尾,然后让就绪队列首部的进程使用CPU关于时间片设定•固定时间片•可变时间片时间片大小的设定时间片不能太长,也不能太短!一般是切换时间为时间片的1%关于时间片设定•固定时间片•可变时间片时间片怎么计算?参看教材P235每个进程的时间片在创建进程的时候设定大小(均分父进程的时间片)时间片用完重新计算时间片循环轮转调度的状态变迁时间片到运行服务请求(请求I/O等)服务完成/事件来到进程调度等待就绪调度算法•进程优先数调度算法•循环轮转调度•多级反馈队列调度就绪队列有多个,每个队列可以采用不同的调度算法,任务可以在队列之间移动多个时间片优先权高的,时间片短多级反馈算法举例1系统任务队列2用户任务(时间片为8)系统任务队列1用户任务(时间片为16)用户任务(FCFS)优先权当用完时间片…例子2有2个就绪队列的状态变迁图第2单元进程管理第2节进程调度22进程调度做什么?进程调度算法调度时机举例什么时候调度?调度调度调度调度一个进程的时间片用完的时候一个进程需要系统服务的时候一个进程被捕获(陷入)的时候一个进程执行完毕的时候在可剥夺系统中,当有更高优先级进程需要处理机的时候第2单元进程管理第2节进程调度24进程调度做什么?进程调度算法调度时机举例举例•P275四-1例子•考虑5个进程见下表,1的优先级最高,假设忽略进程的调度时间,分析在采用下述几种调度算法下的调度次序。进程创建时间运行时间优先数P1043P2362P3441P4725P5824非剥夺优先级剥夺优先级时间片轮转(时间片为2)•并发执行的程序是需要操作系统调度的•调度方式有可剥夺和不可剥夺两种方式•调度算法主要有优先数和循环轮转以及多级反馈,但操作系统一般不单一的采用某种算法总结

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

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

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

×
保存成功