解读论文记录 指出经典的RMS证明过程小错误的一个论文的解读

这篇博客讨论了经典实时调度论文中C.Liu和Layland RMS算法的瑕疵,特别是关于利用率证明的不严谨。Devillers的论文详细修复了这两个问题,并通过反证法提供了严格的证明,确保了任务集调度的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

众所周知,实时调度最经典的论文是C.Liu和Layland的RMS单调速率调度算法,是实时操作系统中最优的固定优先级调度算法

C.L. Liu, J.W. Layland, Scheduling algorithms for multiprogramming in a hard-real-time environment, J. ACM 20 (1) (1973) 46–61.

该论文的结论是正确的,但是该论文的证明过程存在两个瑕疵:

  1. 改论文对于利用率最小化证明那里的case 2那儿错了
  2. 对于最后的结论,任务集利用率小于那个上界,就可以调度,没有严格给出的证明

上述两个问题,被这篇论文指出以及都修正了。

Devillers, R., & Goossens, J. (2000). Liu and Layland’s schedulability test revisited. Information Processing Letters, 73(5-6), 157–161. doi:10.1016/s0020-0190(00)00016-8

该文章证明思路如下:

  1. 关于第一个问题:Devillers提出如下

     
  2. C.Liu他们说了如果总利用率小于那个上界,则该任务集可调度,但是却没有给出证明,因此Devillers给出了如下定理的严格证明:


    证明过程为:

反证法的思路:

  1. 明确要证明的东西
  2. 分析出这个东西的反面
  3. 假设这个反面是成立的,也就是作为前提
  4. 一步步往下推导,推导出和任何已有正确的东西矛盾的,就停止
  5. 既然发生了矛盾,说明要么其前提错误的,要么推导过程是错误的。很明显,只有前提可能是错的,因为推导过程是数学严谨的。
  6. 因此前提不可能成立,因此它的反面就一定是成立的(这正式我们要证明的东西),因此得证。

 


 


原理就是:假设存在一个任务集,Un<bn,然后这个任务集不可调度。将Un合理转换为充分利用处理机且可调度的Un',发现Un'<bn,这不就跟已有的合理结论:bn为 充分利用处理机的可调度任务集 的最小利用率 矛盾了嘛。因此存在一个任务集,Un<bn,然后这个任务集不可调度 是不成立的,也就是找不到一个任务集 Un<bn,使得这个任务集不可调度,这就是我们的想要证明的结果,所以得证。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值