- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
实验六时间片轮转调度
一、实验目的
·调试EOS的线程调度程序,熟悉基于优先级的抢先式调度。
·为EOS添加时间片轮转调度,了解其它常用的调度算法。
二、实验内容
1、执行了实验指导书3.2的步骤,学习了“rr”命令是如何测试时间片轮转调
度的。算法实现原理是,按进程到达顺序(FCFS原则)将进程依次加入就绪队
列当中,然后将CPU分配给位于队首的进程,确定一个时间片,让该进程执行
一个时间片。当该进程执行时间到时,该进程可能已经执行完毕(可能在时间片
未到时就以及执行完毕),或者未执行完毕,如果是前者只需将进程弹出队列即
可,如果是后者则将该进程加入队尾,并将CPU分配给新的队首进程,如此循
环。在没有时间片轮转调度时的执行结果如下图所示。
2、执行了实验指导书3.3的步骤,对EOS的线程调度程序PspSelectNextThread
函数进行调试,学习了就绪队列、就绪位图以及线程的优先级是如何在线程调度
程序中协同工作的。
调试当前线程不被抢先的情况:基于优先级的抢先式调度算法,新建的第0
个线程会一直运行,而不会被其它同优先级的新建线程或者低优先级的线程抢先。
通过调试可以观察到“rr”命令新建的第0个线程始终处于运行状态,而不会
被其它具有相同优先级的线程抢先。对在EOS内核中实现这种调度算法进行调
试,刷新“就绪线程队列”窗口,观察到如下图结果。在“监视”窗口中添加表
达式“/tPspReadyBitmap”,以二进制格式查看就绪位图变量的值,此时就绪位
图的值为100000001,表示优先级为8和0的两个就绪队列中存在就绪线程。
在“快速监视”对话框的“表达式”中输入表达式“*PspCurrentThread”,查看
当前正在运行的线程(即被中断的线程)的线程控制块中各个域的值。
通过以上调试线程调度函数PspSelectNextThread的执行过程,“rr”命令新
建的第0个线程在执行线程调度时没有被抢先的原因可以归纳为两点:
(1)第0个线程仍然处于“运行”状态;
(2)没有比其优先级更高的处于就绪状态的线程。
调试当前线程被抢先的情况:如果有比第0个新建的线程优先级更高的线程
进入就绪状态,则第0个新建的线程就会被抢先,例如在第0个线程运行的过程
中,按下空格键,就会让之前处于阻塞状态的控制台派遣线程进入就绪状态,而
控制台派遣线程的优先级为24,高于优先级为8的第0个新建的线程,线程调
度函数就会让控制台派遣线程抢占处理器。
通过调试,刷新“就绪线程队列”窗口,观察到下图内容,可以看到,在
32位就绪位图中第24位用绿色高亮显示且值为1,说明优先级为24的就绪队
列中存在就绪线程。在“32个链表头组成的就绪队列”中可以查看优先级为24的
就绪队列中挂接了一个处于就绪状态的线程,进一步可确认其为控制台派遣线程。
由于线程调度函数PspSelectNextThread在前面扫描就绪位图时已经发现
了存在优先级为24的就绪线程,其优先级高于正在运行的第0个新建的线程,
所以在刚刚执行的语句中将当前正在运行的第0个新建的线程放入优先级为8
的就绪队列的队首,并将其状态设置为就绪状态。此时刷新“就绪线程队列”窗
口,可以看到新建的第0个线程已经挂接在了优先级为8的就绪队列的队首,
优先级为8的就绪队列中一共挂接了10个线程。
继续进行调试,直到在PspSelectNextThread函数返回前中断执行,此时,
优先级为24的控制台派遣线程已经进入了运行状态,在中断返回后,就可以开
始执行了。刷新“就绪线程队列”窗口,可以看到线程调度函数已经将控制台派
遣线程移出了就绪队列。
通过以上的调试过程,我观察到了基于优先级的抢先式调度算法中高优先级
线程抢占处理器的完成过程和源代码实现。
在每个线程拥有优先级和时间配额后,通常线程先在许多等待函数的调用中
进入等待状态,进入等待状态线程的时间配额不会被重置,而是在等待事件出现
时,线程的时间配额被减1相当于1/3个时钟间隔;如果线程的优先级大于等于
14在等待事件出现时,线程的优先级被重置。可能在这两种情况下出现抢先的
情况:一个是高优先级线程的等待完
您可能关注的文档
- 数据库系统原理实验报告-SQL查询语句.pdf
- 数学(心得)之初中数学复习的方法和策略.pdf
- 教育实习调研报告8篇.pdf
- 教师技能大赛活动方案(多篇).pdf
- 教师交流研讨会发言稿.pdf
- 政法干警招录考试民法学-本科类(物权)章节练习3(题后含答案及解析).pdf
- 改进学生的学习方法(5篇范例).pdf
- 推理的分类_原创文档.pdf
- 招标及服务方案 .pdf
- 招商银行服务规范.pdf
- Unit 11 Shall we go to the theatre?(教学设计)-2024-2025学年湘少版(三起)英语六年级上册.docx
- 第二单元 活动三 制作演示文稿 第一课时 教案-黔科版信息技术四下.docx
- 一年级数学下册人教版第五单元 第3课时 人民币的简单计算与应用教学设计.docx
- 《我是称职小交警》教案.docx
- 第二单元《平移与平行》(教案)-2024-2025学年北师大版数学四年级上册.docx
- Unit 1 You and me Section B(教学教学设计) 2024-2025学年人教版(2024)七年级英语上册.docx
- Unit 1 What is Your Father?(教学设计)-2023-2024学年陕旅版(三起)英语四年级上册.docx
- 清华版(2024)小学信息技术三年级上册《设计精美图片--用图片记录见闻》教学设计.docx
- 《用洗衣机洗衣物》教案 小学劳动 一年级 下册.docx
- 第一节:分离定律教案生物学.docx
文档评论(0)