- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
linux进程机制概要
Linux机制 邢成婧玉 张珍 * 目录 1 linux锁机制 2 Linux锁进程机制 3 Add Your Title WPS演示助您快速创建极具感染力的演示文稿,打造令人震撼的影院效果。 WPS演示助您快速创建极具感染力的演示文稿,打造令人震撼的影院效果。 WPS演示助您快速创建极具感染力的演示文稿,打造令人震撼的影院效果。 1 主动调动 自愿的调度随时都可以进行,内核里可以通过schedule()启动一次调度 被动调动 被动调度发生在系统调用返回的前夕、中断异常处理返回前、用户态处理软中断返回前 2 Linux进程调度 进程类型 进程一般原理 进程优先级 运行时间片 进程抢占 在linux调度算法中,将进程分为两种类型,即:I/O消耗型和CPU消耗型。 例如文本处理程序与正在执行的Make的程序。文本处理程序大部份时间都在等待I/O设备的输入,而make程序大部份时间都在CPU的处理上。因此为了提高响应速度,I/O消耗程序应该有较高的优先级,才能提高它的交互性。相反的,Make程序相比之下就不那么重要了,只要它能处理完就行了。因此,基于这样的原理,linux有一套交互程序的判断机制。 1 进程类型 2:进程优先级 交互性强的需要高优先级,交互性弱的需要低优先级。在linux系统中,有两种优先级:普通优先级和实时优先级。 3:运行时间片 进程的时间片是指进程在抢占前可以持续运行的时间。时间片长短可根据优先级来调整。进程不一定要一次运行完所有的时间片。可以中途被切换出去。 4:进程抢占 当一个进程被设为TASK_RUNING状态时,它会判断它的优先级是否高于正在运行的进程,如果是,则设置调度标志位,调用schedule()执行进程的调度。当一个进程的时间片为0时,也会执行进程抢占。 实时进程 ? SCHED_FIFO:实时进程,实现一种简单的先进先出的调度算法。 SCHED_RR: 实时进程,基于时间片的SCHED_FIFO,实时轮流调度算法。 SCHED_FIFO与SCHED_RR的区别是: 当进程的调度策略为前者时,当前实时进程将一直占用CPU直至自动退出,除非有更紧迫的、优先级更高的实时进程需要运行时,它才会被抢占CPU; 当进程的调度策略为后者时,它与其它优先级相同的实时进程以实时轮流算法去共同使用CPU,用完时间片放到运行队列尾部,注意实时进程并不会放入过期队列中。 1.4. 实时性 ? Linux2.6内核本身就是可抢占的,具有一定的实时性;该补丁把中断(IRQ)和软中断(softIRQ)全部线程化并赋予不同的优先级,实时任务可以有比中断线程更高的优先级;它使用Mutex替代spinlock来使得自旋锁完全可抢占;另外分解了内核中锁的粒度,增加了内核抢占点,进一步降低了延时。由于中断已经线程化了,很多中断关闭就没必要了,因而消除了很多中断关闭区域。 为了能并入主流内核,Ingo Molnar的实时补丁也采用了非常灵活的策略,它支持四种抢占模式: 1.No Forced Preemption (Server),这种模式等同于没有使能抢占选项的标准内核,主要适用于科学计算等服务器环境。 2.Voluntary Kernel Preemption (Desktop),这种模式使能了自愿抢占,但仍然失效抢占内核选项,它通过增加抢占点缩减了抢占延迟,因此适用于一些需要较好的响应性的环境,如桌面环境,当然这种好的响应性是以牺牲一些吞吐率为代价的。 3.Preemptible Kernel (Low-Latency Desktop),这种模式既包含了自愿抢占,又使能了可抢占内核选项,因此有很好的响应延迟,实际上在一定程度上已经达到了软实时性。它主要适用于桌面和一些嵌入式系统,但是吞吐率比模式2更低。 4.Complete Preemption (Real-Time),这种模式使能了所有实时功能,因此完全能够满足软实时需求,它适用于延迟要求为几十微秒或稍低的实时系统。 谢谢观看
文档评论(0)