- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二种分类 交互式进程(interactive process) 需要经常与用户交互,因此要花很多时间等待用户输入操作 响应时间要快,平均延迟要低于50~150ms 典型的交互式程序:shell、文本编辑程序、图形应用程序等 批处理进程(batch process) 不必与用户交互,通常在后台运行 不必很快响应 典型的批处理程序:编译程序、科学计算,软件安装,文件压缩等 实时进程(real-time process) 有实时需求,不应被低优先级的进程阻塞 响应时间要短 典型的实时进程:视频/音频、机械控制等 Linux中的进程调度 Linux既支持普通的分时进程,也支持实时进程 Linux中的调度是多种调度策略和调度算法的混合。 什么是调度策略? 是一组规则,它们决定什么时候以怎样的方式选择一个新进程运行 Linux的调度基于分时和优先级 随着版本的变化,分时技术在不断变化 Linux中的进程调度 Linux的进程根据优先级排队 根据特定的算法计算出进程的优先级,用一个值表示 这个值表示把进程如何适当的分配给CPU Linux中进程的优先级是动态的 调度程序会根据进程的行为周期性的调整进程的优先级 较长时间未分配到CPU的进程,通常↑ 已经在CPU上运行了较长时间的进程,通常↓ 采用常规分时时,时间片的选择 时间片的长短对系统性能非常关键,它既不能太长也不能太短 太短: 频繁的切换会造成系统开销过大 太长 几乎每个进程都一次运行完 并发的概念基本消失 普通进程需要等待很长时间才能运行 时间片大小的选择总是一种折衷。Linux采取单凭经验的方法,即选择尽可能长的时间片,同时能保持良好的响应时间 优先级 进程优先级,priority的值给出进程每次获取CPU后,可使用的时间。优先级可通过系统调用 sys_setpriority() 改变(kernel/sys.c) Typical priority values for a conventional process Description Static priority Nice value quantum delta Sleep time Highest static priority 100 -20 800 ms -3 299 ms High static priority 110 -10 600 ms -1 499 ms Default static priority 120 0 100 ms +2 799 ms Low static priority 130 +10 50 ms +4 999 ms Lowest static priority 139 +19 5 ms +6 1199 ms dynamic priority = max (100, min ( static priority - bonus + 5, 139))其中0bonus10 调度算法 Linux 2.4的调度算法 需要遍历可运行队列,算法O(n) Epoch,基本时间片,动态优先级 Linux 2.6.17的调度算法(2.6.23之前) 采用双队列(Active;expire ),按照优先级组队,O(1) Linux 2.6.26的调度算法 非实时:CFS,vruntime,红黑树 实时:优先级队列 Linux进程可以指定该进程所采用的调度策略 调度算法根据进程的调度策略,采用不同的调度算法 调度策略:Policy,调度类型 实时进程 FIFO—First In First Out 先进先出法 RR—Round Robin 轮转法 include/linux/sched.h 在task_struct中,使用数据项policy来表达该进程采用的调度策略 调度策略 调度时机 用户进程自愿放弃CPU,如执行sleep()系统调用; 系统调用中,需要等待时,直接调用schedule()进行调度; 系统调用、中断或异常处理完成后,返回到用户空间前,若当前进程的PCB中的need_resched = 1,则发生调度。 2.2.4 进程控制 进程创建 进程执行 进程终止 进程的创建 许多进程可以并发的运行同一程序,这些进程共享内存中程序正文的单一副本,但每个进程有自己的单独的数据和堆栈区 一个进程可以在任何时刻可以执行新的程序,并且在它的生命周期中可以运行几个程序 又如,只要用户输入一条命令,shell进程就创建一个新进程 传统的UNIX操作系统采用统一的方式来创建进程 子进程复制父进程所拥有的资源 缺点: 创建过程慢、效率低 事实上,子进程复制的很多资源是不会使用到的 现代UNIX内核通过引入三种不同的机制来解决这个问题 1、写时复制技术,Copy-On-W
您可能关注的文档
最近下载
- QB∕T 5775-2022 离子交换树脂再生剂 氯化钠.pdf
- 24秋初中地理七年级上册(配湘教版)第二节 气温和降水 第1课时.pptx VIP
- 生命体征测量ppt(共69张PPT).ppt VIP
- 八年级地理第二章中国的自然环境第二节-气候第一课时..ppt
- 欧姆龙PLC-CP1E的中文手册.pdf VIP
- (正式版)D-L∕T 1870-2018 电力系统网源协调技术规范.docx VIP
- 八年级地理第二章中国的自然环境第二节_气候第一课时.ppt VIP
- 八年级语文上册第—次月考卷 1、3单元(江西专用)(原卷+解释)2025-2026学年 统编版.docx VIP
- 人教版八年级地理_第二章中国的自然环境第二节气候.ppt VIP
- 八年级上册地理第二章第二节中国的气候.pptx VIP
文档评论(0)