Linux操作系统分析4.3_scheduling.ppt
《Linux操作系统分析4.3_scheduling.ppt》由会员分享,可在线阅读,更多相关《Linux操作系统分析4.3_scheduling.ppt(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Linux操作系统操作系统分析分析陈香兰陈香兰Fall 2010进进程程调调度度调度策略调度算法1/2/20232Linux操作系统分析操作系统分析进进程的分程的分类类不同类型的进程有不同的调度需求第一种分第一种分类类:I/O-bound频繁的进行I/O通常会花费很多时间等待I/O操作的完成CPU-bound计算密集型需要大量的CPU时间进行运算1/2/20233Linux操作系统分析操作系统分析第二种分类交互式进程(interactive process)需要经常与用户交互,因此要花很多时间等待用户输入操作响应时间要快,平均延迟要低于50150ms典型的交互式程序:shell、文本编辑程序、
2、图形应用程序等1/2/20234Linux操作系统分析操作系统分析批处理进程(batch process)不必与用户交互,通常在后台运行不必很快响应典型的批处理程序:编译程序、科学计算实时进程(real-time process)有实时需求,不应被低优先级的进程阻塞响应时间要短典型的实时进程:视频/音频、机械控制等1/2/20235Linux操作系统分析操作系统分析Linux中的中的进进程程调调度度Linux既支持普通的分时进程,也支持实时进程Linux中的调度是多种调度策略和调度算法的混合。什么是调度策略?是一组规则,它们决定什么时候以怎样的方式选择一个新进程运行Linux的调度基于分时和优
3、先级随着版本的变化,分时技术在不断变化1/2/20236Linux操作系统分析操作系统分析Linux的进程根据优先级排队根据特定的算法计算出进程的优先级,用一个值表示这个值表示把进程如何适当的分配给CPULinux中进程的优先级是动态的调度程序会根据进程的行为周期性的调整进程的优先级较长时间未分配到CPU的进程,通常已经在CPU上运行了较长时间的进程,通常1/2/20237Linux操作系统分析操作系统分析与与调调度相关的系度相关的系统调统调用用nicegetpriority/setprioritysched_getscheduler/sched_setschedulersched_getpa
4、ram/sched_setparamsched_yieldsched_get_priority_min/sched_get_priority_maxsched_rr_get_interval1/2/20238Linux操作系统分析操作系统分析采用常采用常规规分分时时时时,时间时间片片的的选择选择时间片的长短对系统性能非常关键,它既不能太长也不能太短太短:频繁的切换会造成系统开销过大假如切换时间为1ms,时间片设置为1ms,那就没空执行进程了1/2/20239Linux操作系统分析操作系统分析太长几乎每个进程都一次运行完并发的概念基本消失普通进程需要等待很长时间才能运行时间片大小的选择总是一种折
5、衷。Linux采取单凭经验的方法,即选择尽可能长的时间片,同时能保持良好的响应时间1/2/202310Linux操作系统分析操作系统分析调调度算法度算法Linux 2.4的调度算法需要遍历可运行队列,算法O(n)Epoch,基本时间片,动态优先级Linux 2.6.17的调度算法(2.6.23之前)采用双队列(Active;expire),按照优先级组队,O(1)Linux 2.6.26的调度算法非实时:CFS,vruntime,红黑树实时:优先级队列Linux进程可以指定该进程所采用的调度策略调度算法根据进程的调度策略,采用不同的调度算法1/2/202311Linux操作系统分析操作系统分析
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 操作系统 分析 4.3 _scheduling
限制150内