当前位置: 首页 > news >正文

利用织梦搭网站免费的免抠图素材网站

利用织梦搭网站,免费的免抠图素材网站,网页版梦幻西游大闹天宫困难,wordpress 营销 主题写在前面 网上关于CFS 调度器的文章多如牛毛,没必要自己写。很多文章写的都非常好。 很多文章里,关键的技术点,都是一样的,只是各个文章说法不一样。 掌握了核心的,关键的,其他的,如果工作中…

写在前面

网上关于CFS 调度器的文章多如牛毛,没必要自己写。很多文章写的都非常好。

很多文章里,关键的技术点,都是一样的,只是各个文章说法不一样。

掌握了核心的,关键的,其他的,如果工作中需要的,可以详细了解。

这篇文章只是讲解一些 CFS的基础概念。“术” 的内容可以参考其他大佬的文章。

CFS 的基础概念其实就四个:

  • 调度类
  • 权重
  • 虚拟运行时间
  • 红黑树

关于红黑树的内容可以参考之前的《【linux温故】红黑树》文章。这里就不说了。

简介

Linux 在 2.6.24 之后,使用了新的调度程序 CFS。CFS即Completely Fair Scheduler,顾名思义,完全公平调度器。
在这里插入图片描述
很容易理解。

所有非实时可运行进程都以 虚拟运行时间 为键值用一棵红黑树进行维护,以完成更公平高效地调度所有任务。CFS 弃用 active/expired 数组和动态计算优先级,不再跟踪任务的睡眠时间和区别是否交互任务,而是在调度中采用基于时间计算键值的红黑树来选取下一个任务,根据所有任务占用 CPU 时间的状态来确定调度任务优先级。

关于调度

首先要明白,CFS 调度,只是调度的一种。 CFS 调度针对的只是 普通进程。普通进程也有优先级啊,对,CFS 里面也有 权重(weight),权重越大的,当然得到的CPU 时间更多了,但是,这样不是和你说的 “完全” 公平概念不是不一样了吗?这玩意儿,妙就秒在这里,后面说。

首先,一个重要的基础概念是:“调度类”,这块摘抄一下吧:
在这里插入图片描述
也就是说,系统里面有很多调度类,有的调度类是给 实时进程用来做调度的,有的是给 普通进程做调度的。

每个进程在创建的时候,就会给他指定一种调度类,每一种调度类的优先级不一样,高优先级的调度类里面的进程,优先执行。

在这里插入图片描述
在这里插入图片描述

上面截图中解释了各个调度器。以及 linux 在选择下一个 task 的时候,是如何遍历调度器获取到的。

所以,最重要的一点是,,CFS 只是系统中的一种调度类而已,用来调度 普通进程的。

CFS 权重

这是第二个重点的概念——权重。

这其实也是一个辅助概念,也是为最后 虚拟运行时间(virtual runtime)准备的。
在这里插入图片描述
简单说,就是一个进程在创建的时候,会有个 nice 值,表示这个进程的“谦让”程度 (-20 ~ 19),越大,表示越谦让。进程的权重,其实就是以 nice 为下标的数组中的对应项。

虚拟运行时间 (virtual runtime)

最后,这个 虚拟运行时间 才是我们最重要的概念。CFS 就是根据这个来选取下一个 task 的,每次从 红黑树 里面取 virtual runtime 最小的那一个对应的 task。(也就是红黑树的最左边的左节点的元素)。还是看下摘录的内容吧:
在这里插入图片描述

这里写的有点绕,其实 虚拟运行时间 的概念,很简单。

CFS 只是尽量保证每个进程的 虚拟运行时间 是相同的。之所以说是 “虚拟” ,是因为这个不是实际的运行时间。举个例子:
比如A进程从创建到目前,一共运行了 3600ms,如果A进程的nice 值是 0, 对应的 weight 就是 1024,那它的虚拟运行时间:3600* 1024/1024 = 3600ms ,就是实际运行的时间。但是如果B进程来了,他的运行时间也是 3600ms, 但是他的nice 值是 -10,weight = 9548,那它的虚拟运行时间是:3600 * 1024 / 9548 = 386ms!

也就是说,从 CFS 调度器看来,B 这个进程目前只运行了 386ms,然后他说,我应该给运行时间少的B多分配些时间运行!A就说了,你放屁,他和我一样运行了 3600ms 呢,你不是说公平吗?为啥偏爱他?CFS 说,你说的 3600ms 是 实际运行时间 我不看这个的,我所谓的公平,是指我保证所有的进程的 虚拟运行时间 是一样的。A:…(一万个草泥马浮现在脑海中)…

A 的nice 值(谦让值)太高导致的,这才是原罪。

从 CFS 的角度看,每个人的时钟速度是不一样的,有个进程的 时钟走的块,有的时钟走的慢。走的块的就是那种低优先级的,走的块的,就是那种高优先级的进程。

CFS,“完全公平”调度,这句话本身就是有歧义的,它实际上,非常不公平。本质上,谁的优先级高,它就还是偏爱谁。

CFS 之所以这么做,其实是有他的考虑的:就是能高优服务于交互式进程。提升用户交互的体验。
在这里插入图片描述
在这里插入图片描述
这么一想来,CFS 确实挺妙的。

源码分析

这里就不分析了,可以参考下这篇:
https://www.cnblogs.com/TreeDream/p/8085133.html

参考

上面的内容,基本都是参考别人的文章:
http://www.wowotech.net/process_management/447.html
https://zhuanlan.zhihu.com/p/372441187
https://blog.csdn.net/gatieme/article/details/52067748

http://www.yayakq.cn/news/890112/

相关文章:

  • 永久免费浏览网页软件网站seo 优化
  • 电子商务网站建设过程报告域名邮箱企业邮箱
  • 把两个网站合并到一个网页百度投放
  • 用focusky做h5微网站android聊天功能开发
  • 建设网站深圳市大宗交易网登录
  • 资讯类网站怎么做线下推广公司
  • 网站开发工作周记网站生成wap
  • 手机网站设计模板成都网址建设
  • 人力资源公司怎么找客户seo专员是什么职业岗位
  • 网站搭建南京网站建设 标书
  • 网站建设科目2015年做网站行不行
  • .net网站开发程序员自助建站自媒体
  • 网站建设的分析wordpress替换图片
  • 重庆网站建设子沃科技给个免费网站好人有好报
  • 艺术公司网站定制中心做头像的网站有哪些
  • 做网站合同seo查询工具网站
  • 江宁招网站建设58永泰县住房和城乡建设局网站
  • wordpress优秀移动站点东莞网上推广怎么做
  • 徐州网站关键词推广备案号
  • 电子商务建立网站前期准备海南网站建设fwlit
  • 网站备案号怎么查询美食网站建设需求
  • 班级网站建设开题报告新冠止咳药物有哪几种
  • 贵阳做网站哪家好域名注册技巧
  • 广东快速做网站公司哪家好辽宁省品牌建设的建议
  • 南通建网站wordpress手机版跳转到页面
  • 河南信合建设投资集团有限公司网站辽宁省建设厅证书查询网站
  • 做网站报价单南通网站制作公司
  • 技术支持东莞网站建设网站开发工程师职业定位
  • 素材网站 模板岳阳网站设计u
  • 网站建设维护实训总结北京建设工程交易网站官网