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

做网站沈阳九江网站网站建设

做网站沈阳,九江网站网站建设,建盏公司官方网站,成都seo优化公司排名0 前言 本文基于书籍《Operating System#xff1a;Three Easy Pieces》。 中译本#xff1a;《操作系统导论》#xff0c;中译本质量还可以#xff0c;但是英文版后来的更新#xff0c;中文版目前没有进行同步更新#xff08;写下此文的时间是2020年10月#xff09; 1…0 前言 本文基于书籍《Operating SystemThree Easy Pieces》。 中译本《操作系统导论》中译本质量还可以但是英文版后来的更新中文版目前没有进行同步更新写下此文的时间是2020年10月 1 前提铺垫 1.1 进程的设定 我们知道进行进程调度的前提是 硬件和OS的底层能够支持上下文切换这里我们假设已经实现内存中要有就绪态的进程 我们基于第二点再做进一步的假设以简化问题对于已经进入或者即将进入内存的进程我们它们假设 工作时间相同进程同时到达系统一旦开始进程保持运行一直到其完成只使用CPU不使用IO运行时间都是已知的 我先来解释一下这几点假设 第2点意味着有好多个等着被调度进入CPU执行的进程坐等操作系统“翻牌子”第3点意味着进程将会顺序执行而不是我们所知道的快速切换式执行先不要产生反对这将简化一些原理和概念第4点意味着进程的指令没有IO相关的指令只有使用CPU的指令。第1、5点显然这是荒谬的假设进程运行完成前不可能预测未来知道它的运行时间但是这有助于理解概念我们先认可这样的假设 1.2 调度指标周转时间 周转时间 任务完成时间 - 任务到达时间 也就是任务到达系统的时间与任务被执行完的时间之差。这是个性能指标它反应了任务等待 执行的时间。 这里任务到达系统是什么意思进入就绪态吗? 暂时是不清楚待解决。 周转时间为T1 - T0 2 FIFO原理 FIFOFirst In First Out先进先出也可以是FCFSFirst Come First Serve 先来先服务 2.1 算法 我们假设有3个进程A、B和C首先强调进程只能顺序执行让我们充分体会一下先进先出算法的原理。 放宽任务同时到达的条件假设A比B先到一点点B比C先到一点点这样根据FIFO的原理执行顺序应该是 A先执行A执行完B再执行B执行完C再执行 该算法的特点是先到达的任务先执行就像食堂排队一样先来的人应该先买饭这看起来很公平不是吗 我们具体一点举个例子根据前面的假设我们假定 A、B和C的运行时间已知且差不多假设三个任务的执行时间都是10s 因为3个进程几乎同时到达我们假定到达时间 0这样一来三个进程的周转时间为 A10sB20sC30s 平均周转时间10 20 30/3 10s 2.2 缺点护航效应 我们现在将每个任务运行时间差不多的假设放宽假设 A100sB1sC1s 这样一来每个进程的周转时间 A100sB101sC102s 平均周转时间100 101 102/3 101s哦这看起来很糟糕。 B和C使用的资源很少但是却排在重量级的A后面这就是护航效应看来FIFO的算法也并不是看起来那么公平。 这就像你在超市排队结账你只买了包薯片而你前面的人买了个购物车的商品……我们需要更优化的算法之后会提及。 接下来我们使用模拟程序来体验一下FIFO算法。 3 FIFO 实践 我们使用一开始提及的书中的模拟软件来体验一下FIFO算法。 模拟程序链接注意需要使用Linux / UNIX系统。 我们输入 ./scheduler.py -p FIFO -j 5 -s 100 -m 30 -c然后我们看见显示你的和我的结果不一样因为这是随机种子数值是随机给出详情需要参考README.md文档 ARG policy FIFO ARG jobs 5 ARG maxlen 30 ARG seed 100Here is the job list, with the run time of each job: Job 0 ( length 5 )Job 1 ( length 14 )Job 2 ( length 24 )Job 3 ( length 22 )Job 4 ( length 22 )我们看到我们使用FIFO算法生成了5个job每个job都有对应的运行时间并且有编号这里编号其实就代表顺序了因为是FIFO算法。 我们很容易得到一些性能指标是的这非常简单自己算一算然后参考一下答案在刚才的命令后面加上-c就可以。 ** Solutions **Execution trace:[ time 0 ] Run job 0 for 5.00 secs ( DONE at 5.00 )[ time 5 ] Run job 1 for 14.00 secs ( DONE at 19.00 )[ time 19 ] Run job 2 for 24.00 secs ( DONE at 43.00 )[ time 43 ] Run job 3 for 22.00 secs ( DONE at 65.00 )[ time 65 ] Run job 4 for 22.00 secs ( DONE at 87.00 )Final statistics:Job 0 -- Response: 0.00 Turnaround 5.00 Wait 0.00Job 1 -- Response: 5.00 Turnaround 19.00 Wait 5.00Job 2 -- Response: 19.00 Turnaround 43.00 Wait 19.00Job 3 -- Response: 43.00 Turnaround 65.00 Wait 43.00Job 4 -- Response: 65.00 Turnaround 87.00 Wait 65.00Average -- Response: 26.40 Turnaround 43.80 Wait 26.40 这里的参考指标有3个分别是 周转时间任务完成时间 - 任务到达时间响应时间任务第一次被执行时间 - 任务到达时间等待时间任务到达后完成前没有运行的时间之和 下面我们来体会一下11100和10011的差别这里不再给出过程直接给答案。 10011 Average -- Response: 67.00 Turnaround 101.00 Wait 67.0011100 Average -- Response: 1.00 Turnaround 35.00 Wait 1.00你可以充分体会到FIFO真的是个有点糟糕的算法……看来先来先服务的方式也不太公平呀再想一下如果排在你前面办理银行业务的人办理时间非常长你是不是抓狂了 4 重要思想 先进先出先来先服务的队列思想这点算法与数据结构的队列有异曲同工之妙底层机制 上层策略思想底层机制允许进行上下文切换进程切换上层策略采用了FIFO算法从而实现了简单的进程调度。 先进先出的算法非常容易理解也非常简单先来的任务就先执行后来的任务需要等着之前的任务执行完再执行依次类推这与你在食堂排队打饭没什么区别。 5 预告进程调度2aSJF短任务优先 算法 原理与实践 既然FIFO会造成护航效应的问题我们就改善一下让短的任务先来执行不就好了~~请看下一篇文章进程调度2aSJF短任务优先 算法 原理与实践 6 模拟软件资源链接 模拟软件Linux下使用的python文件需要阅读README.md知道软件如何使用读者可以自行完成模拟后续的进程调度章节都用的此软件。
http://wiki.neutronadmin.com/news/416209/

相关文章:

  • 展示型网站建设方案书赣州章贡区二手房出售信息
  • 北京网站制作与建设公司wordpress首页文章数量
  • 伍佰亿搜索引擎网站系统免费自助建站服务
  • 怎么做网站登陆战怎么做静态网页
  • 千万不能 网站php做网站有哪些好处
  • 网站如何盈利流量费网站开发人员上级主管
  • 做毕业设计网站的问题与展望如何上传ftp网站程序
  • 网页设计资料的网站网站开发技术方案doc
  • 东莞公司建站哪个更便宜科技型中小企业怎么认定
  • 建网站的策划方案网站开发 技术优势
  • 问什么出现 这个网站正在建设中wordpress调用当前页文章
  • 有专做高端折扣女装的网站吗网页设计难学吗
  • 域名和网站名要一样吗公司装修费分几年摊销
  • 网站建设所出现的问题直通车推广怎么收费
  • 坂田网站的建设国产在线做a视频网站
  • 网站制作费用明细网站怎样制作流程
  • cms网站开发毕设轻量级数据库wordpress
  • 济南高端网站建设公司花式表白网址
  • 网站侧边栏菜单广州网站建
  • 卫浴洁具网站模板php网页制作源代码
  • 网级移动营销app下载wordpress改造seo
  • 陆家网站建设建设公司网站模板
  • 腾讯企业邮箱电脑版优化设计四年级语文下册答案
  • 校园网站建设计划专业团队口号
  • 网站开发合同 下载易企网站建设公司
  • asp.net网站开发实战广州网站建设圣矢
  • 网站备案主体 被拉黑姜堰区网站建设
  • 网站建设公司 未来网站建设技术教程
  • 香河做网站shijuewang技术支持 佛山网站建设
  • 个人网站如何提高访问量婚纱网站手机网站