簡單地說,調度點是一組導致調用調度程序的操作系統事件。我們已經遇到了兩個這樣的事件:任務創建和任務的刪除。每一個事件期間,方法os.schedule被調用以選擇下一個要運行的任務。如果目前運行的任務仍舊在就緒的任務中具有最高的優先級,那么它將被允許繼續使用處理器。否則,接下來,最高優先級的任務將被執行。當然,在任務刪除的情況下,選擇的總是一個新任務:根據它不再存在的事實,所以目前運行的任務不再處于就緒的狀態。一個第三方的調度點叫作時鐘節拍。時鐘節拍是一個由時鐘中斷處觸發的周期性事件。時鐘節拍提供了一個機會以喚醒那些等待軟件時鐘到期的任務。這和我們在前而章節中看到的時鐘節拍幾乎是一樣的。實際上,對于軟件時鐘的支持是嵌入式系統的一個普遍特性。在一個時鐘節拍期間,操作系統使每一個活動的軟件時鐘減值并且檢測它們。當一個時鐘到期了,所有等待它結束的任務從等待狀態變為就緒狀態。然后,tb調度程序被調用以確定新喚醒的任務和此時鐘中斷之前運行的任務相比是否具有更高的優先級。
在 ADEOS 中時鐘節拍例程幾乎與第七章“外圍設備”中的那個例程是一樣的。實際上,我們仍舊使用相同的Timer 類。只有這個類的實現被輕微地改變了。這些變化是為了考慮到多個任務可能等待同一個軟件時鐘的事實。此外,所有對于disable()和enable()的調用都被enterCS()和exitCS()替換了,并且時鐘節拍的長度從1 ms 增加到10 ms。