小知识:详解Linux进程调度策略

本文通过linux进程调度的5类方式详细分析了策略以及实现过程中的详细讲解。

1、linux 下进程分为5种类别,分别是停止类、截止类、实时类、公平类、空闲类,

每种类别都有一个运行队列,每次调度时,就是先按照类别优先级排序,再按照每个类别内的最高优先级任务调度运行。

  %小知识:详解Linux进程调度策略-猿站网-插图

文件:core.c (linux-4.6\kernel\sched)

    %小知识:详解Linux进程调度策略-1猿站网-插图

解读:先看下面的for循环,可以看到实现思路是,遍历每种类别,选择下一个可运行的任务。由于大部分任务都属于公平队列,所以,绝大部分情况下,都在公平队列中进行选择,所以,内核开发者在上面的代码中加了likely()提高性能。

%小知识:详解Linux进程调度策略-2猿站网-插图

%小知识:详解Linux进程调度策略-3猿站网-插图%小知识:详解Linux进程调度策略-4猿站网-插图

%小知识:详解Linux进程调度策略-5猿站网-插图

%小知识:详解Linux进程调度策略-6猿站网-插图

%小知识:详解Linux进程调度策略-7猿站网-插图

2、调度程序schedule()的调用次序。

schedule() — > __schedule () — > pick_next_task() 

文件:core.c (linux-4.6\kernel\sched) 

%小知识:详解Linux进程调度策略-8猿站网-插图

   %小知识:详解Linux进程调度策略-9猿站网-插图

  。。。。。。(中间有省略)

%小知识:详解Linux进程调度策略-10猿站网-插图

原文链接:https://www.cnblogs.com/zhouhaibing/p/7901296.html

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Linux磁盘格式化命令详解

2023-3-30 5:41:34

建站知识

小知识:学习Vim合并行的方法和技巧

2023-3-30 5:58:34

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索