所謂的bottom half,是與top half為一組的ISR處理方式,bottom half負責的工作是整個ISR所要作的主體工作的部份,比如說處理tick中斷的bottom half,其內部的主要工作就是去呼叫OSTimeTick(),它的特性為能夠被系統排程器所排程,不過由於它對中斷而言並不是第一線的ISR處理,因此內部若會改變process的狀態的話,必須自行呼叫scheduler去重新排程,才能夠達到完整的效果。
想法:
它與top half之間的時間關係並非絕對連續,也因此,它對於中斷而言,處理的並不即時,如此一來,如果越希望bottom half能即時處理,給bottom half的優先權就得設得越高才行,反過來說,如果對於即時性的需求略微低些的中斷,其bottom half的優先權應該可以設得比需求高的中斷的bottom half相對低一點才是。
沒有留言:
張貼留言