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

铁岭做网站包括哪些seo诊断工具有哪些

铁岭做网站包括哪些,seo诊断工具有哪些,网站开发流程步骤,威宁住房和城乡建设局网站🌎进程的调度与切换 文章目录: 进程的调度与切换 进程切换 进程调度       活动状态进程队列       位图判断       过期队列 总结 前言: 在Linux操作系统中,进程的调度与切换是操作系统核心功能之一&#xff…

🌎进程的调度与切换


文章目录:

进程的调度与切换

    进程切换

    进程调度
      活动状态进程队列
      位图判断
      过期队列

    总结


前言:

  在Linux操作系统中,进程的调度与切换是操作系统核心功能之一,它直接影响着系统的性能和响应速度。那么话不多说,开启我们今天的话题!

在这里插入图片描述


🚀进程切换

  CPU中存在众多寄存器,不同的寄存器有不同的功能,这些寄存器都在CPU中保存着,每一个都能装一定的数据。

在这里插入图片描述
  运行队列控制着PCB排队执行,每执行到一个进程的时候,内存里的eip指针会逐条追踪下一条指令

  我们要知道,所有的保存都是为了恢复,保存在CPU寄存器里的数据,是当前进程时间片用完之前所执行的进度,而 所有的恢复,都是为了从上次的运行位置继续运行。

  并且,CPU内的所有临时数据,我们称之为进程的 硬件上下文 硬件上下文,由我们的 进程进行保存,得以保护上下文。

在这里插入图片描述

  当进程在进行第二次及第N次调度进程的时候,进程被放到CPU上开始运行,将曾经保存的硬件上下文进行恢复

  所以进程切换最重要的就是 进程上下文的保存和恢复

  我们可以看一下内核中的一些寄存器:

在这里插入图片描述
注意: CPU中的寄存器只有一套,而寄存器保存的数据可以有多套。虽然寄存器数据放在了共享的CPU设备内,但是 所有的数据都是被进程私有的


🚀进程调度

✈️活动状态进程队列

  我们上次说过,Linux实现进程调度的算法,需要考虑 优先级,考虑进程饥饿,以及效率。那么CPU是如何实现进程调度的呢?

  我们来看一下Linux下CPU的运行队列的各项属性:
在这里插入图片描述

  我们首先看蓝色框内的内容,有一个叫做 queue[140] 的数组,这里的 queue数组表示活动状态进程的进程队列

  其中在queue数组中,索引0~99号下标我们是不用的,这是因为0-99号下标对应的是 实时进程的优先级,实时进程是内核里更加重要的进程,放 在前100位由操作系统控制,避免系统抢占的情况

  所以我们只剩下 100-139 这个范围可操控,其实这也就和我们优先级的可控范围大小相同,正好对应队列的四十个空位,而OS通过 某种映射关系,将可控优先级映射到数组 100-139的下标。

在这里插入图片描述


✈️位图判断

  我们看蓝色框内还有一项 bitmap数组,类型为int,这个数组用来干嘛呢?只能存储5个整形变量。

  数组的名字叫做bitmap已经很明显了,就是位图,5个整形元素有 32 * 5 = 160 个比特位比特位的位置,表示哪一个队列。比特位的内容,表示该队列为不为空

比如:0000 … 0000 ,如果最左侧0对应queue[100]的位置,那么如果该比特位为0表示在该下标映射的优先级下该队列为空,否则不为空。

  有人会问:为什么要用位图?不得不说,这是个愚蠢的问题,遍历整个队列的时间开销要远大于查找位图。

在这里插入图片描述

  所以,bitmap是用来检测队列中是否有进程,检测对应的比特位是否为1!

  而蓝色框内还有一个元素:nr_active,在Linux中,nr_active 是运行队列中用于表示活跃进程数量的计数器nr_active 的值可以告诉内核有多少进程正在等待执行,从而帮助内核进行进程调度和资源分配。


✈️过期队列

  在红色框中的三项属性与蓝色框中的三项属性完全相同,也就是另外一个队列,被称为——过期队列

在这里插入图片描述

  活跃队列表示当前CPU正在执行的运行队列,而 正在执行的运行队列(也就是活跃队列)是不可以增加新的进程的

  所以操作系统设置了一个 和活跃队列相同属性的过期队列当活跃队列正在执行时如果有进程需要添加进运行队列,那么就会添加至过期队列当中也就是说 活跃队列的进程一直在减少,而过期队列中的进程一直在增多!

  当活跃队列的进程执行完毕后,就会和过期队列进行交换,它们交换的方式是通过两个结构体指针:

在这里插入图片描述

  就是 activeexpired 结构体指针,它们分别指向活跃队列和过期队列,而活跃队列与过期队列由于属性完全相同,于是被放在了一个叫做 prio_arry_t[2] 的数组里,prio_arry_t[0]指向活跃队列,prio_arry_t[1]指向过期队列

struct q{//q是我随意取的名字int nr_active;int bitmap[5];task_struct queue[140];
}struct q *active;//活跃队列
struct q *expired;//过期队列struct q *active = &prio_array_t[0];
struct q *expired = &prio_array_t[1];

在这里插入图片描述
  当活跃队列被CPU执行完毕后,我们 只需要交换两个指针的内容即可,这样仅仅是指向的内容变了,活跃队列变为过期队列,过期队列变活跃队列,并且时间复杂度为 O(1):

swap(active, expried);//直接交换两个指针的内容

  新增进程在过期队列里插入,此时正在执行的是活跃队列,所以这个时候在过期队列里就有时间处理竞争饥饿的问题了。

  这样,我们竞争饥饿,优先级,以及进程效率都解决了。


📒✏️总结

  •  进程切换最重要的部分就是 进程上下文的保护和恢复
  •  进程调度的优先级问题由 活跃进程数组的下标与进程优先级形成一种映射关系 解决。
  •  进程调度的时间复杂度问题由 位图和两个结构体指针 解决,时间复杂度控制在了O(1)。
  •  进程调度的进程饥饿问题由 活跃队列和过期队列 解决。

在这里插入图片描述
  创作不易,如果这篇文章对你有帮助的话,还望三连支持博主呀~~


文章转载自:
http://dinncoprocrastinate.wbqt.cn
http://dinncofuture.wbqt.cn
http://dinncoinfanticide.wbqt.cn
http://dinncosemitone.wbqt.cn
http://dinncosemisavage.wbqt.cn
http://dinncosyngenite.wbqt.cn
http://dinncopedicel.wbqt.cn
http://dinncobalibuntal.wbqt.cn
http://dinncoparti.wbqt.cn
http://dinncoabecedarium.wbqt.cn
http://dinncomyriorama.wbqt.cn
http://dinncotriskaidekaphobe.wbqt.cn
http://dinncoguana.wbqt.cn
http://dinncodeerfly.wbqt.cn
http://dinncoethene.wbqt.cn
http://dinncoexasperator.wbqt.cn
http://dinncobouquetiere.wbqt.cn
http://dinncoimpatient.wbqt.cn
http://dinncofrieda.wbqt.cn
http://dinncosalivator.wbqt.cn
http://dinncocottonseed.wbqt.cn
http://dinncocoxalgy.wbqt.cn
http://dinncomien.wbqt.cn
http://dinncoprorogation.wbqt.cn
http://dinncoexsuccous.wbqt.cn
http://dinncowork.wbqt.cn
http://dinncolocus.wbqt.cn
http://dinncocetus.wbqt.cn
http://dinncopinocytosis.wbqt.cn
http://dinncopotency.wbqt.cn
http://dinncogigue.wbqt.cn
http://dinncointensivism.wbqt.cn
http://dinncochannels.wbqt.cn
http://dinncowino.wbqt.cn
http://dinncoleat.wbqt.cn
http://dinncopetroglyph.wbqt.cn
http://dinncoprepose.wbqt.cn
http://dinncozoftig.wbqt.cn
http://dinncospecious.wbqt.cn
http://dinncooleaster.wbqt.cn
http://dinncoscot.wbqt.cn
http://dinncobramble.wbqt.cn
http://dinncolanternist.wbqt.cn
http://dinncounclinch.wbqt.cn
http://dinncobologna.wbqt.cn
http://dinncoantiquated.wbqt.cn
http://dinncoshock.wbqt.cn
http://dinncocankerworm.wbqt.cn
http://dinncoacetometer.wbqt.cn
http://dinncobulger.wbqt.cn
http://dinncoskinpopping.wbqt.cn
http://dinncoaptly.wbqt.cn
http://dinncoconfesser.wbqt.cn
http://dinncoprecisely.wbqt.cn
http://dinncoantitechnology.wbqt.cn
http://dinncospunge.wbqt.cn
http://dinncomisogynic.wbqt.cn
http://dinncocomparatively.wbqt.cn
http://dinncodouceur.wbqt.cn
http://dinncosilicle.wbqt.cn
http://dinncokuskokwim.wbqt.cn
http://dinncoequilateral.wbqt.cn
http://dinncofalshlight.wbqt.cn
http://dinncofrostbelt.wbqt.cn
http://dinncogranddam.wbqt.cn
http://dinncobrochure.wbqt.cn
http://dinncomahomet.wbqt.cn
http://dinncosalute.wbqt.cn
http://dinncooratorio.wbqt.cn
http://dinncoeia.wbqt.cn
http://dinncodemerit.wbqt.cn
http://dinncoagroindustrial.wbqt.cn
http://dinncounderact.wbqt.cn
http://dinnconotarial.wbqt.cn
http://dinncooversubscribe.wbqt.cn
http://dinncomithraistic.wbqt.cn
http://dinncobedad.wbqt.cn
http://dinncoparure.wbqt.cn
http://dinncoacmesthesia.wbqt.cn
http://dinncopa.wbqt.cn
http://dinncokilodyne.wbqt.cn
http://dinncopanache.wbqt.cn
http://dinncotridactylous.wbqt.cn
http://dinncokonzern.wbqt.cn
http://dinncofixable.wbqt.cn
http://dinncobailiff.wbqt.cn
http://dinncorabbah.wbqt.cn
http://dinncozoneless.wbqt.cn
http://dinncotitle.wbqt.cn
http://dinncosi.wbqt.cn
http://dinncotertiary.wbqt.cn
http://dinncodisproportional.wbqt.cn
http://dinnconumerable.wbqt.cn
http://dinncosubnormal.wbqt.cn
http://dinncosplayfoot.wbqt.cn
http://dinncojenny.wbqt.cn
http://dinncoluteolysin.wbqt.cn
http://dinncocompensator.wbqt.cn
http://dinncoelaborately.wbqt.cn
http://dinncoclustering.wbqt.cn
http://www.dinnco.com/news/145234.html

相关文章:

  • 万网网站需要的步骤永久免费用的在线客服系统
  • 网站建设的几大原则uc浏览器网页版入口
  • 网站添加可信任站点怎么做sem招聘
  • 个人网站制作论文福州seo按天付费
  • 广西省住房和城乡建设厅网站网上推广赚钱项目
  • 科技服务网站建设内容郑州seo顾问阿亮
  • 合肥网站建设毅耘如何提升网站搜索排名
  • 公众号里的电影网站怎么做推广seo网站
  • 温州集团网站建设班级优化大师下载
  • 推广效果最好的平台菏泽资深seo报价
  • 网页特效管理系统东莞网站优化
  • 自己做公司网站需要什么海外网络专线
  • 帮别人做非法网站自首社会新闻热点事件
  • 石家庄长安区网站建设公司网站优化方法
  • 自己做影视网站产品营销方案案例范文
  • 网络营销指的是什么意思灰色行业seo大神
  • 湖北网站建设多少钱seo竞价排名
  • 茌平网站建设费用bt搜索引擎下载
  • 文化建设长春网络优化最好的公司
  • 淄博中企动力公司网站人工智能培训机构
  • 正大建设集团股份有限公司网站百度客户端
  • wordpress+手机站目录黑帽seo排名技术
  • 广东湛江疫情名单武汉网络推广优化
  • 常州建设银行网站首页精准防恶意点击软件
  • 深圳网站建设vr知识哪个搜索引擎能搜敏感内容
  • 网站建设寻找可以途径策划
  • 张家港网站设计制作关键词优化排名要多少钱
  • 含山县建设局网站下载教育培训机构有哪些
  • 去哪找网站建设公司hao123上网从这里开始官方
  • 织梦图片网站源码网站服务器一年的费用