




已閱讀5頁,還剩105頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
嵌入式系統(tǒng)原理與應(yīng)用,信息安全工程學(xué)院 上海交通大學(xué),操作系統(tǒng)基礎(chǔ),內(nèi)核,內(nèi)核(kernel)是操作系統(tǒng)的內(nèi)部核心程序,它向外部提供了對計算機系統(tǒng)資源進行請求和管理的調(diào)用接口和服務(wù),內(nèi)核,可以將操作系統(tǒng)的代碼分成兩部分: 內(nèi)核所在的地址空間稱為內(nèi)核空間; 而在內(nèi)核以外,剩下的程序統(tǒng)稱為外部管理程序,它們大部分是對外圍設(shè)備的管理和界面操作,外部管理程序與用戶進程所占據(jù)的地址空間稱為外部空間。 通常,一個程序會跨越兩個空間。 當(dāng)執(zhí)行到內(nèi)核空間的一段代碼時,稱程序處于內(nèi)核態(tài) 當(dāng)程序執(zhí)行到外部空間代碼時,稱程序處于用戶態(tài)。,操作系統(tǒng)分類1,按照操作系統(tǒng)的內(nèi)核模式可以分為: 微內(nèi)核 大內(nèi)核 混合式內(nèi)核,微內(nèi)核模式,硬件,內(nèi)核級,用戶級,微內(nèi)核,客 戶 進 程,設(shè) 備 驅(qū) 動,文 件 服 務(wù),進 程 服 務(wù),其 他 管 理,微內(nèi)核,Mach 首先使用微內(nèi)核結(jié)構(gòu) 通過劃分系統(tǒng)程序和用戶程序,把所有不必要的部件移出內(nèi)核,形成一個小內(nèi)核 微內(nèi)核提供最少量的進程管理、存儲管理,以及通信功能,微內(nèi)核特點,接口一致(Uniform interface): 所有進程請求使用統(tǒng)一的接口,進程不需要區(qū)分內(nèi)核模式和用戶模式服務(wù),由于這些服務(wù)全部通過消息傳遞提供。,微內(nèi)核特點,擴展性(Extensibility): 由于新型硬件設(shè)備和新型軟件技術(shù)不斷發(fā)展,任何操作系統(tǒng)不可避免地需要修改,微內(nèi)核結(jié)構(gòu)允許加入新的服務(wù),支持在同一功能區(qū)內(nèi)提供多重服務(wù)。使用微內(nèi)核結(jié)構(gòu),加入一個新特點僅僅需要修改或者加入被選擇的服務(wù),新的或者修改的服務(wù)影響限制在系統(tǒng)的一個子集,進一步地,修改不需要建立一個新的內(nèi)核。,微內(nèi)核特點,移植性(Portability): 在微內(nèi)核結(jié)構(gòu)中,所有與特定處理機的代碼僅僅存在微內(nèi)核中,因此,需要將這個系統(tǒng)移植到新的處理機需要作的變化可以盡可能地少。,微內(nèi)核特點,可靠性(Reliability): 軟件規(guī)模越大,確保可靠性越難。盡管模塊化設(shè)計幫助我們增強了可靠性,但是微內(nèi)核結(jié)構(gòu)帶來了更多的收益。一個小型微內(nèi)核可以嚴(yán)格地進行測試,它使用少量的應(yīng)用程序接口有助于內(nèi)核模式之外的操作系統(tǒng)服務(wù)代碼提高質(zhì)量。系統(tǒng)只需要掌握一個有限數(shù)量的(API),程序員之間的相互交互也有限,因而對于系統(tǒng)其它組件的影響最小。,分布系統(tǒng)支持(Distributed system support): 微內(nèi)核適合于由分布操作系統(tǒng)控制的群集系統(tǒng)。當(dāng)一個消息從客戶發(fā)到服務(wù)器進程,該消息必須包含請求服務(wù)的標(biāo)識符。當(dāng)一個分布系統(tǒng)(如群集系統(tǒng))被配置為所有的進程和服務(wù)有唯一的標(biāo)識符,那么似乎在內(nèi)核模式下存在單一的系統(tǒng)映象,一個進程能夠在不知道目標(biāo)服務(wù)駐留在哪臺機器情況下發(fā)送消息。,微內(nèi)核特點,面向?qū)ο蟛僮飨到y(tǒng)(Object-oriented operating system): 微內(nèi)核結(jié)構(gòu)非常適合面向?qū)ο蟛僮飨到y(tǒng)的要求,一個面向?qū)ο蟮姆椒ㄓ兄谝粋€微內(nèi)核的設(shè)計和操作系統(tǒng)的模塊化擴充。將微內(nèi)核結(jié)構(gòu)和面向?qū)ο蟛僮飨到y(tǒng)原理結(jié)合起來的例子是組件的使用,組件是清楚定義了接口的對象,它們能夠互連起來以預(yù)制建筑塊的方式形成軟件,使用組件之間的接口實現(xiàn)組件之間的全部相互作用。,大內(nèi)核模式,硬件,進程管理,虛存管理,I/O設(shè)備管理,內(nèi)部進程通信,文件系統(tǒng),應(yīng)用程序,內(nèi)核級,用戶級,Windows內(nèi)核,Windows內(nèi)核變化,Windows號稱內(nèi)核版本7將走向小內(nèi)核模式,混合式內(nèi)核模式,硬件,進程管理,虛存管理,I/O設(shè)備管理,內(nèi)部進程通信,文件系統(tǒng),用戶進程,內(nèi)核級,用戶級,混合式內(nèi)核,其他管理,混合式內(nèi)核,Linux內(nèi)核屬于混合式內(nèi)核 參與Linux系統(tǒng)開發(fā)的程序員大多數(shù)為世界各地的黑客們。比起結(jié)構(gòu)的清晰,他們更加注重功能的強大和高效率的代碼。 他們將大量的精力花在優(yōu)化代碼上,而這樣的全局性優(yōu)化必然以損失結(jié)構(gòu)精煉作為代價,導(dǎo)致Linux中的每個部件都不能被輕易拆出,否則必然破壞整體效率。,Linux內(nèi)核,雖然Linux是一個混合式內(nèi)核操作系統(tǒng),但它與傳統(tǒng)的UNIX操作系統(tǒng)不同。 在普通單一內(nèi)核系統(tǒng)中,所有內(nèi)核代碼都是被靜態(tài)編譯和鏈接的。 而在Linux中,可以動態(tài)裝入和卸載內(nèi)核中的部分代碼。Linux中將這樣的代碼段稱做模塊(module),并對模塊給予了強有力的支持。在Linux中,可以在需要時自動裝入和卸載模塊。,Linux內(nèi)核的結(jié)構(gòu),LINUX操作系統(tǒng)的結(jié)構(gòu),2.4 vs. 2.6內(nèi)核的實時性比較,Linux 內(nèi)核,Linux 內(nèi)核主要由5 個模塊構(gòu)成,它們分別是: 進程調(diào)度模塊:控制進程對CPU 資源的使用 內(nèi)存管理模塊:確保所有進程能夠安全地共享機器主內(nèi)存區(qū);虛擬內(nèi)存管理 文件系統(tǒng)模塊:支持對外部設(shè)備的驅(qū)動和存儲 進程間通信模塊:支持多種進程間的信息交換方式 網(wǎng)絡(luò)接口模塊:提供對多種網(wǎng)絡(luò)通信標(biāo)準(zhǔn)的訪問并支持許多網(wǎng)絡(luò)硬件,內(nèi)核模塊之間的依賴關(guān)系,內(nèi)核模塊之間的依賴關(guān)系,所有的模塊都與進程調(diào)度模塊存在依賴關(guān)系。因為它們都需要依靠進程調(diào)度程序來掛起(暫停)或重新運行它們的進程。通常,一個模塊會在等待硬件操作期間被掛起,而在操作完成后才可繼續(xù)運行。,內(nèi)核模塊之間的依賴關(guān)系,進程調(diào)度子系統(tǒng)需要使用內(nèi)存管理器來調(diào)整一特定進程所使用的物理內(nèi)存空間。 進程間通信子系統(tǒng)則需要依靠內(nèi)存管理器來支持共享內(nèi)存通信機制。 虛擬文件系統(tǒng)也會使用網(wǎng)絡(luò)接口來支持網(wǎng)絡(luò)文件系統(tǒng)(NFS),同樣也能使用內(nèi)存管理子系統(tǒng)來提供內(nèi)存虛擬盤(ramdisk)設(shè)備。 而內(nèi)存管理子系統(tǒng)也會使用文件系統(tǒng)來支持內(nèi)存數(shù)據(jù)塊的交換操作。,操作系統(tǒng)分類2,按照操作系統(tǒng)的架構(gòu)可以分為: 整體 OS 分層 OS 客戶機/服務(wù)器 OS 虛擬機OS,整體式操作系統(tǒng),整體式/單塊式操作系統(tǒng)Monolithic OS 操作系統(tǒng)是包含了不同模塊的一整塊代碼集 難于調(diào)試 任何一處修改都可能影響其他模塊 Bug的修正可能帶來其他Bug的出現(xiàn) 任何過程可以調(diào)用其它任何過程,沒有考慮過程相互之間的依賴性和互操作性,整體式操作系統(tǒng)結(jié)構(gòu),硬 件,系統(tǒng)服務(wù),用戶態(tài),核心態(tài),應(yīng)用程序,應(yīng)用程序,整體式結(jié)構(gòu),分層操作系統(tǒng),分層操作系統(tǒng)Layered OS 比Monolithic OS好,如OSI Layer 操作系統(tǒng)劃分為若干層,在低層上構(gòu)建高層。底層(0層)為硬件;最高層( N層)為用戶層 考慮模塊化,層的選擇是每層只使用低層次的功能和服務(wù) 缺點 有時操作系統(tǒng)很難按照OSI進行分層,層次結(jié)構(gòu)內(nèi)核,層次結(jié)構(gòu),系統(tǒng)結(jié)構(gòu) - 簡單結(jié)構(gòu),MS-DOS-以最小的空間提供最多的功能 不劃分模塊 盡管MS-DOS有某種結(jié)構(gòu),其接口和功能層沒有劃分清楚,MS-DOS,UNIX,UNIX - 受硬件功能限制,早期UNIX只是有限的結(jié)構(gòu)化。 UNIX包括2個分離的部分 系統(tǒng)程序 內(nèi)核 包括了在物理硬件之上,系統(tǒng)調(diào)用之下的一切 提供文件系統(tǒng), CPU調(diào)度,存儲管理,和其他操作系統(tǒng)功能 ;每一層有大量的功能,UNIX系統(tǒng)結(jié)構(gòu),操作系統(tǒng)層,THE OS的層次化結(jié)構(gòu),THE操作系統(tǒng)首先使用層次化設(shè)計。有如下六層:,OS/2層次化結(jié)構(gòu),DeltaCORE的體系結(jié)構(gòu):層次模塊結(jié)構(gòu),應(yīng)用程序,任務(wù)管理,硬 件,用戶擴展處理,調(diào)度管理,硬件抽象層,應(yīng)用編程接口,內(nèi)存管理,中斷管理,時鐘/定時器管理,I/O管理,出錯處理,同步、通信管理(消息隊列,信號量,事件,異步信號)),分層次,模塊化,客戶機/服務(wù)器操作系統(tǒng),客戶機/服務(wù)器操作系統(tǒng)Client-Server OS 最新的模型 最小的有限的操作系統(tǒng)功能 (scheduler and synchronization primitive) 其他所有功能當(dāng)做系統(tǒng)任務(wù)運行 應(yīng)用軟件作為客戶機通過系統(tǒng)調(diào)用要求服務(wù)器服務(wù)軟件提供服務(wù)。,客戶機/服務(wù)器操作系統(tǒng),優(yōu)點 易于調(diào)試 將任務(wù)分配多個微處理器上非常簡單。 可以動態(tài)裝載或卸載各種模塊。 缺點 由于內(nèi)存保護,系統(tǒng)消耗較大 必須保護系統(tǒng)進程 當(dāng)應(yīng)用軟件切換到服務(wù)器內(nèi)存空間時需要消耗時間。,客戶/服務(wù)器結(jié)構(gòu),硬 件,進程服務(wù),用戶態(tài),核心態(tài),應(yīng)用程序客戶,內(nèi)存服務(wù),微內(nèi)核,文件服務(wù),網(wǎng)絡(luò)服務(wù),顯示服務(wù),發(fā)送,應(yīng)答,客戶/服務(wù)器結(jié)構(gòu)(微內(nèi)核結(jié)構(gòu)),QNX4.25的體系結(jié)構(gòu),用戶模式,應(yīng)用,應(yīng)用,應(yīng)用,網(wǎng)絡(luò)管理器,圖形管理器,設(shè)備管理器,文件系統(tǒng)管理器,網(wǎng)絡(luò)驅(qū)動,圖形驅(qū)動,設(shè)備驅(qū)動,文件系統(tǒng)驅(qū)動,硬 件,內(nèi)核模式 內(nèi)核(微內(nèi)核),QNX4.25的體系結(jié)構(gòu):客戶/服務(wù)器結(jié)構(gòu),Windows 客戶機/服務(wù)器結(jié)構(gòu),虛擬機系統(tǒng),例如:windowsNT下的MS-dos方式,操作系統(tǒng)分類3,操作系統(tǒng)按照調(diào)度方式區(qū)分 可剝奪型內(nèi)核 不剝奪型內(nèi)核,不可剝奪型內(nèi)核,不可剝奪型內(nèi)核(或非搶占式內(nèi)核,Non-Preemptive Kernel) 每個任務(wù)自我放棄CPU的所有權(quán)。 各個任務(wù)彼此合作共享一個CPU。 異步事件還是由中斷服務(wù)來處理。中斷服務(wù)可以使一個高優(yōu)先級的任務(wù)由掛起狀態(tài)變?yōu)榫途w狀態(tài)。但中斷服務(wù)以后控制權(quán)還是回到原來被中斷了的那個任務(wù),直到該任務(wù)主動放棄CPU的使用權(quán)時,那個高優(yōu)先級的任務(wù)才能獲得CPU的使用權(quán)。,不可剝奪型內(nèi)核優(yōu)點,響應(yīng)中斷快。 在任務(wù)級,允許使用不可重入函數(shù)。 每個任務(wù)都可以調(diào)用非可重入性函數(shù),而不必擔(dān)心其它任務(wù)可能正在使用該函數(shù),從而造成數(shù)據(jù)的破壞。因為每個任務(wù)要運行到完成時才釋放CPU的控制權(quán)。當(dāng)然該不可重入型函數(shù)本身不得有放棄CPU控制權(quán)的企圖。 幾乎不需要使用信號量保護共享數(shù)據(jù)。 運行著的任務(wù)占有CPU,而不必擔(dān)心被別的任務(wù)搶占。但這也不是絕對的,在某種情況下,信號量還是用得著的。處理共享I/O設(shè)備時仍需要使用互斥型信號量。 例如,在打印機的使用上,仍需要滿足互斥條件。,不可剝奪型內(nèi)核缺點,最大缺陷在于其響應(yīng)時間。 高優(yōu)先級的任務(wù)已經(jīng)進入就緒態(tài),但還不能運行,要等,也許要等很長時間,直到當(dāng)前運行著的任務(wù)釋放CPU。與前后系統(tǒng)一樣,不可剝奪型內(nèi)核的任務(wù)級響應(yīng)時間是不確定的,不知道什么時候最高優(yōu)先級的任務(wù)才能拿到CPU的控制權(quán),完全取決于應(yīng)用程序什么時候釋放CPU。 不可剝奪型內(nèi)核允許每個任務(wù)運行,直到該任務(wù)自愿放棄CPU的控制權(quán)。中斷可以打入運行著的任務(wù)。中斷服務(wù)完成以后將CPU控制權(quán)還給被中斷了的任務(wù)。任務(wù)級響應(yīng)時間要大大好于前后系統(tǒng),但仍是不可知的,商業(yè)軟件幾乎沒有不可剝奪型內(nèi)核。,不可剝奪型內(nèi)核運行原理,低優(yōu)先 級任務(wù),ISR,低優(yōu) 先級 任務(wù),高優(yōu) 先級 任務(wù),任務(wù)正在運行,中斷到來,中斷原來任務(wù),執(zhí)行中斷服務(wù)子程序,使一個 高優(yōu)先級任務(wù)進入就緒狀態(tài) 由于是不可剝奪型內(nèi)核,低優(yōu) 先級任務(wù)未執(zhí)行完畢,高優(yōu) 先級任務(wù)不能立即執(zhí)行,中斷返回,繼續(xù)執(zhí)行原來任務(wù),任務(wù)執(zhí)行完畢,控制權(quán)交給 高優(yōu)先級、已就緒任務(wù),高優(yōu)先級任務(wù)開始執(zhí)行,可剝奪型內(nèi)核,當(dāng)系統(tǒng)響應(yīng)時間很重要時,要使用可剝奪型內(nèi)核(或搶占式內(nèi)核,Preemptive Kernel)。 最高優(yōu)先級的任務(wù)一旦就緒,總能得到CPU的控制權(quán)。 當(dāng)一個運行著的任務(wù)使一個比它優(yōu)先級高的任務(wù)進入了就緒態(tài),當(dāng)前任務(wù)的CPU使用權(quán)就被剝奪了,或者說被掛起了,那個高優(yōu)先級的任務(wù)立刻得到了CPU的控制權(quán)。 如果是中斷服務(wù)子程序使一個高優(yōu)先級的任務(wù)進入就緒態(tài),中斷完成時,中斷了的任務(wù)被掛起,優(yōu)先級高的那個任務(wù)開始運行。,可剝奪型內(nèi)核,最高優(yōu)先級的任務(wù)什么時候可以執(zhí)行,可以得到CPU的控制權(quán)是可知的。 任務(wù)級響應(yīng)時間得以最優(yōu)化。 使用可剝奪型內(nèi)核時,應(yīng)用程序不應(yīng)直接使用不可重入型函數(shù)。調(diào)用不可重入型函數(shù)時,要滿足互斥條件,這一點可以用互斥型信號量來實現(xiàn)。如果調(diào)用不可重入型函數(shù)時,低優(yōu)先級的任務(wù)CPU的使用權(quán)被高優(yōu)先級任務(wù)剝奪,不可重入型函數(shù)中數(shù)據(jù)有可能被破壞。 可剝奪型內(nèi)核總是讓就緒態(tài)的高優(yōu)先級的任務(wù)先運行,中斷服務(wù)程序可以搶占CPU,到中斷服務(wù)完成時,內(nèi)核讓此時優(yōu)先級最高的任務(wù)運行(不一定是那個被中斷了的任務(wù))。任務(wù)級系統(tǒng)響應(yīng)時間得到了最優(yōu)化,且是可知的。,可剝奪型內(nèi)核運行原理,低優(yōu)先 級任務(wù),ISR,高優(yōu) 先級 任務(wù),低優(yōu) 先級 任務(wù),低優(yōu)先級任務(wù)正在運行,中斷到來,中斷當(dāng)前任務(wù),中斷服務(wù)完成,退出中斷 進入新的優(yōu)先級更高的任務(wù),新任務(wù)執(zhí)行,新任務(wù)執(zhí)行完畢, 控制權(quán)還給原來的任務(wù),繼續(xù)執(zhí)行原來的任務(wù),執(zhí)行中斷服務(wù),把另一個任務(wù) 置為高優(yōu)先級、就緒狀態(tài),區(qū)別,應(yīng)用,內(nèi)核,插入中斷,應(yīng)用,內(nèi)核,ISR,內(nèi)核,ISR,退出,ISR,中斷任務(wù)響應(yīng),中斷延時時間,重新安排延時時間,任務(wù),搶占式內(nèi)核,非搶占式內(nèi)核,操作系統(tǒng)分類4,順序執(zhí)行系統(tǒng) 分時操作系統(tǒng) 實時操作系統(tǒng),順序執(zhí)行系統(tǒng),順序執(zhí)行系統(tǒng) 系統(tǒng)內(nèi)只含有一個程序,獨占CPU的運行時間,按語句順序執(zhí)行該程序,直至執(zhí)行完畢,另一程序才能啟動運行。如DOS操作系統(tǒng)。,分時操作系統(tǒng),分時操作系統(tǒng) 軟件的執(zhí)行在時間上的要求,并不嚴(yán)格,時間上的錯誤,一般不會造成災(zāi)難性的后果。 系統(tǒng)內(nèi)同時可以有多個程序運行,把CPU的時間分按順序分成若干片,每個時間片內(nèi)執(zhí)行不同的程序。如UNIX,實時操作系統(tǒng),實時操作系統(tǒng) 系統(tǒng)內(nèi)有多個程序運行,每個程序有不同的優(yōu)先級,只有最高優(yōu)先級的任務(wù)才能占有CPU的控制權(quán)。 主要任務(wù)是對事件進行實時的處理,雖然事件可能在無法預(yù)知的時刻到達,但是軟件上必須在事件發(fā)生時能夠在嚴(yán)格的時限內(nèi)作出響應(yīng)(系統(tǒng)響應(yīng)時間),即使能夠響應(yīng),但是超出了時限,系統(tǒng)時間響應(yīng)的超時就意味著致命的失敗。 另外,實時操作系統(tǒng)的重要特點是具有系統(tǒng)的可確定性,即系統(tǒng)能對運行情況的最好和最壞等的情況能做出精確的估計,嵌入式操作系統(tǒng),發(fā)展歷程,無操作系統(tǒng)的嵌入算法階段,以嵌入式CPU為基礎(chǔ)、以簡單操作系統(tǒng)為核心的嵌入式系統(tǒng),通用的嵌入式實時操作系統(tǒng)階段,基于Internet的嵌入式系統(tǒng),第一階段,無操作系統(tǒng)的嵌入算法階段 以單芯片為核心的可編程控制器形式的系統(tǒng)。 具有與監(jiān)測、伺服、指示設(shè)備相配合的功能。 大部分應(yīng)用于一些專業(yè)性極強的工業(yè)控制系統(tǒng)中 一般沒有操作系統(tǒng)的支持,通過匯編語言編程對系統(tǒng)進行直接控制,運行結(jié)束后清除內(nèi)存。 特點: 系統(tǒng)結(jié)構(gòu)和功能都相對單一 處理效率較低 存儲容量較小 幾乎沒有用戶接口。 使用簡便、價格很低,第二階段,以嵌入式CPU為基礎(chǔ)、以簡單操作系統(tǒng)為核心的嵌入式系統(tǒng)。 特點 CPU種類繁多 通用性比較差 系統(tǒng)開銷小 效率高 一般配備系統(tǒng)仿真器,操作系統(tǒng)具有一定的兼容性和擴展性 應(yīng)用軟件較專業(yè),用戶界面不夠友好 系統(tǒng)主要用來控制系統(tǒng)負載以及監(jiān)控應(yīng)用程序運行,第三階段,通用的以嵌入式操作系統(tǒng)為核心的嵌入式實時系統(tǒng)階段 特點 嵌入式操作系統(tǒng)能運行于各種不同類型的微處理器上,兼容性好; 操作系統(tǒng)內(nèi)核精小、效率高,并且具有高度的模塊化和擴展性 具備文件和目錄管理、設(shè)備支持、多任務(wù)、網(wǎng)絡(luò)支持、圖形窗口以及用戶界面等功能 具有大量的應(yīng)用程序接口(API),開發(fā)應(yīng)用程序簡單 嵌入式應(yīng)用軟件豐富。,第四階段,基于Internet為標(biāo)志的嵌入式系統(tǒng) 正在迅速發(fā)展的階段。 目前大多數(shù)嵌入式系統(tǒng)還孤立于Internet之外,但隨著Internet的發(fā)展以及Internet技術(shù)與信息家電、工業(yè)控制技術(shù)等結(jié)合日益密切,嵌入式設(shè)備與Internet的結(jié)合將代表著嵌入式技術(shù)的真正未來。,嵌入式操作系統(tǒng)的演變,*Percent of total software supplied by RTOS vendor in a typical embedded device,Application,Application,Application,Application,依賴于相關(guān)技術(shù)的發(fā)展,嵌入式操作系統(tǒng)技術(shù)現(xiàn)狀,適應(yīng)不同的嵌入式硬件平臺,具有可移植、可伸縮能力。 采用的主要技術(shù): 編程語言普遍采用高級語言實現(xiàn),主要以C語言為主。 體系結(jié)構(gòu)采用分層和模塊化結(jié)構(gòu)或微內(nèi)核結(jié)構(gòu)。,嵌入式操作系統(tǒng)技術(shù)現(xiàn)狀,分層和模塊化結(jié)構(gòu),將操作系統(tǒng)分為: 硬件無關(guān)層 硬件抽象層 硬件相關(guān)層 每層再劃分功能模塊 移植工作集中在硬件相關(guān)層,與其余兩層無關(guān) 功能的伸縮集中在模塊上,從而確保了系統(tǒng)具有良好的可移植性和可伸縮性。,嵌入式操作系統(tǒng)技術(shù)現(xiàn)狀,功能復(fù)雜,具有可剪裁、可配置的能力 采用的主要技術(shù): 可剪裁技術(shù)。操作系統(tǒng)以內(nèi)核為中心,包括很多獨立的功能組件如文件、網(wǎng)絡(luò)等。除內(nèi)核外其他組件的選擇任意搭配,由應(yīng)用決定。 可配置技術(shù)。每個功能組件都可以根據(jù)應(yīng)用的要求進行配置,比如最大任務(wù)數(shù)、內(nèi)存地址、堆棧大小、系統(tǒng)任務(wù)的優(yōu)先級、緩沖區(qū)大小及文件數(shù)等。,嵌入式操作系統(tǒng)技術(shù)現(xiàn)狀,良好的實時性:時間確定性是嵌入式實時操作系統(tǒng)必備的特點,特別對于強實時嵌入式系統(tǒng)而言尤為重要。 采用的主要技術(shù): 采用實時調(diào)度算法。主要采用靜態(tài)優(yōu)先級的可搶占式調(diào)度、比率單調(diào)算法等。 采用內(nèi)存靜態(tài)分配策略和零拷貝技術(shù)保證確定性。 內(nèi)存管理不采用虛存管理機制 采用優(yōu)先級繼承和優(yōu)先級天花板兩種技術(shù)解決優(yōu)先級反轉(zhuǎn)(倒置)問題,嵌入式操作系統(tǒng)技術(shù)現(xiàn)狀,可靠性和高可用 采用的主要技術(shù): 利用存儲管理單元(MMU)、用戶態(tài)和核心態(tài)機制,實現(xiàn)操作系統(tǒng)與應(yīng)用程序的隔離,以及應(yīng)用程序和應(yīng)用程序之間的隔離,以防止應(yīng)用程序破壞操作系統(tǒng)的代碼、數(shù)據(jù)。,嵌入式操作系統(tǒng)的發(fā)展趨勢,體系結(jié)構(gòu)向微內(nèi)核方向發(fā)展 可伸縮、可移植、可剪裁、可配置 行業(yè)的標(biāo)準(zhǔn):多種操作系統(tǒng)平臺,應(yīng)用決定操作系統(tǒng) 結(jié)構(gòu)緊湊、功能強大 高可用(High Available)、高可靠(High Reliable )、支持多處理器和分布式計算 可動態(tài)加載和升級軟件 與開發(fā)工具有機的結(jié)合起來,行業(yè)標(biāo)準(zhǔn),行業(yè)性嵌入式軟硬件平臺 嵌入式系統(tǒng)是以應(yīng)用為中心的系統(tǒng),不會象PC一樣只有一種平臺 吸取PC的成功經(jīng)驗,形成不同行業(yè)的標(biāo)準(zhǔn)。 統(tǒng)一的行業(yè)標(biāo)準(zhǔn)具有開放、設(shè)計技術(shù)共享、軟硬件重用、構(gòu)件兼容、維護方便和合作生產(chǎn)的特點,是增強行業(yè)性產(chǎn)品競爭能力的有效手段。,嵌入式操作系統(tǒng)架構(gòu),實時操作系統(tǒng)內(nèi)核,實時操作系統(tǒng)組成,最簡內(nèi)核納核,實時操作系統(tǒng)內(nèi)核代碼大約1K到100K 用戶可裁減掉程序員認(rèn)為沒有使用到的功能,直到只剩下最簡內(nèi)核(任務(wù)的管理與調(diào)度,稱其為納核,可以只有8k) 如何得到最簡內(nèi)核是嵌入式系統(tǒng)開發(fā)中非常重要的一環(huán)!,什么樣的OS才是實時OS呢?,實時操作系統(tǒng)IEEE實時UNIX分委會要求 異步的事件響應(yīng) 切換時間和中斷延遲時間確定 優(yōu)先級中斷和調(diào)度 搶占式調(diào)度 內(nèi)存鎖定 連續(xù)文件 同步,按實時性分類,強實時系統(tǒng),其系統(tǒng)響應(yīng)時間在毫秒或微秒級(數(shù)控機床); 一般實時系統(tǒng),其系統(tǒng)響應(yīng)時間在毫秒幾秒的數(shù)量級上,其實時性的要求比強實時系統(tǒng)要差一些(電子菜譜的查詢)。 弱實時系統(tǒng),其系統(tǒng)響應(yīng)時間約為數(shù)十秒或更長(工程機械)。,移植而來的嵌入式實時操作系統(tǒng),通用操作系統(tǒng)移植到嵌入式系統(tǒng)中,形成的嵌入式操作系統(tǒng)。 嵌入式 Windows NT/XP SUN Java 操作系統(tǒng) 朗訊科技公司Inferno 嵌入式Linux 等,實時操作系統(tǒng),實時操作系統(tǒng) WindRiver 公司的VxWorks ISI 的pSOS QNX 系統(tǒng)軟件公司的QNX ATI 的Nucleus 中國科學(xué)院凱思集團的Hopen 嵌入式操作系統(tǒng) 等等,專用實時操作系統(tǒng),辦公設(shè)備 WinCE,Palm 手機 Nokia、 Motorala的EPOC 等等,硬實時操作系統(tǒng),客戶可以設(shè)置任務(wù)的優(yōu)先級 任務(wù)根據(jù)優(yōu)先級運行 搶先式內(nèi)核 沒有虛擬內(nèi)存,嵌入式操作系統(tǒng),許多嵌入式操作系統(tǒng)的內(nèi)核是微內(nèi)核結(jié)構(gòu) 許多嵌入式操作系統(tǒng)都不支持磁盤 根本不支持文件系統(tǒng) 結(jié)構(gòu)上為了設(shè)備驅(qū)動而支持文件系統(tǒng),但不支持文件系統(tǒng)的文件存儲功能,嵌入式操作系統(tǒng)特點,許多嵌入式操作系統(tǒng)不采用存儲管理技術(shù),即不支持虛擬存儲技術(shù) 許多嵌入式操作系統(tǒng)不劃分“系統(tǒng)空間”和“用戶空間” 操作系統(tǒng)的“內(nèi)核”與外圍應(yīng)用程序之間不再有物理的邊界; 系統(tǒng)中所謂“進程”實際上全都是內(nèi)核線程 靜態(tài)連接、系統(tǒng)調(diào)用、進程調(diào)度/切換,嵌入式操作系統(tǒng)特點,對任何一個應(yīng)用程序做細微的修改,都得重新生成整個系統(tǒng),并且“下載”之; 系統(tǒng)調(diào)用的界面太龐大; 共享變量的訪問,需要謹(jǐn)慎對待; 把通用操作系統(tǒng)上的應(yīng)用移植過來需考慮“可重入”的問題;,嵌入式操作系統(tǒng)特點,不分系統(tǒng)空間和用戶空間 必須靜態(tài)連接 如DOS、CP/M的INT21 不分系統(tǒng)空間和用戶空間 不能用頁面映射技術(shù) 但只用于不同進程之間,而非不同空間之間 即使采用了存儲管理,基本上都不采用頁面交換技術(shù) 重啟動技術(shù)(watch dog),你聽說過哪些實時操作系統(tǒng)?,ucOS,特點 uc/os采用可剝奪型實時多任務(wù)內(nèi)核 uc/os適合小型控制系統(tǒng),具有執(zhí)行效率高、占用空間小、實時性能優(yōu)良和可擴展性強等特點,最小內(nèi)核可編譯至2k 不足 沒有網(wǎng)絡(luò)和文件系統(tǒng)支持 應(yīng)用軟件少,WinCE,優(yōu)點: 具有和Windows兼容的GUI 開發(fā)工具友好 缺點 非實時,目前已經(jīng)向硬實時發(fā)展 $,WinCE6,WinCE6,pSOS,十分優(yōu)秀的RTOS 目前已被WindRiver收購 高實時性(任務(wù)切換、中斷響應(yīng)) 在國內(nèi)的使用逐年減少,VRTX,全球最早推出的RTOS 實時性、高可靠較好 開發(fā)工具功能弱 目前已很少使用,VxWorks,目前全球使用最廣泛的RTOS 高實時性 高可靠(火星探路者Pathfinder使用的就是該系統(tǒng)) 微內(nèi)核結(jié)構(gòu) 面向?qū)ο蠓椒?開發(fā)工具功能強大 缺點:$,VxWorks,以其良好的可靠性和卓越的實時性被廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實時性要求極高的領(lǐng)域中,如衛(wèi)星通訊、軍事演習(xí)、彈道制導(dǎo)、飛機導(dǎo)航等。在美國的 F-16、FA-18 戰(zhàn)斗機、B-2 隱形轟炸機和愛國者導(dǎo)彈上,甚至連1997年4月在火星表面登陸的火星探測器上也使用到了VxWorks。 據(jù)稱美國市場占有率第一名。,VxWorks,VxWorks 是風(fēng)河公司開發(fā)的一款商用硬實時操作系統(tǒng) 主要思想:在嵌入式系統(tǒng)中最大限度地實現(xiàn)內(nèi)核的時間可預(yù)測性,根據(jù)用戶定義的任務(wù)優(yōu)先級對任務(wù)實現(xiàn)調(diào)度。 給用戶最大的控制權(quán),VxWorks,為追求系統(tǒng)的實時性而設(shè)計的,并不是以通用OS為設(shè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省姜堰區(qū)張甸初級中學(xué)2024-2025學(xué)年初三下學(xué)期第一次半月考物理試題含解析
- 山西省新絳汾河中學(xué)2024-2025學(xué)年高三下學(xué)期(5月)三調(diào)化學(xué)試題試卷含解析
- 綏化市綏棱縣2024-2025學(xué)年五下數(shù)學(xué)期末統(tǒng)考試題含答案
- 三明市重點中學(xué)2024-2025學(xué)年初三第一次模擬(適應(yīng)性測試)考試數(shù)學(xué)試題試卷含解析
- 江蘇省徐州市邳州市重點名校2025年初三下數(shù)學(xué)試題練習(xí)題(三)含解析
- 山東石油化工學(xué)院《安全文化》2023-2024學(xué)年第二學(xué)期期末試卷
- 基層消防站每周作戰(zhàn)訓(xùn)練安全形勢分析(10篇)
- 山東省沂水一中2024-2025學(xué)年全國新高三下學(xué)期開學(xué)大聯(lián)考試題歷史試題含解析
- 廈門市2025屆數(shù)學(xué)三下期末學(xué)業(yè)水平測試試題含解析
- 遼寧財貿(mào)學(xué)院《數(shù)字材質(zhì)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024年一級建造師之一建港口與航道工程實務(wù)題庫(培優(yōu))
- 園林植物識別-草本花卉的識別
- 2024年湖北宜昌高新區(qū)社區(qū)專職工作人員網(wǎng)格員招聘筆試參考題庫附帶答案詳解
- 【湘少版】(三起)三年級英語下冊(全冊)配套練習(xí)
- 裝修施工投標(biāo)書模板
- 技術(shù)創(chuàng)新與專利申請情況匯報
- 《民航概論》全套課件演示課件
- 公立醫(yī)院內(nèi)控管理制度
- 麻醉蘇醒延遲:麻醉蘇醒延遲的原因與處理
- 室顫的搶救與護理課件
- 2023年6月六級真題第一套
評論
0/150
提交評論