嵌入式系統(tǒng)與軟件4ppt課件_第1頁
嵌入式系統(tǒng)與軟件4ppt課件_第2頁
嵌入式系統(tǒng)與軟件4ppt課件_第3頁
嵌入式系統(tǒng)與軟件4ppt課件_第4頁
嵌入式系統(tǒng)與軟件4ppt課件_第5頁
已閱讀5頁,還剩110頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、l實時性實時性l可移植性可移植性l可剪裁、可配置性可剪裁、可配置性l可靠性可靠性l運用編程接口運用編程接口l實時性是指實時內(nèi)核應該保證系統(tǒng)盡能夠實時性是指實時內(nèi)核應該保證系統(tǒng)盡能夠快地對外部事件產(chǎn)生呼應??斓貙ν獠渴录a(chǎn)生呼應。l實時性是實時內(nèi)核最重要的特性之一。實時性是實時內(nèi)核最重要的特性之一。l實時系統(tǒng)的正確性不僅依賴于系統(tǒng)計算的實時系統(tǒng)的正確性不僅依賴于系統(tǒng)計算的邏輯結果,還依賴于產(chǎn)生這些結果的時間。邏輯結果,還依賴于產(chǎn)生這些結果的時間。l系統(tǒng)的實時性與硬件、操作系統(tǒng)及程序三系統(tǒng)的實時性與硬件、操作系統(tǒng)及程序三方面有關系。方面有關系。l相關概念相關概念l確定性:是指系統(tǒng)對外部事件呼應的最

2、確定性:是指系統(tǒng)對外部事件呼應的最壞時間是可以預知的。壞時間是可以預知的。l呼應性:是指系統(tǒng)在識別外部事件以后,呼應性:是指系統(tǒng)在識別外部事件以后,要花多長時間來效力該事件。要花多長時間來效力該事件。l呼應時間:確定性和呼應性結合在一同呼應時間:確定性和呼應性結合在一同構成了系統(tǒng)對外部事件的呼應時間,對構成了系統(tǒng)對外部事件的呼應時間,對于多義務虛時運用來說,可以分兩種情于多義務虛時運用來說,可以分兩種情況:中斷呼應時間和義務呼應時間。況:中斷呼應時間和義務呼應時間。l內(nèi)核實時性的重要原那么:內(nèi)核實時性的重要原那么:l支持多義務;支持多義務;l支持侵占式多義務;支持侵占式多義務;l支持義務的優(yōu)先

3、級調度;支持義務的優(yōu)先級調度;l義務的優(yōu)先級可以承繼;義務的優(yōu)先級可以承繼;l支持可預測的義務同步機制;支持可預測的義務同步機制;l實時內(nèi)核的運轉時間可知并可以預測;實時內(nèi)核的運轉時間可知并可以預測;l系統(tǒng)調用確實定性。系統(tǒng)調用確實定性。l影響實時性的主要要素影響實時性的主要要素l調度算法調度算法l可搶占式內(nèi)核可搶占式內(nèi)核l內(nèi)核的關中斷時間內(nèi)核的關中斷時間l數(shù)據(jù)構造數(shù)據(jù)構造l存儲管理機制存儲管理機制l資源的有限時間等待資源的有限時間等待l優(yōu)先級反轉問題的處理優(yōu)先級反轉問題的處理l中斷處置中斷處置l浮點數(shù)的優(yōu)化處置浮點數(shù)的優(yōu)化處置l可搶占內(nèi)核與不可搶占內(nèi)核可搶占內(nèi)核與不可搶占內(nèi)核 l表達在義務在

4、運用內(nèi)核提供的系統(tǒng)調用的過表達在義務在運用內(nèi)核提供的系統(tǒng)調用的過程中被中斷打斷的不同處置上。程中被中斷打斷的不同處置上。l可搶占內(nèi)核:中斷效力程序退出時進展義務可搶占內(nèi)核:中斷效力程序退出時進展義務重調度,假設有優(yōu)先級更高的義務就緒,就重調度,假設有優(yōu)先級更高的義務就緒,就立刻讓高優(yōu)先級義務運轉,不要求必需回到立刻讓高優(yōu)先級義務運轉,不要求必需回到被中斷的義務,將未完成的系統(tǒng)調用執(zhí)行完被中斷的義務,將未完成的系統(tǒng)調用執(zhí)行完l不可搶占內(nèi)核:中斷效力程序退出時,即使不可搶占內(nèi)核:中斷效力程序退出時,即使有優(yōu)先級更高的義務就緒也必需回到被中斷有優(yōu)先級更高的義務就緒也必需回到被中斷的義務,將未完成的系

5、統(tǒng)調用執(zhí)行完后,才的義務,將未完成的系統(tǒng)調用執(zhí)行完后,才干讓高優(yōu)先級義務執(zhí)行。干讓高優(yōu)先級義務執(zhí)行。 l可移植性是設計實時內(nèi)核時需求重點思索的可移植性是設計實時內(nèi)核時需求重點思索的目的之一;目的之一;l嵌入式軟件的移植任務分為異種處置器平臺嵌入式軟件的移植任務分為異種處置器平臺之間的移植和同種處置器平臺之間的移植;之間的移植和同種處置器平臺之間的移植;l不同處置器平臺間的移植任務集中在義務切不同處置器平臺間的移植任務集中在義務切換、中斷控制設備和時間設備的驅動上;換、中斷控制設備和時間設備的驅動上;l同種處置器平臺間的移植任務集中在對芯片同種處置器平臺間的移植任務集中在對芯片級控制存放器的操作

6、上。級控制存放器的操作上。l編程言語:高級言語與匯編言語。編程言語:高級言語與匯編言語。l體系構造:體系構造:l可以將內(nèi)核設計為三層構造:硬件無關層、可以將內(nèi)核設計為三層構造:硬件無關層、硬件籠統(tǒng)層和硬件相關層。硬件籠統(tǒng)層和硬件相關層。l代碼實現(xiàn)的技巧:代碼實現(xiàn)的技巧:l對不可移植代碼的運用轉換成對函數(shù)和宏對不可移植代碼的運用轉換成對函數(shù)和宏定義的運用。定義的運用。l可剪裁表示系統(tǒng)在添加、刪除功能模塊時僅需求可剪裁表示系統(tǒng)在添加、刪除功能模塊時僅需求做少量的修正或者根本不用修正。可剪裁性要求做少量的修正或者根本不用修正。可剪裁性要求系統(tǒng)中各功能模塊之間盡量不存在耦合關系。系統(tǒng)中各功能模塊之間盡

7、量不存在耦合關系。l可配置性是針對系統(tǒng)中未被卸裝的模塊,根據(jù)運可配置性是針對系統(tǒng)中未被卸裝的模塊,根據(jù)運用在數(shù)量、機制、任務空間和堆棧等方面的不同用在數(shù)量、機制、任務空間和堆棧等方面的不同需求,決議系統(tǒng)的規(guī)模、功能以及內(nèi)存分配等。需求,決議系統(tǒng)的規(guī)模、功能以及內(nèi)存分配等。l可靠性對于實時系統(tǒng)來說通常比非實時系可靠性對于實時系統(tǒng)來說通常比非實時系統(tǒng)更為重要。統(tǒng)更為重要。l提高可靠性所采用的機制有:異步信號、提高可靠性所采用的機制有:異步信號、定時器、優(yōu)先級承繼、優(yōu)先級天花板、異定時器、優(yōu)先級承繼、優(yōu)先級天花板、異常出錯處置、用戶擴展和內(nèi)存維護等。常出錯處置、用戶擴展和內(nèi)存維護等。l每個操作系統(tǒng)提

8、供的系統(tǒng)調用的功能和種類都不同。每個操作系統(tǒng)提供的系統(tǒng)調用的功能和種類都不同。普通來說,系統(tǒng)調用提供得越多,功能越強,越能普通來說,系統(tǒng)調用提供得越多,功能越強,越能對運用程序的開發(fā)提供高效率的支持,同時也會減對運用程序的開發(fā)提供高效率的支持,同時也會減少運用程序的維護任務量;相反,系統(tǒng)調用提供得少運用程序的維護任務量;相反,系統(tǒng)調用提供得越少,越單一,運用程序越復雜,可靠性越低。越少,越單一,運用程序越復雜,可靠性越低。lAPIAPI影響著運用參與系統(tǒng)控制的深淺程度。經(jīng)過實影響著運用參與系統(tǒng)控制的深淺程度。經(jīng)過實時內(nèi)核提供的時內(nèi)核提供的APIAPI,開發(fā)者可以在運用中運用實時,開發(fā)者可以在運

9、用中運用實時內(nèi)核提供的各種功能,到達對系統(tǒng)硬件資源和軟件內(nèi)核提供的各種功能,到達對系統(tǒng)硬件資源和軟件資源的合理、充分的運用。資源的合理、充分的運用。l提供面向行業(yè)的接口規(guī)范是嵌入式實時操作系統(tǒng)的提供面向行業(yè)的接口規(guī)范是嵌入式實時操作系統(tǒng)的一個開展趨勢。一個開展趨勢。l義務管理義務管理l中斷管理中斷管理l義務間的同步與通義務間的同步與通訊管理訊管理l時間管理時間管理l對共享資源的互斥對共享資源的互斥管理管理l存儲管理存儲管理lI/O管理管理l出錯管理出錯管理l用戶擴展管理用戶擴展管理l電源管理電源管理l義務是被調度執(zhí)行和競爭資源的最根本實義務是被調度執(zhí)行和競爭資源的最根本實體單元;體單元;l實時

10、內(nèi)核最根本的功能是管理義務、提供實時內(nèi)核最根本的功能是管理義務、提供多線程的支持;多線程的支持;l義務管理主要包括創(chuàng)建義務、刪除義務、義務管理主要包括創(chuàng)建義務、刪除義務、改動義務形狀和查詢義務形狀等功能;改動義務形狀和查詢義務形狀等功能;l義務管理的中心是義務調度,確定一個適義務管理的中心是義務調度,確定一個適宜嵌入式運用特定要求的義務調度算法。宜嵌入式運用特定要求的義務調度算法。l相對于前后臺軟件構造而言,多義務軟件構相對于前后臺軟件構造而言,多義務軟件構造的每個義務規(guī)模較小,每個義務更容易編造的每個義務規(guī)模較小,每個義務更容易編碼和調試,其質量也更容易得到保證。碼和調試,其質量也更容易得到

11、保證。l不少運用本身就是由多個義務構成的,采用不少運用本身就是由多個義務構成的,采用多義務的處置方式是運用問題的一個非常自多義務的處置方式是運用問題的一個非常自然的處理方式。然的處理方式。l義務之間具有較高的獨立性,耦合性小,經(jīng)義務之間具有較高的獨立性,耦合性小,經(jīng)過添加新的義務就能方便地擴展系統(tǒng)功能。過添加新的義務就能方便地擴展系統(tǒng)功能。l實時性強,保證緊急事件得到優(yōu)先處置成為實時性強,保證緊急事件得到優(yōu)先處置成為能夠。能夠。l進程的定義主要包括以下內(nèi)容:進程的定義主要包括以下內(nèi)容:l一個正在執(zhí)行的程序;一個正在執(zhí)行的程序;l計算機中正在運轉的程序的一個實例;計算機中正在運轉的程序的一個實例

12、;l可以分配給處置器,并由處置器執(zhí)行的一個可以分配給處置器,并由處置器執(zhí)行的一個實體;實體;l由一個順序的執(zhí)行線程、一個當前形狀和一由一個順序的執(zhí)行線程、一個當前形狀和一組相關的系統(tǒng)資源所描寫的活動單元。組相關的系統(tǒng)資源所描寫的活動單元。l進程由代碼、數(shù)據(jù)、堆棧和進程控制塊進程由代碼、數(shù)據(jù)、堆棧和進程控制塊PCB構成。構成。l義務定義義務定義l 義務是一個具有獨立功能的無限循環(huán)的程序段義務是一個具有獨立功能的無限循環(huán)的程序段的一次運轉活動,是操作系統(tǒng)調度的單位。具有的一次運轉活動,是操作系統(tǒng)調度的單位。具有動態(tài)性、并行性和異步獨立性。動態(tài)性、并行性和異步獨立性。l動態(tài)性動態(tài)性: 義務形狀是不斷

13、變化的。義務形狀普通分義務形狀是不斷變化的。義務形狀普通分為就緒態(tài)為就緒態(tài)(ready), 運轉態(tài)運轉態(tài)(running), 阻塞態(tài)阻塞態(tài)wait/suspended。l并行性并行性: 系統(tǒng)中同時存在多個義務,它們宏觀上是系統(tǒng)中同時存在多個義務,它們宏觀上是同時運轉的同時運轉的l異步獨立性異步獨立性: 每個義務各自按相互獨立的不可預知每個義務各自按相互獨立的不可預知的速度運轉,走走停停。的速度運轉,走走停停。l義務更能真實地描畫并發(fā),而程序不能義務更能真實地描畫并發(fā),而程序不能l義務是由程序和數(shù)據(jù)兩部分組成的義務是由程序和數(shù)據(jù)兩部分組成的l程序是靜態(tài)的,義務是動態(tài)的程序是靜態(tài)的,義務是動態(tài)的l

14、義務有生命周期,有誕生有消亡,短暫的;而程義務有生命周期,有誕生有消亡,短暫的;而程序是相對長久的序是相對長久的l一個程序可對應多個義務,反之亦然一個程序可對應多個義務,反之亦然l義務具有創(chuàng)建其他義務的功能,而程序沒有義務具有創(chuàng)建其他義務的功能,而程序沒有l(wèi)義務組成義務組成l代碼如:代碼如:Codel數(shù)據(jù)如:數(shù)據(jù)如:DATA、BSSl堆棧用戶堆棧、中心堆棧堆棧用戶堆棧、中心堆棧l義務控制塊義務控制塊TCBl義務標識、義務優(yōu)先級義務標識、義務優(yōu)先級l義務形狀和控制信息義務形狀和控制信息l保管保管CPU的現(xiàn)場的現(xiàn)場內(nèi)核代碼內(nèi)核代碼多義務模型多義務模型內(nèi)核數(shù)據(jù)內(nèi)核數(shù)據(jù)棧棧數(shù)據(jù)數(shù)據(jù)義務義務控制塊控制塊

15、棧棧義務義務控制塊控制塊棧棧義務義務控制塊控制塊代碼代碼代碼代碼代碼代碼數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)l義務的特性可以經(jīng)過優(yōu)先級、周期、計算時間、義務的特性可以經(jīng)過優(yōu)先級、周期、計算時間、就緒時間和截止時間等參數(shù)來進展描畫。就緒時間和截止時間等參數(shù)來進展描畫。l義務優(yōu)先級表示義務對應任務內(nèi)容在處置上的優(yōu)義務優(yōu)先級表示義務對應任務內(nèi)容在處置上的優(yōu)先程度。優(yōu)先級越高,闡明義務越需求得到優(yōu)先先程度。優(yōu)先級越高,闡明義務越需求得到優(yōu)先處置。義務優(yōu)先級分為靜態(tài)優(yōu)先級和動態(tài)優(yōu)先級。處置。義務優(yōu)先級分為靜態(tài)優(yōu)先級和動態(tài)優(yōu)先級。靜態(tài)優(yōu)先級表示義務的優(yōu)先級被確定后,在系統(tǒng)靜態(tài)優(yōu)先級表示義務的優(yōu)先級被確定后,在系統(tǒng)運轉過程中將

16、不再發(fā)生變化;動態(tài)優(yōu)先級那么意運轉過程中將不再發(fā)生變化;動態(tài)優(yōu)先級那么意味著在系統(tǒng)的運轉過程中,義務的優(yōu)先級是可以味著在系統(tǒng)的運轉過程中,義務的優(yōu)先級是可以動態(tài)變化的。動態(tài)變化的。l周期是周期義務所具有的參數(shù),表示義務周期性周期是周期義務所具有的參數(shù),表示義務周期性執(zhí)行的間隔時間。執(zhí)行的間隔時間。l義務的計算時間是指義務在特定硬件環(huán)境下被完義務的計算時間是指義務在特定硬件環(huán)境下被完好執(zhí)行所需求的時間,也被稱為義務的執(zhí)行時間。好執(zhí)行所需求的時間,也被稱為義務的執(zhí)行時間。l義務的特性可以經(jīng)過優(yōu)先級、周期、計義務的特性可以經(jīng)過優(yōu)先級、周期、計算時間、就緒時間和截止時間等參數(shù)來算時間、就緒時間和截止時

17、間等參數(shù)來進展描畫。進展描畫。l義務的就緒時間表示義務具備了在處置義務的就緒時間表示義務具備了在處置器上被執(zhí)行所需求的條件時的時間。器上被執(zhí)行所需求的條件時的時間。l義務的截止時間意味著義務需求在該時義務的截止時間意味著義務需求在該時間到來之前被執(zhí)行完成。截止時間可以間到來之前被執(zhí)行完成。截止時間可以經(jīng)過絕對截止時間和相對截止時間兩種經(jīng)過絕對截止時間和相對截止時間兩種方式來表示,相對截止時間為義務的絕方式來表示,相對截止時間為義務的絕對截止時間減去義務的就緒時間。對截止時間減去義務的就緒時間。l義務形狀義務形狀l多義務系統(tǒng)中義務參與資源競爭,處置器資源多義務系統(tǒng)中義務參與資源競爭,處置器資源在

18、義務之間分配,義務形狀在不斷的變化在義務之間分配,義務形狀在不斷的變化l不同的內(nèi)核實現(xiàn)對義務形狀的定義不盡一樣,不同的內(nèi)核實現(xiàn)對義務形狀的定義不盡一樣,但是都可以概括為以下三種形狀:但是都可以概括為以下三種形狀:l執(zhí)行態(tài):當前占有執(zhí)行態(tài):當前占有CPU的義務形狀的義務形狀 l就緒態(tài):一旦獲得就緒態(tài):一旦獲得CPU就能執(zhí)行的義務形狀就能執(zhí)行的義務形狀 l阻塞態(tài):由于資源條件未滿足,沒有資歷競爭阻塞態(tài):由于資源條件未滿足,沒有資歷競爭CPU的義務形狀的義務形狀 就緒就緒執(zhí)執(zhí)行行阻阻塞塞l義務的上下文和上下文切換義務的上下文和上下文切換 l義務的上下文記錄了該義務的執(zhí)行環(huán)境如,存放義務的上下文記錄了

19、該義務的執(zhí)行環(huán)境如,存放器的內(nèi)容。器的內(nèi)容。l針對不同體系構造的處置器,義務的上下文有不同針對不同體系構造的處置器,義務的上下文有不同的定義。的定義。 l義務的上下文切換表示當前執(zhí)行義務在將處置器的義務的上下文切換表示當前執(zhí)行義務在將處置器的控制權交給即將運轉的義務之前,把它的執(zhí)行環(huán)境控制權交給即將運轉的義務之前,把它的執(zhí)行環(huán)境該義務的上下文保管到相應的數(shù)據(jù)構造中,用該義務的上下文保管到相應的數(shù)據(jù)構造中,用即將運轉義務的上下文重新布置執(zhí)行環(huán)境。即將運轉義務的上下文重新布置執(zhí)行環(huán)境。 l義務管理用來實現(xiàn)對義務形狀的直接控制和訪問,義務管理用來實現(xiàn)對義務形狀的直接控制和訪問,實時內(nèi)核的義務管理是經(jīng)

20、過系統(tǒng)調用來實現(xiàn)的,這實時內(nèi)核的義務管理是經(jīng)過系統(tǒng)調用來實現(xiàn)的,這些系統(tǒng)調用主要包括義務創(chuàng)建、義務刪除、義務掛些系統(tǒng)調用主要包括義務創(chuàng)建、義務刪除、義務掛起、義務喚醒和設置義務屬性等內(nèi)容。起、義務喚醒和設置義務屬性等內(nèi)容。l義務創(chuàng)建:為義務分配和初始化相關的數(shù)據(jù)構造。義務創(chuàng)建:為義務分配和初始化相關的數(shù)據(jù)構造。l獲得義務控制塊獲得義務控制塊TCB;l根據(jù)實時內(nèi)核用戶提供的信息初始化根據(jù)實時內(nèi)核用戶提供的信息初始化TCB;l為義務分配一個可以獨一標識義務的為義務分配一個可以獨一標識義務的ID;l使義務處于就緒形狀,把義務放置到就緒隊列;使義務處于就緒形狀,把義務放置到就緒隊列;l進展義務調度處置

21、。進展義務調度處置。義務刪除:實時內(nèi)核根據(jù)義務創(chuàng)建時獲得的義務刪除:實時內(nèi)核根據(jù)義務創(chuàng)建時獲得的ID刪刪除指定的義務。除指定的義務。根據(jù)指定的根據(jù)指定的ID,獲得對應義務的,獲得對應義務的TCB;把義務的把義務的TCB從隊列中取出來,掛入空閑從隊列中取出來,掛入空閑TCB隊隊列;列;釋放義務所占用的資源。釋放義務所占用的資源。義務掛起:根據(jù)義務的義務掛起:根據(jù)義務的ID把指定義務掛起,直到把指定義務掛起,直到經(jīng)過喚醒義務對義務進展解掛。經(jīng)過義務掛起,經(jīng)過喚醒義務對義務進展解掛。經(jīng)過義務掛起,一個義務可以把本人掛起。一個義務可以把本人掛起。根據(jù)指定的根據(jù)指定的ID,獲取對應義務的,獲取對應義務的

22、TCB;把義務的形狀變?yōu)榈却螤?,并把把義務的形狀變?yōu)榈却螤?,并把TCB放置到等放置到等待隊列;待隊列;假設義務本人掛起本人,那么進展義務調度。假設義務本人掛起本人,那么進展義務調度。義務喚醒:根據(jù)義務義務喚醒:根據(jù)義務ID解掛指定的義務。解掛指定的義務。根據(jù)指定的根據(jù)指定的ID,獲得對應義務的,獲得對應義務的TCB;假設義務在等待其他資源,義務將依然處于等待假設義務在等待其他資源,義務將依然處于等待形狀;否那么,把義務的形狀變?yōu)榫途w形狀,并形狀;否那么,把義務的形狀變?yōu)榫途w形狀,并把把TCB放置到就緒隊列;放置到就緒隊列;進展義務調度。進展義務調度。義務睡眠:使當前義務睡眠一段指定的時間,

23、時義務睡眠:使當前義務睡眠一段指定的時間,時間到后,義務又重新回到就緒形狀。間到后,義務又重新回到就緒形狀。修正義務形狀,把義務形狀變?yōu)榈却螤睿恍拚x務形狀,把義務形狀變?yōu)榈却螤?;把義務把義務TCB放置到時間等待鏈放置到時間等待鏈進展義務調度。進展義務調度。關于義務擴展:以便于運用可以向系統(tǒng)中添加一關于義務擴展:以便于運用可以向系統(tǒng)中添加一些關于義務的附加操作,為運用提供在系統(tǒng)運轉些關于義務的附加操作,為運用提供在系統(tǒng)運轉的關鍵點上進展干涉的手段。的關鍵點上進展干涉的手段。義務擴展的時機:義務創(chuàng)建時、義務刪除時、義義務擴展的時機:義務創(chuàng)建時、義務刪除時、義務上下文切換時。務上下文切換時。義

24、務擴展功能可經(jīng)過義務擴展表或是單獨運用編義務擴展功能可經(jīng)過義務擴展表或是單獨運用編程接口的方式來實現(xiàn)。程接口的方式來實現(xiàn)。義務擴展表用來存放實現(xiàn)義務擴展處置的例程,義務擴展表用來存放實現(xiàn)義務擴展處置的例程,實時內(nèi)核經(jīng)過查找義務擴展表來獲取擴展處置的實時內(nèi)核經(jīng)過查找義務擴展表來獲取擴展處置的入口函數(shù)。入口函數(shù)。義務變量:某些例程能夠同時被多個義務調用,義務變量:某些例程能夠同時被多個義務調用,每個調用義務又期望例程中的全局或是靜態(tài)變量每個調用義務又期望例程中的全局或是靜態(tài)變量提供不同的值。提供不同的值。實時內(nèi)核通常提供以下關于義務變量的操作:實時內(nèi)核通常提供以下關于義務變量的操作:向指定的義務中

25、添加義務變量;向指定的義務中添加義務變量;刪除指定義務的義務變量;刪除指定義務的義務變量;獲得指定義務的義務變量;獲得指定義務的義務變量;獲得指定義務當前擁有的義務變量的數(shù)量;獲得指定義務當前擁有的義務變量的數(shù)量;獲得指定義務的一切義務變量。獲得指定義務的一切義務變量。l要處理的問題要處理的問題lWHAT:按什么原那么分配:按什么原那么分配CPUl 義務調度算法義務調度算法lWHEN:何時分配:何時分配CPUl 義務調度的時機義務調度的時機lHOW: 如何分配如何分配CPUl 義務調度過程義務的上下文義務調度過程義務的上下文切換切換l義務調度的概念義務調度的概念 l義務調度的本質就是將處置器資

26、源合理分配給適義務調度的本質就是將處置器資源合理分配給適當?shù)牧x務,一方面確保義務的時間約束能被滿足,當?shù)牧x務,一方面確保義務的時間約束能被滿足,另一方面盡量提高處置器資源的利用率。另一方面盡量提高處置器資源的利用率。l義務調度就是從就緒形狀的義務中,挑選一個義義務調度就是從就緒形狀的義務中,挑選一個義務四處置器上運轉。務四處置器上運轉。l操作系統(tǒng)中擔任義務調度的程序稱為義務調度程操作系統(tǒng)中擔任義務調度的程序稱為義務調度程序序scheduler或義務調度器或義務調度器dispatch。 l調度點的位置:調度點的位置:l中斷效力程序的終了位置;中斷效力程序的終了位置;l義務因等待資源而處于等待形狀

27、;義務因等待資源而處于等待形狀;l義務處于就緒形狀時。義務處于就緒形狀時。l實時內(nèi)核的主要職責是要確保一切的義務都可以滿實時內(nèi)核的主要職責是要確保一切的義務都可以滿足義務的時間約束特性要求。足義務的時間約束特性要求。l在設計調度程序時,要綜合思索以下要素:在設計調度程序時,要綜合思索以下要素:lCPU的運用率;的運用率;l輸入輸入/輸出設備的吞吐率;輸出設備的吞吐率;l呼應時間;呼應時間;l公平性;公平性;l截止時間。截止時間。l內(nèi)核常用的幾種義務調度算法內(nèi)核常用的幾種義務調度算法l基于優(yōu)先級調度基于優(yōu)先級調度l輪轉調度輪轉調度 l單調速率調度單調速率調度(RM調度調度)l優(yōu)先級調度算法優(yōu)先級

28、調度算法l優(yōu)先級調度就是讓高優(yōu)先級的義務優(yōu)先得優(yōu)先級調度就是讓高優(yōu)先級的義務優(yōu)先得四處置的調度戰(zhàn)略四處置的調度戰(zhàn)略 l按照正在執(zhí)行的義務可否被搶占,優(yōu)先級按照正在執(zhí)行的義務可否被搶占,優(yōu)先級調度分為:調度分為:l可搶占調度可搶占調度l不可搶占調度不可搶占調度l確定優(yōu)先級的方法確定優(yōu)先級的方法l靜態(tài)優(yōu)先級法:在義務創(chuàng)建時指定優(yōu)先數(shù),靜態(tài)優(yōu)先級法:在義務創(chuàng)建時指定優(yōu)先數(shù),在義務運轉時優(yōu)先數(shù)不變在義務運轉時優(yōu)先數(shù)不變l動態(tài)優(yōu)先級法:在義務創(chuàng)建時創(chuàng)建一個優(yōu)動態(tài)優(yōu)先級法:在義務創(chuàng)建時創(chuàng)建一個優(yōu)先級,但在其生命周期內(nèi)優(yōu)先級可以動態(tài)先級,但在其生命周期內(nèi)優(yōu)先級可以動態(tài)變化。如等待時間長優(yōu)先級可改動變化。如等

29、待時間長優(yōu)先級可改動l不可搶占調度不可搶占調度non-preemptive scheduling l一旦某個義務占有了處置器就不斷運轉下去,一旦某個義務占有了處置器就不斷運轉下去,直到該義務由于本身的緣由自愿放棄處置器,直到該義務由于本身的緣由自愿放棄處置器,義務調度程序才按優(yōu)先級進展重調度,讓其義務調度程序才按優(yōu)先級進展重調度,讓其它義務運轉。它義務運轉。l義務在運轉過程中只能被中斷打斷搶占。義務在運轉過程中只能被中斷打斷搶占。l中斷處置程序即使喚醒了一個更高優(yōu)先級的中斷處置程序即使喚醒了一個更高優(yōu)先級的義務,當中斷處置完成后只能前往到被中斷義務,當中斷處置完成后只能前往到被中斷的義務,只需

30、這個義務放棄了處置器時,更的義務,只需這個義務放棄了處置器時,更高優(yōu)先級的義務才干運轉。高優(yōu)先級的義務才干運轉。l不可搶占調度不可搶占調度義務義務1義務義務2義務義務3優(yōu)先級優(yōu)先級高高低低時間時間義務義務2就緒就緒義 務義 務 3 就就緒緒l不可搶占調度的優(yōu)點不可搶占調度的優(yōu)點l- 對共享數(shù)據(jù)的維護需求較低對共享數(shù)據(jù)的維護需求較低l不可搶占調度的缺陷不可搶占調度的缺陷l- 系統(tǒng)的呼應時間得不到保證系統(tǒng)的呼應時間得不到保證l l 因此,對于實時性要求較高的系統(tǒng)不可選因此,對于實時性要求較高的系統(tǒng)不可選擇這種調度方式。擇這種調度方式。 l可搶占調度可搶占調度preemptive schedulin

31、g l任何時辰都嚴厲按照高優(yōu)先級義務在處置任何時辰都嚴厲按照高優(yōu)先級義務在處置器上運轉的原那么進展義務調度器上運轉的原那么進展義務調度l或者說,在處置器上運轉的義務永遠是就或者說,在處置器上運轉的義務永遠是就緒義務中優(yōu)先級最高的義務緒義務中優(yōu)先級最高的義務l當優(yōu)先級高的義務能運轉時當優(yōu)先級高的義務能運轉時,保證其執(zhí)行保證其執(zhí)行時間,讓其盡快運轉完成時間,讓其盡快運轉完成l可搶占調度可搶占調度l假設優(yōu)先級高的義務因故假設優(yōu)先級高的義務因故(如等待事件如等待事件)暫停暫停運轉運轉, 那么讓次高優(yōu)先級的義務運轉那么讓次高優(yōu)先級的義務運轉l一旦高優(yōu)先級的義務又就緒因等待的事件一旦高優(yōu)先級的義務又就緒因

32、等待的事件到來而成為就緒到來而成為就緒,義務調度器迫使原運轉義務調度器迫使原運轉義務馬上讓出處置器給高優(yōu)先級的義務運用義務馬上讓出處置器給高優(yōu)先級的義務運用或稱該義務被搶占。義務在運轉過程中只能或稱該義務被搶占。義務在運轉過程中只能被中斷打斷搶占被中斷打斷搶占l由于需求進展額外的義務調度和義務切換,由于需求進展額外的義務調度和義務切換,因此帶來一定的時間開銷因此帶來一定的時間開銷l可搶占調度可搶占調度義務義務1義務義務2義務義務3優(yōu)先級優(yōu)先級高高低低時間時間義務義務2就緒就緒義務義務3就緒就緒義務義務2義務義務1l同優(yōu)先級義務的時間片輪轉調度算法同優(yōu)先級義務的時間片輪轉調度算法round-ro

33、bin定義定義l是指當有兩個或多個就緒義務具有一樣的優(yōu)是指當有兩個或多個就緒義務具有一樣的優(yōu)先級且它們是就緒義務中優(yōu)先級最高的義務先級且它們是就緒義務中優(yōu)先級最高的義務時,義務調度程序按照這組義務就緒的先后時,義務調度程序按照這組義務就緒的先后次序調度第一個義務,讓它運轉一段時間次序調度第一個義務,讓它運轉一段時間l運轉的這段時間稱為時間片運轉的這段時間稱為時間片(time slicing)l當義務運轉完一個時間片后,該義務即使還當義務運轉完一個時間片后,該義務即使還沒有停頓運轉,也必需釋放處置器讓下一個沒有停頓運轉,也必需釋放處置器讓下一個與它一樣優(yōu)先級的義務運轉與它一樣優(yōu)先級的義務運轉l同

34、優(yōu)先級義務的時間片輪轉調度算法同優(yōu)先級義務的時間片輪轉調度算法釋放處置器的義務被排到同優(yōu)先級就緒釋放處置器的義務被排到同優(yōu)先級就緒義務鏈的鏈尾,等待再次運轉義務鏈的鏈尾,等待再次運轉它使實時系統(tǒng)中優(yōu)先級一樣的義務具有它使實時系統(tǒng)中優(yōu)先級一樣的義務具有平等的運轉權益平等的運轉權益 l時間片的選擇時間片的選擇l- - 采用時間片輪轉調度算法時,義務的時間采用時間片輪轉調度算法時,義務的時間片大小要適中選擇。片大小要適中選擇。l- - 時間片大小的選擇會影響系統(tǒng)的性能和效時間片大小的選擇會影響系統(tǒng)的性能和效率率l時間片太大,時間片輪轉調度就沒有意義時間片太大,時間片輪轉調度就沒有意義l時間片太小,義

35、務切換過于頻繁,處置器開時間片太小,義務切換過于頻繁,處置器開銷大,真正用于運轉運用程序的時間將會減銷大,真正用于運轉運用程序的時間將會減小小l- - 不同的內(nèi)核在實現(xiàn)時間片輪轉調度算法上不同的內(nèi)核在實現(xiàn)時間片輪轉調度算法上能夠有一些差別:能夠有一些差別:l有的內(nèi)核允許同優(yōu)先級的各個義務有不一致有的內(nèi)核允許同優(yōu)先級的各個義務有不一致的時間片的時間片l有的內(nèi)核要求一樣優(yōu)先級的義務具有一致的有的內(nèi)核要求一樣優(yōu)先級的義務具有一致的時間片時間片 l時間片輪轉調度算法時間片輪轉調度算法義務義務1義務義務3優(yōu)先級優(yōu)先級高高低低時間時間義務義務3就緒就緒義務義務2義務義務1義務義務2義務義務2義務義務1義務

36、義務2lRM:Rate Monotonicl1973年年C.L.Liu和和J.W.Layland在在Journal of ACM Scheduling Algorithms for Multiprogramming in a Hard Real-time Environment.提出,最近得到普及。提出,最近得到普及。lRM算法的假設條件:算法的假設條件:l一切義務都是周期義務;一切義務都是周期義務;l義務之間不進展通訊,也不需求同步;義務之間不進展通訊,也不需求同步;l義務可以在任何位置被搶占,不存在臨界區(qū)。義務可以在任何位置被搶占,不存在臨界區(qū)。l周期義務的相關參數(shù):周期義務的相關參數(shù):l

37、義務周期義務周期T:指從該義務的一個實例到下一個:指從該義務的一個實例到下一個實例到達之間的時間總量實例到達之間的時間總量l義務的開場時間:義務到達開場運轉的時辰義務的開場時間:義務到達開場運轉的時辰l執(zhí)行時間執(zhí)行時間C:每個發(fā)生的義務所需求的處置時:每個發(fā)生的義務所需求的處置時間總量間總量l最后期限最后期限Deadline:義務必需完成的時辰:義務必需完成的時辰處置處置空閑空閑處置處置空閑空閑周期周期1周期周期2處置處置義務義務P,執(zhí)行時間,執(zhí)行時間C義務義務P,周期周期T周期性義務的時序圖周期性義務的時序圖NotationsTask set = 1, 2, ., mPeriods T1,

38、T2, T3, ., TmComputation times C1, C2, C3, ., Cm1/ Ti = rate of periodic task, i = number of instances of i per unit of timeUtilization of task setU = Si=1, . m Ci/Ti.If U 1, then there is no way to schedule the task set.It is easy to verify that all the instances of tasks can finishby their deadlin

39、es :-)1st instance2nd instance3rd instance1st instance2nd instance4th instance5th instance210654321t789100654321t78910Example 1. Consider a set of two tasks, 1, 2Let C1 = 1, C2 = 2, T1 = 2, and T2 = 5.Assign 1 the high priority and 2 the low priority.Assume that all the tasks start at t = 0. We have

40、 the followingexecutions of tasksAssigning priority differently may make a schedulable taskto be unschedulable!The 1stinstancemisseddeadline!2nd instance3rd instance1st instance2nd instance4thinstance5thinstance421065321t789100654321t78910Example 2. Consider the same set of two tasks, 1, 2Let C1 = 1

41、, C2 = 2, T1 = 2, and T2 = 5.Assign 1 the low priority and 2 the high priority.Assume that all the tasks start at t = 0. We have the followingexecutions of tasksExample 3. Consider a set of two tasks, 1, 2Let C1 = 1, C2 = 2.1, T1 = 2, and T2 = 5. U = C1/T1 + C2/T2 = 0.921st instance2nd instance3rd i

42、nstanceThe 1st instance2nd instance210654321t0654321tThe 1st instance of 2 did not finish before its deadline (5)!Assign 1 the low priority and 2 the high priority.Assign 1 the high priority and 2 the low priority.Even if U 100%,那么義務集不,那么義務集不能被調度;能被調度;l 假設義務集的利用率假設義務集的利用率U m(21/m - 1),那么義務,那么義務集一定能被

43、調度;集一定能被調度;l 假設義務集的利用率假設義務集的利用率U 69%,那么義務集一定,那么義務集一定能被調度;能被調度;l 否那么,需求用否那么,需求用RM算法實踐調度后確定義務集算法實踐調度后確定義務集能否被調度。能否被調度。1.00.8280.7790.7560.7430.7340.693123456無窮大n21/n-1nlEDF:Earliest Deadline Firstl1973年年C.L.Liu和和J.W.Layland在在Journal of ACM提出;提出;lEDF算法動態(tài)優(yōu)先級調度算法,適宜于可搶算法動態(tài)優(yōu)先級調度算法,適宜于可搶占式義務。占式義務。lEDF算法的假設

44、條件:算法的假設條件:l一切義務都是周期義務;一切義務都是周期義務;l每個義務必需在下一次懇求前完成,即義務每個義務必需在下一次懇求前完成,即義務周期為義務的截止時間;周期為義務的截止時間;l每個義務是獨立的,即一個義務的懇求不依每個義務是獨立的,即一個義務的懇求不依賴于其他義務的鼓勵或完成;賴于其他義務的鼓勵或完成;l義務在每個周期內(nèi)的計算時間都相等;義務在每個周期內(nèi)的計算時間都相等;l截止時間越短的義務具有越高的優(yōu)先級;截止時間越短的義務具有越高的優(yōu)先級;l義務可以在任何位置被搶占,不存在臨界區(qū)。義務可以在任何位置被搶占,不存在臨界區(qū)。lEDFEDF算法的優(yōu)點:可調度上限可以到達算法的優(yōu)點

45、:可調度上限可以到達100%100%;lEDFEDF算法的缺陷:要在系統(tǒng)運轉過程中計算法的缺陷:要在系統(tǒng)運轉過程中計算和確定義務的優(yōu)先級,調度開銷大,算和確定義務的優(yōu)先級,調度開銷大,不容易實現(xiàn)。不容易實現(xiàn)。l運轉義務由于資源條件不滿足被阻塞時,其它義運轉義務由于資源條件不滿足被阻塞時,其它義務獲取調度時機;務獲取調度時機;l當有一個優(yōu)先級更高的義務就緒可搶占式時,當有一個優(yōu)先級更高的義務就緒可搶占式時,調度此義務;調度此義務;l時間片輪轉調度情況下,運轉義務耗盡時間片時,時間片輪轉調度情況下,運轉義務耗盡時間片時,下一個義務被調度;下一個義務被調度;l中斷效力終了,退出效力程序,假設此時有更

46、高中斷效力終了,退出效力程序,假設此時有更高優(yōu)先級的義務到來可搶占式那么調度此高優(yōu)優(yōu)先級的義務到來可搶占式那么調度此高優(yōu)先級義務,否那么前往原被中斷義務。先級義務,否那么前往原被中斷義務。l優(yōu)先級反轉是一種不確定的延遲方式,經(jīng)常出現(xiàn)于優(yōu)先級反轉是一種不確定的延遲方式,經(jīng)常出現(xiàn)于存在共享資源的多義務、可搶占的執(zhí)行體中。存在共享資源的多義務、可搶占的執(zhí)行體中。l當高優(yōu)先級義務企圖訪問已被某低優(yōu)先級義務占有當高優(yōu)先級義務企圖訪問已被某低優(yōu)先級義務占有的共享資源時,就會引起優(yōu)先級反轉。的共享資源時,就會引起優(yōu)先級反轉。l高優(yōu)先級義務必需等待直到低優(yōu)先級義務釋放它占高優(yōu)先級義務必需等待直到低優(yōu)先級義務釋

47、放它占有的資源。假設該低優(yōu)先級義務又被一個或多個中有的資源。假設該低優(yōu)先級義務又被一個或多個中等優(yōu)先級義務阻塞,問題就更加嚴重。由于低優(yōu)先等優(yōu)先級義務阻塞,問題就更加嚴重。由于低優(yōu)先級義務得不到執(zhí)行就不能訪問資源、釋放資源。于級義務得不到執(zhí)行就不能訪問資源、釋放資源。于是,低優(yōu)先級義務就以一個不確定的時間阻塞高優(yōu)是,低優(yōu)先級義務就以一個不確定的時間阻塞高優(yōu)先級的義務,系統(tǒng)的實時性沒有保證。先級的義務,系統(tǒng)的實時性沒有保證。 義務義務A義務義務C占有資占有資源源D義務義務A搶占搶占義務義務C義務義務B義務義務A懇求資源懇求資源D被阻塞被阻塞優(yōu)先級優(yōu)先級 高高低低l 優(yōu)先級承繼是將低優(yōu)先級義務的優(yōu)

48、先級抬優(yōu)先級承繼是將低優(yōu)先級義務的優(yōu)先級抬升到等待它所占有的資源的高優(yōu)先級義務的升到等待它所占有的資源的高優(yōu)先級義務的優(yōu)先級。優(yōu)先級。l 每當高優(yōu)先級義務由于等待資源被阻塞,每當高優(yōu)先級義務由于等待資源被阻塞,此資源的擁有者的優(yōu)先級將會被抬升。此資源的擁有者的優(yōu)先級將會被抬升。l當義務釋放完它所占有的全部二進制信號當義務釋放完它所占有的全部二進制信號量時,它的優(yōu)先級才恢復到該義務創(chuàng)建時的量時,它的優(yōu)先級才恢復到該義務創(chuàng)建時的原始優(yōu)先級。原始優(yōu)先級。義務義務A義務義務C義務義務A搶占搶占義務義務C義務義務C義務義務A懇求資源懇求資源D被阻塞,義務被阻塞,義務C的優(yōu)先級暫時的優(yōu)先級暫時被抬升至被抬

49、升至A的優(yōu)的優(yōu)先級先級優(yōu)先級優(yōu)先級 高高低低義務義務AC釋放資源釋放資源D, A 搶 占 義搶 占 義務務Cl優(yōu)先級天花板算法是將懇求某資源的義優(yōu)先級天花板算法是將懇求某資源的義務的優(yōu)先級抬升到能夠訪問該資源的一切義務的優(yōu)先級抬升到能夠訪問該資源的一切義務中最高優(yōu)先級義務的優(yōu)先級。務中最高優(yōu)先級義務的優(yōu)先級。l這個優(yōu)先級稱為該資源的優(yōu)先級天花板這個優(yōu)先級稱為該資源的優(yōu)先級天花板l互斥信號量的優(yōu)先級天花板在它被創(chuàng)建互斥信號量的優(yōu)先級天花板在它被創(chuàng)建時指定時指定義務義務C義務義務C的優(yōu)先的優(yōu)先級被抬高到天級被抬高到天花板優(yōu)先級花板優(yōu)先級義務義務C優(yōu)先級優(yōu)先級 高高低低義務義務Al 優(yōu)先級天花板算法

50、防止了優(yōu)先級承繼算法優(yōu)先級天花板算法防止了優(yōu)先級承繼算法由于需求假設干次改動占有資源的義務的由于需求假設干次改動占有資源的義務的優(yōu)先級引入的額外開銷,具有較高的效率。優(yōu)先級引入的額外開銷,具有較高的效率。l優(yōu)先級天花板算法要求在互斥信號量被創(chuàng)優(yōu)先級天花板算法要求在互斥信號量被創(chuàng)建時就確定出能夠訪問競爭資源的義務情建時就確定出能夠訪問競爭資源的義務情況,從而獲得該資源的優(yōu)先級天花板。況,從而獲得該資源的優(yōu)先級天花板。l兩種算法對義務優(yōu)先級的改動在一定程度兩種算法對義務優(yōu)先級的改動在一定程度上都會影響運用中預先設定的義務流程。上都會影響運用中預先設定的義務流程。l對于優(yōu)先級承繼算法,只需在占有資源

51、的對于優(yōu)先級承繼算法,只需在占有資源的低優(yōu)先級義務阻塞高優(yōu)先級義務成為現(xiàn)實低優(yōu)先級義務阻塞高優(yōu)先級義務成為現(xiàn)實時才會采取相應的措施。時才會采取相應的措施。l對于優(yōu)先級天花板算法那么不論這個現(xiàn)實對于優(yōu)先級天花板算法那么不論這個現(xiàn)實能否發(fā)生都要采取相應的措施能否發(fā)生都要采取相應的措施l所以相對而言,優(yōu)先級承繼對運用中義所以相對而言,優(yōu)先級承繼對運用中義務流程的影響要小務流程的影響要小l對于這兩種算法都支持的內(nèi)核,運用程對于這兩種算法都支持的內(nèi)核,運用程序選擇哪種算法來處理優(yōu)先級反轉問題視序選擇哪種算法來處理優(yōu)先級反轉問題視實踐情況而定。實踐情況而定。 l廣義的中斷分類廣義的中斷分類l中斷:由于中斷

52、:由于CPU外部的緣由而改動程序執(zhí)外部的緣由而改動程序執(zhí)行流程的過程,屬于異步事件,又稱為硬行流程的過程,屬于異步事件,又稱為硬件中斷。件中斷。l自陷:表示經(jīng)過處置器所擁有的軟件指令,自陷:表示經(jīng)過處置器所擁有的軟件指令,可以預期地使處置器正在執(zhí)行的程序流程可以預期地使處置器正在執(zhí)行的程序流程發(fā)生變化,以執(zhí)行特定的程序。屬于同步發(fā)生變化,以執(zhí)行特定的程序。屬于同步事件。事件。l異常:異常:CPU自動產(chǎn)生的自陷,以處置異常自動產(chǎn)生的自陷,以處置異常事件。屬于同步事件。異常沒有對應的處事件。屬于同步事件。異常沒有對應的處置器指令,當異常事件發(fā)生時,處置器也置器指令,當異常事件發(fā)生時,處置器也需求無

53、條件地掛起當前運轉的程序,執(zhí)行需求無條件地掛起當前運轉的程序,執(zhí)行特定的處置程序。特定的處置程序。l根據(jù)硬件中斷能否可以被屏蔽,分為可屏根據(jù)硬件中斷能否可以被屏蔽,分為可屏蔽中斷和不可屏蔽中斷。蔽中斷和不可屏蔽中斷。l對于可屏蔽中斷,外部設備的中斷懇求信對于可屏蔽中斷,外部設備的中斷懇求信號普通需求先經(jīng)過號普通需求先經(jīng)過CPU外部的中斷控制器,外部的中斷控制器,再與再與CPU相應的引腳相連,可編程中斷控相應的引腳相連,可編程中斷控制器可以經(jīng)過軟件進展控制,以制止或是制器可以經(jīng)過軟件進展控制,以制止或是允許中斷。允許中斷。l對于不可屏蔽中斷是在任何時候都不可屏對于不可屏蔽中斷是在任何時候都不可屏

54、蔽的,這類中斷應隨時進展呼應。蔽的,這類中斷應隨時進展呼應。l從中斷源來說,中斷可以分為硬件中斷和軟從中斷源來說,中斷可以分為硬件中斷和軟件中斷。件中斷。l硬件中斷是由于硬件中斷是由于CPU外部的設備所產(chǎn)生的中外部的設備所產(chǎn)生的中斷,屬于異步事件,能夠在程序執(zhí)行的任何斷,屬于異步事件,能夠在程序執(zhí)行的任何位置發(fā)生,發(fā)生中斷的時間通常是不確定的。位置發(fā)生,發(fā)生中斷的時間通常是不確定的。l軟件中斷也稱為同步中斷或者自陷,經(jīng)過處軟件中斷也稱為同步中斷或者自陷,經(jīng)過處置器的軟件指令來實現(xiàn),產(chǎn)生中斷的時機是置器的軟件指令來實現(xiàn),產(chǎn)生中斷的時機是預知的,可根據(jù)需求在程序中進展設定。預知的,可根據(jù)需求在程序

55、中進展設定。l軟件中斷的處置程序以同步的方式進展執(zhí)行,軟件中斷的處置程序以同步的方式進展執(zhí)行,其處置方式同硬件中斷處置程序類似。其處置方式同硬件中斷處置程序類似。l軟件中斷是一種非常重要的機制,系統(tǒng)可經(jīng)軟件中斷是一種非常重要的機制,系統(tǒng)可經(jīng)過該機制在用戶方式執(zhí)行特權方式下的操作。過該機制在用戶方式執(zhí)行特權方式下的操作。l軟件中斷也是軟件調試的一個重要手段。軟件中斷也是軟件調試的一個重要手段。l從中斷信號的產(chǎn)生來看,根據(jù)中斷觸發(fā)的從中斷信號的產(chǎn)生來看,根據(jù)中斷觸發(fā)的方式,中斷可分為邊緣觸發(fā)中斷和電平觸方式,中斷可分為邊緣觸發(fā)中斷和電平觸發(fā)中斷。發(fā)中斷。l在邊緣觸發(fā)方式中,中斷線從低變到高或在邊緣

56、觸發(fā)方式中,中斷線從低變到高或是從高變到低時,中斷信號就被發(fā)送出去,是從高變到低時,中斷信號就被發(fā)送出去,并只需在下一次的從低到高或是從高到低并只需在下一次的從低到高或是從高到低時才會再度觸發(fā)中斷。時才會再度觸發(fā)中斷。l在電平方式中,硬件中斷線的電平發(fā)生變在電平方式中,硬件中斷線的電平發(fā)生變化時產(chǎn)生中斷信號,并且中斷信號的有效化時產(chǎn)生中斷信號,并且中斷信號的有效性將繼續(xù)堅持下去,直到中斷信號被去除。性將繼續(xù)堅持下去,直到中斷信號被去除。l根據(jù)中斷效力程序的調試方式,可以把中斷根據(jù)中斷效力程序的調試方式,可以把中斷分為向量中斷、直接中斷、間接中斷。分為向量中斷、直接中斷、間接中斷。l向量中斷是經(jīng)

57、過中斷向量來調用中斷效力程向量中斷是經(jīng)過中斷向量來調用中斷效力程序的方式。序的方式。l在直接中斷調用方式中,中斷對應的中斷效在直接中斷調用方式中,中斷對應的中斷效力程序的入口地址是一個固定值,當中斷發(fā)力程序的入口地址是一個固定值,當中斷發(fā)生時,程序執(zhí)行流程將直接跳轉到中斷效力生時,程序執(zhí)行流程將直接跳轉到中斷效力程序的入口地址,執(zhí)行中斷效力程序。程序的入口地址,執(zhí)行中斷效力程序。l在間接中斷中,中斷效力程序的入口地址由在間接中斷中,中斷效力程序的入口地址由存放器提供。存放器提供。l中斷處置的全過程分為中斷檢測、中斷呼應中斷處置的全過程分為中斷檢測、中斷呼應和中斷處置三個階段。和中斷處置三個階段

58、。l中斷檢測在每條指令終了時進展,檢測能否中斷檢測在每條指令終了時進展,檢測能否有中斷懇求或能否滿足異常條件。假設沒有有中斷懇求或能否滿足異常條件。假設沒有中斷信號,那么處置器繼續(xù)運轉,并經(jīng)過取中斷信號,那么處置器繼續(xù)運轉,并經(jīng)過取指周期取當前程序的下一條指令;假設有中指周期取當前程序的下一條指令;假設有中斷信號,將進入中斷呼應,對中斷進展處置。斷信號,將進入中斷呼應,對中斷進展處置。l中斷呼應是由處置器內(nèi)部硬件完成的中斷序中斷呼應是由處置器內(nèi)部硬件完成的中斷序列,而不是由程序執(zhí)行的。列,而不是由程序執(zhí)行的。l中斷處置即執(zhí)行中斷效力程序,用來處置自中斷處置即執(zhí)行中斷效力程序,用來處置自陷、異常

59、或是中斷。陷、異常或是中斷。l保管中斷效力程序將要運用的一切存放器的內(nèi)容,保管中斷效力程序將要運用的一切存放器的內(nèi)容,以便于在退出中斷效力程序之前進展恢復;以便于在退出中斷效力程序之前進展恢復;l假設中斷向量被多個設備所共享,為了確定產(chǎn)生假設中斷向量被多個設備所共享,為了確定產(chǎn)生該中斷信號的設備,需求輪詢這些設備的中斷形該中斷信號的設備,需求輪詢這些設備的中斷形狀存放器;狀存放器;l獲取中斷相關的其他信息;獲取中斷相關的其他信息;l對中斷進展詳細的處置;對中斷進展詳細的處置;l恢復保管的上下文;恢復保管的上下文;l執(zhí)行中斷前往指令,使執(zhí)行中斷前往指令,使CPU的控制前往到中斷的的控制前往到中斷

60、的程序繼續(xù)執(zhí)行。程序繼續(xù)執(zhí)行。l對于多個中斷,通??梢圆捎靡韵聝煞N方法對于多個中斷,通常可以采用以下兩種方法進展處置。進展處置。l在處置一個中斷的時候,制止再發(fā)生中斷。在處置一個中斷的時候,制止再發(fā)生中斷。這種處置方法又稱為非嵌套的中斷處置方式。這種處置方法又稱為非嵌套的中斷處置方式。在處置中斷的時候將屏蔽一切其他的中斷懇在處置中斷的時候將屏蔽一切其他的中斷懇求。求。l定義中斷優(yōu)先級,允許高優(yōu)先級的中斷打斷定義中斷優(yōu)先級,允許高優(yōu)先級的中斷打斷低優(yōu)先級的處置過程。這種處置方法又稱為低優(yōu)先級的處置過程。這種處置方法又稱為嵌套的中斷處置方式。中斷被分為多個優(yōu)先嵌套的中斷處置方式。中斷被分為多個優(yōu)先

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論