低優先級任務在執行過程中高優先級任務在干什么


        在操作系統中,低優先級任務想要得到CPU的使用權,是建立在高優先級任務遇到阻塞語句的前提下,比如等待事件標志、等待消息、等待信號量、遇見延遲函數等

        而在低優先級任務執行過程中,高優先級任務在干什么,或者說CPU在干什么

        在搶占式操作系統中,高優先級任務是不會等待低優先級任務徹底執行完畢后,通過調度器切換任務而獲得CPU使用權,而是高優先級任務的就緒條件一滿足就會立刻奪過CPU的使用權,暫時中斷正在執行的低優先級任務,但CPU在執行低優先級任務時,是如何實時知道高優先級任務就緒了呢,由結果倒推原因,那就是CPU不是一直特別專一的只執行低優先級任務,而是有一個大掃描,會實時檢測高優先級任務的運行條件是否已滿足,一旦滿足就會發生搶占事件,否則繼續執行低優先級任務

        其實仔細研究過操作系統后便知,這是操作系統的任務切換機制,操作系統跟人一樣必須有一個心跳,整個系統按照這個心跳有序正確的工作,這個心跳就是系統時鍾,系統時鍾一般是由定時器產生,每隔一定時間便產生一次中斷,系統便在這個中斷里做一些事情,這當中就包括調度器的任務切換,即一次中斷到來后便檢測高優先級任務的就緒條件是否滿足,條件滿足則切換任務,不滿足則繼續執行當前任務,這就在現象上表現出,操作系統能實時知道高優先級任務何時就緒了,以便切換到高優先級任務而執行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM