程序的執(zhí)行管理課件_第1頁
程序的執(zhí)行管理課件_第2頁
程序的執(zhí)行管理課件_第3頁
程序的執(zhí)行管理課件_第4頁
程序的執(zhí)行管理課件_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第五章程序的執(zhí)行管理何小其1第五章程序的執(zhí)行管理何小其1第五章具體內(nèi)容5.1程序的執(zhí)行級(jí)別5.2程序執(zhí)行管理基本原則5.3程序執(zhí)行周期的確定5.4時(shí)間表5.5基本級(jí)的隊(duì)列調(diào)度2第五章具體內(nèi)容5.1程序的執(zhí)行級(jí)別2執(zhí)行管理程序(1)執(zhí)行管理程序是面向?qū)崟r(shí)交換的操作系統(tǒng)。執(zhí)行管理程序功能 (1)進(jìn)程管理; (2)處理機(jī)管理; (3)存儲(chǔ)器管理; (4)I/O設(shè)備管理; (5)文件管理;

3執(zhí)行管理程序(1)執(zhí)行管理程序是面向?qū)崟r(shí)交換的操作系統(tǒng)。3執(zhí)行管理程序(2)進(jìn)程管理 操作系統(tǒng)對(duì)多任務(wù)的調(diào)度管理。處理機(jī)管理 對(duì)處理機(jī)內(nèi)部控制器的配置管理。4執(zhí)行管理程序(2)進(jìn)程管理4執(zhí)行管理程序(3)存儲(chǔ)器管理 即內(nèi)存管理,操作系統(tǒng)利用內(nèi)存分配算法,使用內(nèi)存分區(qū)、內(nèi)存池和內(nèi)存塊等概念來管理內(nèi)存,對(duì)外向用戶提供一些內(nèi)存操作API函數(shù),方便用戶創(chuàng)建內(nèi)存分區(qū)和申請(qǐng)內(nèi)存塊。由于嵌入式系統(tǒng)的實(shí)時(shí)性和可靠性要求,在程序設(shè)計(jì)時(shí)應(yīng)盡量避免使用動(dòng)態(tài)內(nèi)存分配。5執(zhí)行管理程序(3)存儲(chǔ)器管理5執(zhí)行管理程序(4)6執(zhí)行管理程序(4)6執(zhí)行管理程序(5)I/O設(shè)備管理 嵌入式操作系統(tǒng)為I/O設(shè)備提供簡(jiǎn)單、統(tǒng)一、與任何設(shè)備無關(guān)的接口。這些設(shè)備包括:面向字節(jié)設(shè)備,例如顯示終端或通信線隨機(jī)塊存取設(shè)備,例如磁盤虛擬設(shè)備,例如程序內(nèi)部的通信管道和套接字控制和監(jiān)視設(shè)備,例如數(shù)字和模擬I/O設(shè)備可以訪問遠(yuǎn)端設(shè)備的網(wǎng)絡(luò)設(shè)備7執(zhí)行管理程序(5)I/O設(shè)備管理7執(zhí)行管理程序(6)文件管理 嵌入式操作系統(tǒng)在文件系統(tǒng)和設(shè)備驅(qū)動(dòng)程序之間使用一種標(biāo)準(zhǔn)的I/O操作接口。這使得操作系統(tǒng)可以運(yùn)行多個(gè)相同或不同種類的文件系統(tǒng)。依據(jù)這些標(biāo)準(zhǔn)接口協(xié)議,用戶可以為嵌入式操作系統(tǒng)編寫用戶自己的文件系統(tǒng),并可以將文件系統(tǒng)與設(shè)備驅(qū)動(dòng)程序自由組合。8執(zhí)行管理程序(6)文件管理8執(zhí)行管理程序(7)嵌入式系統(tǒng)支持的幾種文件系統(tǒng)(以VXWORKS為例)dosFs文件系統(tǒng) 適用于塊存取設(shè)備(磁盤)的實(shí)時(shí)操作,與MS-DOS文件系統(tǒng)兼容。rawFs文件系統(tǒng) 提供一種簡(jiǎn)單的原始文件系統(tǒng)。該文件系統(tǒng)將磁盤當(dāng)作一個(gè)單獨(dú)的大文件。tapeFs文件系統(tǒng) 適用于不使用標(biāo)準(zhǔn)文件或目錄結(jié)構(gòu)的磁帶設(shè)備。實(shí)際上將磁帶盤當(dāng)作一個(gè)原始設(shè)備并將整個(gè)磁帶盤當(dāng)作一個(gè)大文件。9執(zhí)行管理程序(7)嵌入式系統(tǒng)支持的幾種文件系統(tǒng)(以VXWOR執(zhí)行管理程序(8)cdromFs文件系統(tǒng) 允許應(yīng)用程序從按造ISO9660標(biāo)準(zhǔn)文件系統(tǒng)格式化的CD-ROM設(shè)備上讀取文件。TSFS目標(biāo)服務(wù)器文件系統(tǒng) 通過Tornado軟件中的目標(biāo)服務(wù)器,使得目標(biāo)機(jī)可以訪問主機(jī)系統(tǒng)中的文件。TrueFFS文件系統(tǒng) 支持閃存設(shè)備的文件讀、寫。10執(zhí)行管理程序(8)cdromFs文件系統(tǒng)10程序的執(zhí)行管理實(shí)質(zhì)程序的執(zhí)行管理的實(shí)質(zhì)就是把程序劃分為幾種不同的優(yōu)先級(jí),按實(shí)時(shí)性要求調(diào)度各程序的執(zhí)行,實(shí)際就是對(duì)處理機(jī)的管理。11程序的執(zhí)行管理實(shí)質(zhì)程序的執(zhí)行管理的實(shí)質(zhì)就是把程序劃分為幾種不嵌入式操作系統(tǒng)的任務(wù)(1)嵌入式操作系統(tǒng)提供多任務(wù)機(jī)制,用于響應(yīng)現(xiàn)實(shí)世界中多重的、離散的時(shí)間。多任務(wù)機(jī)制構(gòu)造出多線程并發(fā)執(zhí)行的假象,但實(shí)際上,系統(tǒng)內(nèi)核是根據(jù)某種調(diào)度算法交錯(cuò)執(zhí)行的。12嵌入式操作系統(tǒng)的任務(wù)(1)嵌入式操作系統(tǒng)提供多任務(wù)機(jī)制,用于嵌入式操作系統(tǒng)的任務(wù)(2)任務(wù)的上下文 每個(gè)任務(wù)擁有各自的上下文,即擁有各自的CPU環(huán)境和系統(tǒng)資源(指任務(wù)被內(nèi)核調(diào)度執(zhí)行時(shí)所使用的資源)。上下文切換時(shí),任務(wù)的上下文保存在任務(wù)控制塊(TCB)中。13嵌入式操作系統(tǒng)的任務(wù)(2)任務(wù)的上下文13嵌入式操作系統(tǒng)的任務(wù)(3)任務(wù)的上下文包括:任務(wù)的執(zhí)行點(diǎn),即任務(wù)的程序計(jì)數(shù)器;CPU中的寄存器和浮點(diǎn)寄存器(可選);動(dòng)態(tài)變量和函數(shù)調(diào)用所需的堆棧;I/O操作分配的標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤輸出操作;一個(gè)延時(shí)定時(shí)器;一個(gè)時(shí)間片定時(shí)器;內(nèi)核控制結(jié)構(gòu);信號(hào)句柄;用于調(diào)試和性能監(jiān)視的值。14嵌入式操作系統(tǒng)的任務(wù)(3)任務(wù)的上下文包括:14嵌入式操作系統(tǒng)的任務(wù)(4)任務(wù)狀態(tài)轉(zhuǎn)變狀態(tài)符號(hào)描述就緒(READY)該狀態(tài)時(shí)任務(wù)僅等待CPU的狀態(tài),不等待其他任何資源阻塞(PEND)任務(wù)由于一些資源不可用而被阻塞時(shí)的狀態(tài)睡眠(DELAY)處于睡眠時(shí)的任務(wù)狀態(tài)掛起(SUSPEND)該狀態(tài)時(shí)任務(wù)不執(zhí)行,主要用于調(diào)試。掛起僅僅約束任務(wù)的執(zhí)行,并不約束狀態(tài)的轉(zhuǎn)變。表5-1任務(wù)狀態(tài)符號(hào)15嵌入式操作系統(tǒng)的任務(wù)(4)任務(wù)狀態(tài)轉(zhuǎn)變狀態(tài)符號(hào)描述就緒(RE嵌入式操作系統(tǒng)的任務(wù)(5)阻塞就緒睡眠掛起Taskinit()圖5-0-0任務(wù)狀態(tài)轉(zhuǎn)換16嵌入式操作系統(tǒng)的任務(wù)(5)阻塞就緒睡眠掛起Taskinit(程序調(diào)度方法(1)基于優(yōu)先級(jí)的搶占式任務(wù)調(diào)度 使用基于優(yōu)先級(jí)的搶占式任務(wù)調(diào)度算法,當(dāng)一個(gè)新任務(wù)優(yōu)先級(jí)高于系統(tǒng)當(dāng)前執(zhí)行任務(wù)的優(yōu)先級(jí)時(shí),它將搶占CPU執(zhí)行。因此系統(tǒng)內(nèi)核將確保CPU分配給就緒狀態(tài)的具有高優(yōu)先級(jí)的任務(wù)執(zhí)行。17程序調(diào)度方法(1)基于優(yōu)先級(jí)的搶占式任務(wù)調(diào)度17程序調(diào)度方法(2)T1T2T3T2T1時(shí)間優(yōu)先級(jí)高低=任務(wù)結(jié)束=任務(wù)搶占圖5-0-1優(yōu)先級(jí)搶占18程序調(diào)度方法(2)T1T2T3T2T1時(shí)間優(yōu)先級(jí)高低=任務(wù)程序調(diào)度方法(3)基于優(yōu)先級(jí)的搶占式任務(wù)調(diào)度的缺點(diǎn) 當(dāng)多個(gè)相同優(yōu)先級(jí)的任務(wù)需要共享一臺(tái)處理器時(shí),如果某個(gè)執(zhí)行的任務(wù)永不阻塞,那么它將一直獨(dú)占處理器,其他相同優(yōu)先級(jí)的任務(wù)都沒有機(jī)會(huì)執(zhí)行。19程序調(diào)度方法(3)基于優(yōu)先級(jí)的搶占式任務(wù)調(diào)度的缺點(diǎn)19程序調(diào)度方法(4)輪轉(zhuǎn)式調(diào)度 當(dāng)所有相同優(yōu)先級(jí)的任務(wù)處于就緒狀態(tài)時(shí),輪轉(zhuǎn)算法趨向于平均使用CPU。輪轉(zhuǎn)調(diào)度算法對(duì)所有相同優(yōu)先級(jí)的任務(wù),通過時(shí)間片獲得相同的CPU處理時(shí)間。在一組相同優(yōu)先級(jí)的任務(wù)里,每個(gè)任務(wù)將在規(guī)定的時(shí)間間隔或時(shí)間片內(nèi)執(zhí)行。20程序調(diào)度方法(4)輪轉(zhuǎn)式調(diào)度20程序調(diào)度方法(5)T4T3T2時(shí)間優(yōu)先級(jí)高低=任務(wù)結(jié)束=任務(wù)搶占T2T3T2T1時(shí)間片圖5-0-2輪轉(zhuǎn)調(diào)度21程序調(diào)度方法(5)T4T3T2時(shí)間優(yōu)先級(jí)高低=任務(wù)結(jié)束=5.1程序的執(zhí)行級(jí)別5.1.1程序級(jí)別程序級(jí)別(按照實(shí)時(shí)性要求分)故障級(jí)周期級(jí)基本級(jí)225.1程序的執(zhí)行級(jí)別5.1.1程序級(jí)別程序級(jí)別故障級(jí)周一、故障級(jí)故障級(jí)主要負(fù)責(zé)識(shí)別故障并緊急處理之。故障級(jí)對(duì)時(shí)間要求非常嚴(yán)格,一般要求一旦設(shè)備故障,就應(yīng)立即進(jìn)行故障處理,所以它的執(zhí)行級(jí)別最高。23一、故障級(jí)故障級(jí)主要負(fù)責(zé)識(shí)別故障并緊急處理之。23二、周期級(jí)也叫時(shí)鐘級(jí),嚴(yán)格按周期執(zhí)行程序,如撥號(hào)脈沖掃描程序。各種掃描程序以及超時(shí)判斷程序都屬于周期級(jí)。周期級(jí)程序在定時(shí)中斷的間隔執(zhí)行,其周期性由定時(shí)中斷保證。不同的周期級(jí)程序,其執(zhí)行周期是定時(shí)中斷的整數(shù)倍。24二、周期級(jí)也叫時(shí)鐘級(jí),嚴(yán)格按周期執(zhí)行程序,如撥號(hào)脈沖掃描程序三、基本級(jí)程序基本級(jí)程序:實(shí)時(shí)要求低,沒有周期性要求的程序。可以等待插空?qǐng)?zhí)行,可以由隊(duì)列啟動(dòng),如內(nèi)部處理程序。25三、基本級(jí)程序基本級(jí)程序:實(shí)時(shí)要求低,沒有周期性要求的程序。程序執(zhí)行級(jí)別故障級(jí)程序優(yōu)先級(jí)最高;其次是周期級(jí)程序;基本級(jí)程序級(jí)別最低。故障級(jí)周期級(jí)基本級(jí)優(yōu)先級(jí)高低26程序執(zhí)行級(jí)別故障級(jí)程序優(yōu)先級(jí)最高;故障級(jí)周期級(jí)基本級(jí)優(yōu)先級(jí)高CPU處理流程(1)正常情況下,由定時(shí)器發(fā)出定時(shí)中斷;(2)啟動(dòng)中斷服務(wù)程序;(3)由中斷服務(wù)程序調(diào)度,首先執(zhí)行周期級(jí)程序;(4)中斷返回,轉(zhuǎn)而執(zhí)行基本級(jí)程序,等待下一次定時(shí)中斷的到來。 以上過程中,只要有故障,立即進(jìn)行現(xiàn)場(chǎng)保護(hù),進(jìn)入故障級(jí)程序。27CPU處理流程(1)正常情況下,由定時(shí)器發(fā)出定時(shí)中斷;2728285.1.2空余時(shí)間從基本級(jí)程序處理完,到下一個(gè)定時(shí)中斷到來,一般都有一段空余時(shí)間(見圖5.1)??臻e時(shí)間的長(zhǎng)短隨話務(wù)量的變化而變化。為了避免CPU超負(fù)荷運(yùn)算,規(guī)定處理機(jī)的呼叫處理能力應(yīng)使得在忙時(shí)的大多數(shù)情況下,能在下次時(shí)鐘到來前執(zhí)行完基本級(jí)的處理任務(wù),也就是存在一點(diǎn)空余時(shí)間。295.1.2空余時(shí)間從基本級(jí)程序處理完,到下一個(gè)定時(shí)中斷到處理機(jī)負(fù)荷組成與話路無關(guān)部分,例如執(zhí)行管理程序的執(zhí)行。周期級(jí)程序,執(zhí)行時(shí)長(zhǎng)與話路設(shè)備數(shù)及話務(wù)量有關(guān)。基本級(jí)程序,主要決定于話務(wù)量??赏七t性工作,如例行測(cè)試和查核程序。對(duì)于此類工作,空余時(shí)間長(zhǎng)就多執(zhí)行一些,空閑時(shí)間少就少執(zhí)行或不執(zhí)行。30處理機(jī)負(fù)荷組成與話路無關(guān)部分,例如執(zhí)行管理程序的執(zhí)行。3031315.2程序執(zhí)行管理基本原則(1)基本級(jí)一般不在中斷服務(wù)程序中執(zhí)行,基本級(jí)程序可以看成是處理機(jī)所執(zhí)行的基本程序。(2)基本級(jí)在執(zhí)行中可被中斷插入而轉(zhuǎn)入中斷處理程序;(3)中斷級(jí)在執(zhí)行中,只允許高級(jí)別中斷進(jìn)入;(4)基本級(jí)被時(shí)鐘中斷插入后的恢復(fù)處理應(yīng)體現(xiàn)基本級(jí)中的級(jí)別。325.2程序執(zhí)行管理基本原則(1)基本級(jí)一般不在中斷服務(wù)程序333334345.3程序執(zhí)行周期的確定周期級(jí)程序包括輸入處理和輸出處理。輸出處理周期確定 如果話路設(shè)備動(dòng)作時(shí)間為t(ms),則話路設(shè)備驅(qū)動(dòng)輸出程序的周期可稍大于t(ms),一般與定時(shí)中斷周期成整數(shù)倍。輸入處理周期確定 其掃描周期取決于交換機(jī)容量、設(shè)備數(shù)量、計(jì)算機(jī)的處理能力、外設(shè)參數(shù)等等。若取8ms中斷一次,則周期級(jí)程序的執(zhí)行周期一般取8ms的整數(shù)倍,如位間隔的掃描周期96ms,雙音頻號(hào)碼識(shí)別周期16ms等。355.3程序執(zhí)行周期的確定周期級(jí)程序包括輸入處理和輸出處理。5.4時(shí)間表周期性執(zhí)行的程序有不同的執(zhí)行周期,如何按照預(yù)定的計(jì)劃,有條不紊地執(zhí)行各種程序,以滿足各種程序的不同執(zhí)行周期的要求。采用時(shí)間表是一種簡(jiǎn)便而有效的方法。365.4時(shí)間表周期性執(zhí)行的程序有不同的執(zhí)行周期,如何按照預(yù)定5.4.1基本概念圖5.5表示時(shí)間表的基本概念??v向?qū)?yīng)時(shí)間,每向下進(jìn)展一行代表一定的時(shí)間單位,實(shí)際上相當(dāng)于時(shí)鐘中斷的周期。橫向代表所管理的程序類別,每一位代表一種程序,總位數(shù)可為計(jì)算機(jī)字長(zhǎng)的整數(shù)倍,故一張時(shí)間表可容納的程序類別數(shù)等于字長(zhǎng)的整數(shù)倍。375.4.1基本概念圖5.5表示時(shí)間表的基本概念。3738385.4.2時(shí)間表實(shí)例假定時(shí)間表字長(zhǎng)為16位,各周期級(jí)程序及其啟動(dòng)周期如下:撥號(hào)脈沖計(jì)數(shù)程序,啟動(dòng)周期為8ms;雙音頻號(hào)碼識(shí)別程序,啟動(dòng)周期為16ms;位間隔識(shí)別程序,啟動(dòng)周期為96ms;摘機(jī)掃描程序,啟動(dòng)周期為96ms;送音控制程序,啟動(dòng)周期為48ms;時(shí)間計(jì)數(shù)器清零,啟動(dòng)周期為96ms;測(cè)試程序,啟動(dòng)周期為8ms;395.4.2時(shí)間表實(shí)例假定時(shí)間表字長(zhǎng)為16位,各周期級(jí)程序及404041415.5基本級(jí)的隊(duì)列調(diào)度基本級(jí)中的一部分具有周期性,可以用時(shí)間表控制執(zhí)行。實(shí)際上,基本級(jí)中的大部分處理任務(wù)沒有周期性,可采用隊(duì)列處理。一般同一級(jí)的處理要求按先到先處理的原則?;炯?jí)隊(duì)列處理的概念可用圖5.8說明。425.5基本級(jí)的隊(duì)列調(diào)度基本級(jí)中的一部分具有周期性,可以用時(shí)4343END!44END!44第五章程序的執(zhí)行管理何小其45第五章程序的執(zhí)行管理何小其1第五章具體內(nèi)容5.1程序的執(zhí)行級(jí)別5.2程序執(zhí)行管理基本原則5.3程序執(zhí)行周期的確定5.4時(shí)間表5.5基本級(jí)的隊(duì)列調(diào)度46第五章具體內(nèi)容5.1程序的執(zhí)行級(jí)別2執(zhí)行管理程序(1)執(zhí)行管理程序是面向?qū)崟r(shí)交換的操作系統(tǒng)。執(zhí)行管理程序功能 (1)進(jìn)程管理; (2)處理機(jī)管理; (3)存儲(chǔ)器管理; (4)I/O設(shè)備管理; (5)文件管理;

47執(zhí)行管理程序(1)執(zhí)行管理程序是面向?qū)崟r(shí)交換的操作系統(tǒng)。3執(zhí)行管理程序(2)進(jìn)程管理 操作系統(tǒng)對(duì)多任務(wù)的調(diào)度管理。處理機(jī)管理 對(duì)處理機(jī)內(nèi)部控制器的配置管理。48執(zhí)行管理程序(2)進(jìn)程管理4執(zhí)行管理程序(3)存儲(chǔ)器管理 即內(nèi)存管理,操作系統(tǒng)利用內(nèi)存分配算法,使用內(nèi)存分區(qū)、內(nèi)存池和內(nèi)存塊等概念來管理內(nèi)存,對(duì)外向用戶提供一些內(nèi)存操作API函數(shù),方便用戶創(chuàng)建內(nèi)存分區(qū)和申請(qǐng)內(nèi)存塊。由于嵌入式系統(tǒng)的實(shí)時(shí)性和可靠性要求,在程序設(shè)計(jì)時(shí)應(yīng)盡量避免使用動(dòng)態(tài)內(nèi)存分配。49執(zhí)行管理程序(3)存儲(chǔ)器管理5執(zhí)行管理程序(4)50執(zhí)行管理程序(4)6執(zhí)行管理程序(5)I/O設(shè)備管理 嵌入式操作系統(tǒng)為I/O設(shè)備提供簡(jiǎn)單、統(tǒng)一、與任何設(shè)備無關(guān)的接口。這些設(shè)備包括:面向字節(jié)設(shè)備,例如顯示終端或通信線隨機(jī)塊存取設(shè)備,例如磁盤虛擬設(shè)備,例如程序內(nèi)部的通信管道和套接字控制和監(jiān)視設(shè)備,例如數(shù)字和模擬I/O設(shè)備可以訪問遠(yuǎn)端設(shè)備的網(wǎng)絡(luò)設(shè)備51執(zhí)行管理程序(5)I/O設(shè)備管理7執(zhí)行管理程序(6)文件管理 嵌入式操作系統(tǒng)在文件系統(tǒng)和設(shè)備驅(qū)動(dòng)程序之間使用一種標(biāo)準(zhǔn)的I/O操作接口。這使得操作系統(tǒng)可以運(yùn)行多個(gè)相同或不同種類的文件系統(tǒng)。依據(jù)這些標(biāo)準(zhǔn)接口協(xié)議,用戶可以為嵌入式操作系統(tǒng)編寫用戶自己的文件系統(tǒng),并可以將文件系統(tǒng)與設(shè)備驅(qū)動(dòng)程序自由組合。52執(zhí)行管理程序(6)文件管理8執(zhí)行管理程序(7)嵌入式系統(tǒng)支持的幾種文件系統(tǒng)(以VXWORKS為例)dosFs文件系統(tǒng) 適用于塊存取設(shè)備(磁盤)的實(shí)時(shí)操作,與MS-DOS文件系統(tǒng)兼容。rawFs文件系統(tǒng) 提供一種簡(jiǎn)單的原始文件系統(tǒng)。該文件系統(tǒng)將磁盤當(dāng)作一個(gè)單獨(dú)的大文件。tapeFs文件系統(tǒng) 適用于不使用標(biāo)準(zhǔn)文件或目錄結(jié)構(gòu)的磁帶設(shè)備。實(shí)際上將磁帶盤當(dāng)作一個(gè)原始設(shè)備并將整個(gè)磁帶盤當(dāng)作一個(gè)大文件。53執(zhí)行管理程序(7)嵌入式系統(tǒng)支持的幾種文件系統(tǒng)(以VXWOR執(zhí)行管理程序(8)cdromFs文件系統(tǒng) 允許應(yīng)用程序從按造ISO9660標(biāo)準(zhǔn)文件系統(tǒng)格式化的CD-ROM設(shè)備上讀取文件。TSFS目標(biāo)服務(wù)器文件系統(tǒng) 通過Tornado軟件中的目標(biāo)服務(wù)器,使得目標(biāo)機(jī)可以訪問主機(jī)系統(tǒng)中的文件。TrueFFS文件系統(tǒng) 支持閃存設(shè)備的文件讀、寫。54執(zhí)行管理程序(8)cdromFs文件系統(tǒng)10程序的執(zhí)行管理實(shí)質(zhì)程序的執(zhí)行管理的實(shí)質(zhì)就是把程序劃分為幾種不同的優(yōu)先級(jí),按實(shí)時(shí)性要求調(diào)度各程序的執(zhí)行,實(shí)際就是對(duì)處理機(jī)的管理。55程序的執(zhí)行管理實(shí)質(zhì)程序的執(zhí)行管理的實(shí)質(zhì)就是把程序劃分為幾種不嵌入式操作系統(tǒng)的任務(wù)(1)嵌入式操作系統(tǒng)提供多任務(wù)機(jī)制,用于響應(yīng)現(xiàn)實(shí)世界中多重的、離散的時(shí)間。多任務(wù)機(jī)制構(gòu)造出多線程并發(fā)執(zhí)行的假象,但實(shí)際上,系統(tǒng)內(nèi)核是根據(jù)某種調(diào)度算法交錯(cuò)執(zhí)行的。56嵌入式操作系統(tǒng)的任務(wù)(1)嵌入式操作系統(tǒng)提供多任務(wù)機(jī)制,用于嵌入式操作系統(tǒng)的任務(wù)(2)任務(wù)的上下文 每個(gè)任務(wù)擁有各自的上下文,即擁有各自的CPU環(huán)境和系統(tǒng)資源(指任務(wù)被內(nèi)核調(diào)度執(zhí)行時(shí)所使用的資源)。上下文切換時(shí),任務(wù)的上下文保存在任務(wù)控制塊(TCB)中。57嵌入式操作系統(tǒng)的任務(wù)(2)任務(wù)的上下文13嵌入式操作系統(tǒng)的任務(wù)(3)任務(wù)的上下文包括:任務(wù)的執(zhí)行點(diǎn),即任務(wù)的程序計(jì)數(shù)器;CPU中的寄存器和浮點(diǎn)寄存器(可選);動(dòng)態(tài)變量和函數(shù)調(diào)用所需的堆棧;I/O操作分配的標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤輸出操作;一個(gè)延時(shí)定時(shí)器;一個(gè)時(shí)間片定時(shí)器;內(nèi)核控制結(jié)構(gòu);信號(hào)句柄;用于調(diào)試和性能監(jiān)視的值。58嵌入式操作系統(tǒng)的任務(wù)(3)任務(wù)的上下文包括:14嵌入式操作系統(tǒng)的任務(wù)(4)任務(wù)狀態(tài)轉(zhuǎn)變狀態(tài)符號(hào)描述就緒(READY)該狀態(tài)時(shí)任務(wù)僅等待CPU的狀態(tài),不等待其他任何資源阻塞(PEND)任務(wù)由于一些資源不可用而被阻塞時(shí)的狀態(tài)睡眠(DELAY)處于睡眠時(shí)的任務(wù)狀態(tài)掛起(SUSPEND)該狀態(tài)時(shí)任務(wù)不執(zhí)行,主要用于調(diào)試。掛起僅僅約束任務(wù)的執(zhí)行,并不約束狀態(tài)的轉(zhuǎn)變。表5-1任務(wù)狀態(tài)符號(hào)59嵌入式操作系統(tǒng)的任務(wù)(4)任務(wù)狀態(tài)轉(zhuǎn)變狀態(tài)符號(hào)描述就緒(RE嵌入式操作系統(tǒng)的任務(wù)(5)阻塞就緒睡眠掛起Taskinit()圖5-0-0任務(wù)狀態(tài)轉(zhuǎn)換60嵌入式操作系統(tǒng)的任務(wù)(5)阻塞就緒睡眠掛起Taskinit(程序調(diào)度方法(1)基于優(yōu)先級(jí)的搶占式任務(wù)調(diào)度 使用基于優(yōu)先級(jí)的搶占式任務(wù)調(diào)度算法,當(dāng)一個(gè)新任務(wù)優(yōu)先級(jí)高于系統(tǒng)當(dāng)前執(zhí)行任務(wù)的優(yōu)先級(jí)時(shí),它將搶占CPU執(zhí)行。因此系統(tǒng)內(nèi)核將確保CPU分配給就緒狀態(tài)的具有高優(yōu)先級(jí)的任務(wù)執(zhí)行。61程序調(diào)度方法(1)基于優(yōu)先級(jí)的搶占式任務(wù)調(diào)度17程序調(diào)度方法(2)T1T2T3T2T1時(shí)間優(yōu)先級(jí)高低=任務(wù)結(jié)束=任務(wù)搶占圖5-0-1優(yōu)先級(jí)搶占62程序調(diào)度方法(2)T1T2T3T2T1時(shí)間優(yōu)先級(jí)高低=任務(wù)程序調(diào)度方法(3)基于優(yōu)先級(jí)的搶占式任務(wù)調(diào)度的缺點(diǎn) 當(dāng)多個(gè)相同優(yōu)先級(jí)的任務(wù)需要共享一臺(tái)處理器時(shí),如果某個(gè)執(zhí)行的任務(wù)永不阻塞,那么它將一直獨(dú)占處理器,其他相同優(yōu)先級(jí)的任務(wù)都沒有機(jī)會(huì)執(zhí)行。63程序調(diào)度方法(3)基于優(yōu)先級(jí)的搶占式任務(wù)調(diào)度的缺點(diǎn)19程序調(diào)度方法(4)輪轉(zhuǎn)式調(diào)度 當(dāng)所有相同優(yōu)先級(jí)的任務(wù)處于就緒狀態(tài)時(shí),輪轉(zhuǎn)算法趨向于平均使用CPU。輪轉(zhuǎn)調(diào)度算法對(duì)所有相同優(yōu)先級(jí)的任務(wù),通過時(shí)間片獲得相同的CPU處理時(shí)間。在一組相同優(yōu)先級(jí)的任務(wù)里,每個(gè)任務(wù)將在規(guī)定的時(shí)間間隔或時(shí)間片內(nèi)執(zhí)行。64程序調(diào)度方法(4)輪轉(zhuǎn)式調(diào)度20程序調(diào)度方法(5)T4T3T2時(shí)間優(yōu)先級(jí)高低=任務(wù)結(jié)束=任務(wù)搶占T2T3T2T1時(shí)間片圖5-0-2輪轉(zhuǎn)調(diào)度65程序調(diào)度方法(5)T4T3T2時(shí)間優(yōu)先級(jí)高低=任務(wù)結(jié)束=5.1程序的執(zhí)行級(jí)別5.1.1程序級(jí)別程序級(jí)別(按照實(shí)時(shí)性要求分)故障級(jí)周期級(jí)基本級(jí)665.1程序的執(zhí)行級(jí)別5.1.1程序級(jí)別程序級(jí)別故障級(jí)周一、故障級(jí)故障級(jí)主要負(fù)責(zé)識(shí)別故障并緊急處理之。故障級(jí)對(duì)時(shí)間要求非常嚴(yán)格,一般要求一旦設(shè)備故障,就應(yīng)立即進(jìn)行故障處理,所以它的執(zhí)行級(jí)別最高。67一、故障級(jí)故障級(jí)主要負(fù)責(zé)識(shí)別故障并緊急處理之。23二、周期級(jí)也叫時(shí)鐘級(jí),嚴(yán)格按周期執(zhí)行程序,如撥號(hào)脈沖掃描程序。各種掃描程序以及超時(shí)判斷程序都屬于周期級(jí)。周期級(jí)程序在定時(shí)中斷的間隔執(zhí)行,其周期性由定時(shí)中斷保證。不同的周期級(jí)程序,其執(zhí)行周期是定時(shí)中斷的整數(shù)倍。68二、周期級(jí)也叫時(shí)鐘級(jí),嚴(yán)格按周期執(zhí)行程序,如撥號(hào)脈沖掃描程序三、基本級(jí)程序基本級(jí)程序:實(shí)時(shí)要求低,沒有周期性要求的程序??梢缘却蹇?qǐng)?zhí)行,可以由隊(duì)列啟動(dòng),如內(nèi)部處理程序。69三、基本級(jí)程序基本級(jí)程序:實(shí)時(shí)要求低,沒有周期性要求的程序。程序執(zhí)行級(jí)別故障級(jí)程序優(yōu)先級(jí)最高;其次是周期級(jí)程序;基本級(jí)程序級(jí)別最低。故障級(jí)周期級(jí)基本級(jí)優(yōu)先級(jí)高低70程序執(zhí)行級(jí)別故障級(jí)程序優(yōu)先級(jí)最高;故障級(jí)周期級(jí)基本級(jí)優(yōu)先級(jí)高CPU處理流程(1)正常情況下,由定時(shí)器發(fā)出定時(shí)中斷;(2)啟動(dòng)中斷服務(wù)程序;(3)由中斷服務(wù)程序調(diào)度,首先執(zhí)行周期級(jí)程序;(4)中斷返回,轉(zhuǎn)而執(zhí)行基本級(jí)程序,等待下一次定時(shí)中斷的到來。 以上過程中,只要有故障,立即進(jìn)行現(xiàn)場(chǎng)保護(hù),進(jìn)入故障級(jí)程序。71CPU處理流程(1)正常情況下,由定時(shí)器發(fā)出定時(shí)中斷;2772285.1.2空余時(shí)間從基本級(jí)程序處理完,到下一個(gè)定時(shí)中斷到來,一般都有一段空余時(shí)間(見圖5.1)??臻e時(shí)間的長(zhǎng)短隨話務(wù)量的變化而變化。為了避免CPU超負(fù)荷運(yùn)算,規(guī)定處理機(jī)的呼叫處理能力應(yīng)使得在忙時(shí)的大多數(shù)情況下,能在下次時(shí)鐘到來前執(zhí)行完基本級(jí)的處理任務(wù),也就是存在一點(diǎn)空余時(shí)間。735.1.2空余時(shí)間從基本級(jí)程序處理完,到下一個(gè)定時(shí)中斷到處理機(jī)負(fù)荷組成與話路無關(guān)部分,例如執(zhí)行管理程序的執(zhí)行。周期級(jí)程序,執(zhí)行時(shí)長(zhǎng)與話路設(shè)備數(shù)及話務(wù)量有關(guān)?;炯?jí)程序,主要決定于話務(wù)量??赏七t性工作,如例行測(cè)試和查核程序。對(duì)于此類工作,空余時(shí)間長(zhǎng)就多執(zhí)行一些,空閑時(shí)間少就少執(zhí)行或不執(zhí)行。74處理機(jī)負(fù)荷組成與話路無關(guān)部分,例如執(zhí)行管理程序的執(zhí)行。3075315.2程序執(zhí)行管理基本原則(1)基本級(jí)一般不在中斷服務(wù)程序中執(zhí)行,基本級(jí)程序可以看成是處理機(jī)所執(zhí)行的基本程序。(2)基本級(jí)在執(zhí)行中可被中斷插入而轉(zhuǎn)入中斷處理程序;(3)中斷級(jí)在執(zhí)行中,只允許高級(jí)別中斷進(jìn)入;(4)基本級(jí)被時(shí)鐘中斷插入后的恢復(fù)處理應(yīng)體現(xiàn)基本級(jí)中

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論