实时操作系统主流调度方法RMS
操作系統(tǒng)的調(diào)度方法有很多種,這里主要介紹主流的調(diào)度算法,像EDF這種調(diào)度算法就不表述了。目前幾乎所有的商業(yè)實(shí)時(shí)操作系統(tǒng)的調(diào)度理論都基于RMS理論.
以下是基于RMS的一些假設(shè)理論:
1 各個(gè)任務(wù)之間沒有資源共享,沒有忙等,沒有mutex, 也沒有semaphore.
2 每個(gè)任務(wù)的最后期限是周期性的。
3 基于優(yōu)先級搶占的,即高優(yōu)先級任務(wù)一旦就緒的話,會立馬搶占低優(yōu)先級任務(wù)。
4 任務(wù)優(yōu)先級的分配原則是,周期越短的任務(wù),優(yōu)先級越高。
5 任務(wù)切換以及純內(nèi)核任務(wù)的消耗忽略不計(jì)對于這個(gè)理論模型。
?
以下的公式是,基于RMS 的一個(gè)基礎(chǔ)理論:
U 代表了系統(tǒng)的cpu 使用率,C 是任務(wù)的運(yùn)行具體時(shí)間,T 是周期性的任務(wù)最后期限,n是有多少個(gè)任務(wù),等式右邊是理論上的可實(shí)時(shí)調(diào)度率,可以看到可調(diào)度率只和任務(wù)的個(gè)數(shù)有關(guān),任務(wù)越多,可實(shí)時(shí)調(diào)度率越少。
可以看到等式右邊:
可以看到當(dāng)任務(wù)接近無窮大的時(shí)候,可調(diào)度率是69%了。從這個(gè)公式可以近似任務(wù)系統(tǒng)中69%的任務(wù)是可以實(shí)時(shí)調(diào)度的,即能在最后的期限中完成運(yùn)行。還有大概31%的任務(wù)是非實(shí)時(shí)的。這樣的理論模型在實(shí)際應(yīng)用中是完全可行的。
?
接下來看一個(gè)實(shí)際的例子:
?
假設(shè)有3個(gè)任務(wù)P1, P2, P3,運(yùn)行的時(shí)間以及周期如上圖。?
根據(jù)公式可以算出系統(tǒng)的cpu 使用率。
?
?
理論上的可實(shí)時(shí)調(diào)度率為
?
可以看到0.725 <= 0.77976, 所以這3個(gè)任務(wù)都是可以實(shí)時(shí)調(diào)度的。
RMS理論主要是基于任務(wù)優(yōu)先級的,對于指導(dǎo)分配任務(wù)的優(yōu)先級有很大的實(shí)戰(zhàn)價(jià)值,其核心是根據(jù)任務(wù)的最后期限(deadline)和周期的時(shí)間來分配任務(wù)優(yōu)先級。周期越短的任務(wù)優(yōu)先級越高,這在優(yōu)先級分配上是一個(gè)有趣的開始。
總結(jié)
以上是生活随笔為你收集整理的实时操作系统主流调度方法RMS的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 由动态分配和静态分配的数据在内存组成区别
- 下一篇: java信息管理系统总结_java实现科