- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.+1 Windows 2000/XP的线程调度 线程调度特征: 基于优先级的抢先式多处理器调度系统。总是运行优先级最高的就绪线程。 线程调度的触发事件 一个线程进入就绪状态。 一个线程由于时间配额用完而从运行状态转入退出状态或等待状态。 一个线程由于调用系统服务而改变优先级或被Windows 2000/XP系统本身改变其优先级。 一个正在运行的线程改变了它的亲合处理器集合。 3.+2 调度策略 主动切换 (等待事件) 抢先 时间配额用完 结束 3. +3 Windows 2000中的时间片大小 Windows 2000时间片由内部数据库—注册表的一个记录项来控制。 短时间片和长时间片的选择 1、短时间片:2个时钟滴答 2、长时间片:12个时钟滴答 前后台设置不同值 2~12之间,以2为增量。 3. +4 Windows 2000基本调度规则 赋予新建进程一个基本优先级,默认隶属线程继承该优先级; 线程被唤醒时,根据其等待事件,会得到一个增量: 等I/O增1、等鼠标或键盘增6; 用完时间配额,优先级减1,直到到达基本优先级; 实时线程采用静态优先级,保持不变。 3.4.2 实时调度算法的分类 非抢占式调度算法 (1) 非抢占式轮转调度算法。 (2) 非抢占式优先调度算法。 2. 抢占式调度算法 (1) 基于时钟中断的抢占式优先权调度算法。 (2) 立即抢占(Immediate Preemption)的优先权调度算法。 实时进程调度 3.4.3 常用的几种实时调度算法 1. 最早截止时间优先即EDF算法 (1) 非抢占式调度方式用于非周期实时任务 (2) 抢占式调度方式用于周期实时任务 例:有两个周期性任务,任务A的周期时间为20 ms,每个周期的处理时间为10 ms;任务B的周期时间为50 ms,每个周期的处理时间为25 ms。图中的第一行示出了两个任务的到达时间、最后期限和执行时间图。其中任务A的到达时间为0、20、40、…;任务A的最后期限为20、40、60、…;任务B的到达时间为0、50、100、…;任务B的最后期限为50、100、150、…(注:单位皆为ms)。 为了说明通常的优先级调度不能适用于实时系统,该图特增加了第二和第三行。在第二行中假定任务A具有较高的优先级,所以在t=0 ms时,先调度A1执行,在A1完成后(t = 10 ms)才调度B1执行;在t = 20 ms时,调度A2执行;在t = 30 ms时,A2完成,又调度B1执行;在t = 40 ms时,调度A3执行;在t = 50 ms时,虽然A3已完成,但B1已错过了它的最后期限,这说明了利用通常的优先级调度已经失败。第三行与第二行类似,只是假定任务B具有较高的优先级。 第四行是采用最早截止时间优先算法的时间图。在t = 0时,A1和B1同时到达,由于A1的截止时间比B1早,故调度A1执行;在t = 10时,A1完成,又调度B1执行;在t = 20时,A2到达,由于A2的截止时间比B2早,B1被中断而调度A2执行;在t = 30时,A2完成,又重新调度B1执行;在t = 40时,A3又到达,但B1的截止时间要比A3早,仍应让B1继续执行直到完成(t = 45),然后再调度A3执行;在t = 55时,A3完成,又调度B2执行。在该例中利用最早截止时间优先算法可以满足系统的要求。 2. 最低松弛度优先即LLF(Least Laxity First)算法 该算法是根据任务紧急(或松弛)的程度,来确定任务的优先级.例如,一个任务在200ms时必须完成,而它本身所需的运行时间就有100ms,调度程序必须在100 ms之前调度执行,该任务的松弛度为100 ms。又如,另一任务在400 ms时必须完成,它本身需要运行 150 ms,则其松弛度为 250 ms。在实现该算法时要求系统中有一个按松弛度排序的实时任务就绪队列,松弛度最低的任务排在队列最前面,调度程序总是选择就绪队列中的队首任务执行。该算法主要用于可抢占调度方式中。 A和B任务每次必须完成的时间 在刚开始时(t1=0),A1必须在20ms时完成,而它本身运行又需 10 ms,可算出A1的松弛度为10ms;B1必须在50ms时完成, 而它本身运行就需25 ms,可算出B1的松弛度为25 ms,故调度程序应先调度A1执行。在t2=10 ms时,A2的松弛度可按下式算出: A2的松弛度=必须完成时间-其本身的运行时间-当前时间 =40 ms-10 ms-10 ms=20 ms 利用ELLF算法进行调度的情况
您可能关注的文档
最近下载
- T/CSWSL 036-2024N-酰基高丝氨酸内酯酶.pdf
- 2025至2030中国宫颈癌疫苗行业市场占有率及投资前景评估规划报告.docx VIP
- 2025至2030汽车防爆膜行业市场占有率及投资前景评估规划报告.docx VIP
- 2025至2030热熔线标涂料行业市场发展分析及投资前景报告.docx VIP
- 2021年禁毒社工招聘考试试题.doc VIP
- 医院病理技师礼仪与病理诊断.pptx VIP
- 2021年度禁毒社工招聘考试试题.doc VIP
- 《十二公民》剧本.docx VIP
- 五年级上册书法课件-8.口字旁 见字旁|人美版.ppt VIP
- 《医学信息学概论》管理.pptx VIP
文档评论(0)