|
時(shí)間觸發(fā)合作調(diào)度器的主要功能就是喚醒預(yù)先確定好時(shí)間執(zhí)行的任務(wù)。在工作期間,調(diào)度器檢查靜態(tài)的任務(wù)鏈表,根據(jù)任務(wù)的周期判斷是否有任務(wù)需要執(zhí)行。如果有則立即執(zhí)行任務(wù);任務(wù)執(zhí)行完后繼續(xù)檢查任務(wù)鏈表,重復(fù)上一個(gè)過(guò)程。完成鏈表檢查后,CPU可以進(jìn)入休眠狀態(tài),等待下一個(gè)時(shí)鐘節(jié)拍的到來(lái)。其任務(wù)調(diào)度機(jī)制如圖1所示。由于合作式調(diào)度器能保證在同一時(shí)刻,系統(tǒng)中只有一個(gè)任務(wù)被觸發(fā),而且在任何時(shí)刻系統(tǒng)中都可以保證有任務(wù)在執(zhí)行。這樣,系統(tǒng)的使用效率得到了提高。
合作式調(diào)度器可靠且可預(yù)測(cè)的主要原因式在任何時(shí)刻只有一個(gè)任務(wù)是活動(dòng)的,這個(gè)任務(wù)運(yùn)行直到完成,然后把CPU的控制權(quán)交給調(diào)度器。如果采用搶占式調(diào)度,有多個(gè)活動(dòng)任務(wù)執(zhí)行“上下文切換”和“關(guān)鍵段保護(hù)”等將增加系統(tǒng)的開(kāi)銷。許多研究表明,相對(duì)于搶占式調(diào)度器,合作式調(diào)度器具有很多優(yōu)點(diǎn)。
官網(wǎng):http://www.aoelectronics.com 中文網(wǎng):http://www.aoelectronics.cn
|