Ucore-操作系统实验六[归纳].pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
张鹏飞计科 1302 201308010213 调度器 一、 实验目的 理解操作系统的调度管理机制 熟悉 ucore 的系统调度器框架,以及缺省的 Round-Robin 调度算法 基于调度器框架实现一个 (Stride Scheduling)调度算法来替换缺省的调度 算法 二、 实验内容 实验五完成了用户进程的管理,可在用户态运行多个进程。但到目前为止, 采用的调度策略是很简单的 FIFO 调度策略。本次实验,主要是熟悉 ucore 的系 统调度器框架,以及基于此框架的 Round-Robin (RR)调度算法。然后参考 RR 调度算法的实现,完成 Stride Scheduling调度算法。 三、 实验要求 1) 基于 markdown 格式来完成, 以文本方式为主 2) 填写各个基本练习中要求完成的报告内容 3) 完成实验后, 请分析 ucore_lab中提供的参考答案 4) 并请在实验报告中说明你的实现与参考答案的区别 5) 列出你认为本实验中重要的知识点,以及与对应的 OS 原理中的知识 6) 简要说明你对二者的含义,关系差异等方面的理解。 (也可能出现实验中的知识点没有对应的原理知识点) 7) 列出你认为 OS 原理中很重要, 但在实验中没有对应上的知识 四、 实验原理 张鹏飞计科 1302 201308010213 调度本质上体现了对 CPU 资源的抢占。对于用户进程而言,由于有中断 的产生,可以随时打断用户进程的执行, 转到操作系统内部, 从而给了操作系统 以调度控制权,让操作系统可以根据具体情况( 比如用户进程时间片已经用完 了) 选择其他用户进程执行。这体现了用户进程的可抢占性( preemptive)。但 如果把 ucore操作系统也看成是一个特殊的内核进程或多个内核线程的集合,那 ucore是否也是可抢占的呢?其实 ucore 内核执行是不可抢占的 (non-preemptive), 即在执行“任意”内核代码时, CPU 控制权可被强制剥夺 五、 实验流程 1) 在实验五, 创建了用户进程, 并让它们正确运行。 这中间也实现了 FIFO 调度策略。 可通过阅读实验五下的 kern/schedule/sched.c 的 schedule 函 数的实现来了解其 FIFO 调度策略。与实验五相比,实验六专门需要针 对处理器调度框架和各种算法进行设计与实现,为此 ucore 的调度部分 进行了适当的修改,使得 kern/schedule/sched.c 只实现调度器框架 . 2) 调度算法在单独的文件( default_sched.[ch])中实现。除此之外,实验中 还涉及了 idle 进程的概念。当 cpu 没有进程可以执行的时候,系统应该 如何工作?在实验五的 scheduler实现中, ucore 内核不断的遍历进程池, 直到找到第一个 runnable状态的 process,调用并执行它。 3) 也就是说,当系统没有进程可以执行的时候, 它会把所有

文档评论(0)

肖四妹学教育 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档