




已閱讀5頁,還剩105頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
嵌入式系統(tǒng)原理與應(yīng)用,信息安全工程學(xué)院 上海交通大學(xué),操作系統(tǒng)基礎(chǔ),內(nèi)核,內(nèi)核(kernel)是操作系統(tǒng)的內(nèi)部核心程序,它向外部提供了對計(jì)算機(jī)系統(tǒng)資源進(jìn)行請求和管理的調(diào)用接口和服務(wù),內(nèi)核,可以將操作系統(tǒng)的代碼分成兩部分: 內(nèi)核所在的地址空間稱為內(nèi)核空間; 而在內(nèi)核以外,剩下的程序統(tǒng)稱為外部管理程序,它們大部分是對外圍設(shè)備的管理和界面操作,外部管理程序與用戶進(jìn)程所占據(jù)的地址空間稱為外部空間。 通常,一個程序會跨越兩個空間。 當(dāng)執(zhí)行到內(nèi)核空間的一段代碼時(shí),稱程序處于內(nèi)核態(tài) 當(dāng)程序執(zhí)行到外部空間代碼時(shí),稱程序處于用戶態(tài)。,操作系統(tǒng)分類1,按照操作系統(tǒng)的內(nèi)核模式可以分為: 微內(nèi)核 大內(nèi)核 混合式內(nèi)核,微內(nèi)核模式,硬件,內(nèi)核級,用戶級,微內(nèi)核,客 戶 進(jìn) 程,設(shè) 備 驅(qū) 動,文 件 服 務(wù),進(jìn) 程 服 務(wù),其 他 管 理,微內(nèi)核,Mach 首先使用微內(nèi)核結(jié)構(gòu) 通過劃分系統(tǒng)程序和用戶程序,把所有不必要的部件移出內(nèi)核,形成一個小內(nèi)核 微內(nèi)核提供最少量的進(jìn)程管理、存儲管理,以及通信功能,微內(nèi)核特點(diǎn),接口一致(Uniform interface): 所有進(jìn)程請求使用統(tǒng)一的接口,進(jìn)程不需要區(qū)分內(nèi)核模式和用戶模式服務(wù),由于這些服務(wù)全部通過消息傳遞提供。,微內(nèi)核特點(diǎn),擴(kuò)展性(Extensibility): 由于新型硬件設(shè)備和新型軟件技術(shù)不斷發(fā)展,任何操作系統(tǒng)不可避免地需要修改,微內(nèi)核結(jié)構(gòu)允許加入新的服務(wù),支持在同一功能區(qū)內(nèi)提供多重服務(wù)。使用微內(nèi)核結(jié)構(gòu),加入一個新特點(diǎn)僅僅需要修改或者加入被選擇的服務(wù),新的或者修改的服務(wù)影響限制在系統(tǒng)的一個子集,進(jìn)一步地,修改不需要建立一個新的內(nèi)核。,微內(nèi)核特點(diǎn),移植性(Portability): 在微內(nèi)核結(jié)構(gòu)中,所有與特定處理機(jī)的代碼僅僅存在微內(nèi)核中,因此,需要將這個系統(tǒng)移植到新的處理機(jī)需要作的變化可以盡可能地少。,微內(nèi)核特點(diǎn),可靠性(Reliability): 軟件規(guī)模越大,確保可靠性越難。盡管模塊化設(shè)計(jì)幫助我們增強(qiáng)了可靠性,但是微內(nèi)核結(jié)構(gòu)帶來了更多的收益。一個小型微內(nèi)核可以嚴(yán)格地進(jì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ù)器進(jìn)程,該消息必須包含請求服務(wù)的標(biāo)識符。當(dāng)一個分布系統(tǒng)(如群集系統(tǒng))被配置為所有的進(jìn)程和服務(wù)有唯一的標(biāo)識符,那么似乎在內(nèi)核模式下存在單一的系統(tǒng)映象,一個進(jìn)程能夠在不知道目標(biāo)服務(wù)駐留在哪臺機(jī)器情況下發(fā)送消息。,微內(nèi)核特點(diǎn),面向?qū)ο蟛僮飨到y(tǒng)(Object-oriented operating system): 微內(nèi)核結(jié)構(gòu)非常適合面向?qū)ο蟛僮飨到y(tǒng)的要求,一個面向?qū)ο蟮姆椒ㄓ兄谝粋€微內(nèi)核的設(shè)計(jì)和操作系統(tǒng)的模塊化擴(kuò)充。將微內(nèi)核結(jié)構(gòu)和面向?qū)ο蟛僮飨到y(tǒng)原理結(jié)合起來的例子是組件的使用,組件是清楚定義了接口的對象,它們能夠互連起來以預(yù)制建筑塊的方式形成軟件,使用組件之間的接口實(shí)現(xiàn)組件之間的全部相互作用。,大內(nèi)核模式,硬件,進(jìn)程管理,虛存管理,I/O設(shè)備管理,內(nèi)部進(jìn)程通信,文件系統(tǒng),應(yīng)用程序,內(nèi)核級,用戶級,Windows內(nèi)核,Windows內(nèi)核變化,Windows號稱內(nèi)核版本7將走向小內(nèi)核模式,混合式內(nèi)核模式,硬件,進(jìn)程管理,虛存管理,I/O設(shè)備管理,內(nèi)部進(jìn)程通信,文件系統(tǒng),用戶進(jìn)程,內(nèi)核級,用戶級,混合式內(nèi)核,其他管理,混合式內(nèi)核,Linux內(nèi)核屬于混合式內(nèi)核 參與Linux系統(tǒng)開發(fā)的程序員大多數(shù)為世界各地的黑客們。比起結(jié)構(gòu)的清晰,他們更加注重功能的強(qiáng)大和高效率的代碼。 他們將大量的精力花在優(yōu)化代碼上,而這樣的全局性優(yōu)化必然以損失結(jié)構(gòu)精煉作為代價(jià),導(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),并對模塊給予了強(qiáng)有力的支持。在Linux中,可以在需要時(shí)自動裝入和卸載模塊。,Linux內(nèi)核的結(jié)構(gòu),LINUX操作系統(tǒng)的結(jié)構(gòu),2.4 vs. 2.6內(nèi)核的實(shí)時(shí)性比較,Linux 內(nèi)核,Linux 內(nèi)核主要由5 個模塊構(gòu)成,它們分別是: 進(jìn)程調(diào)度模塊:控制進(jìn)程對CPU 資源的使用 內(nèi)存管理模塊:確保所有進(jìn)程能夠安全地共享機(jī)器主內(nèi)存區(qū);虛擬內(nèi)存管理 文件系統(tǒng)模塊:支持對外部設(shè)備的驅(qū)動和存儲 進(jìn)程間通信模塊:支持多種進(jìn)程間的信息交換方式 網(wǎng)絡(luò)接口模塊:提供對多種網(wǎng)絡(luò)通信標(biāo)準(zhǔn)的訪問并支持許多網(wǎng)絡(luò)硬件,內(nèi)核模塊之間的依賴關(guān)系,內(nèi)核模塊之間的依賴關(guān)系,所有的模塊都與進(jìn)程調(diào)度模塊存在依賴關(guān)系。因?yàn)樗鼈兌夹枰揽窟M(jìn)程調(diào)度程序來掛起(暫停)或重新運(yùn)行它們的進(jìn)程。通常,一個模塊會在等待硬件操作期間被掛起,而在操作完成后才可繼續(xù)運(yùn)行。,內(nèi)核模塊之間的依賴關(guān)系,進(jìn)程調(diào)度子系統(tǒng)需要使用內(nèi)存管理器來調(diào)整一特定進(jìn)程所使用的物理內(nèi)存空間。 進(jìn)程間通信子系統(tǒng)則需要依靠內(nèi)存管理器來支持共享內(nèi)存通信機(jī)制。 虛擬文件系統(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 客戶機(jī)/服務(wù)器 OS 虛擬機(jī)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ù) 缺點(diǎn) 有時(shí)操作系統(tǒng)很難按照OSI進(jìn)行分層,層次結(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è)計(jì)。有如下六層:,OS/2層次化結(jié)構(gòu),DeltaCORE的體系結(jié)構(gòu):層次模塊結(jié)構(gòu),應(yīng)用程序,任務(wù)管理,硬 件,用戶擴(kuò)展處理,調(diào)度管理,硬件抽象層,應(yīng)用編程接口,內(nèi)存管理,中斷管理,時(shí)鐘/定時(shí)器管理,I/O管理,出錯處理,同步、通信管理(消息隊(duì)列,信號量,事件,異步信號)),分層次,模塊化,客戶機(jī)/服務(wù)器操作系統(tǒng),客戶機(jī)/服務(wù)器操作系統(tǒng)Client-Server OS 最新的模型 最小的有限的操作系統(tǒng)功能 (scheduler and synchronization primitive) 其他所有功能當(dāng)做系統(tǒng)任務(wù)運(yùn)行 應(yīng)用軟件作為客戶機(jī)通過系統(tǒng)調(diào)用要求服務(wù)器服務(wù)軟件提供服務(wù)。,客戶機(jī)/服務(wù)器操作系統(tǒng),優(yōu)點(diǎn) 易于調(diào)試 將任務(wù)分配多個微處理器上非常簡單。 可以動態(tài)裝載或卸載各種模塊。 缺點(diǎn) 由于內(nèi)存保護(hù),系統(tǒng)消耗較大 必須保護(hù)系統(tǒng)進(jìn)程 當(dāng)應(yīng)用軟件切換到服務(wù)器內(nèi)存空間時(shí)需要消耗時(shí)間。,客戶/服務(wù)器結(jié)構(gòu),硬 件,進(jìn)程服務(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 客戶機(jī)/服務(wù)器結(jié)構(gòu),虛擬機(jī)系統(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)時(shí),那個高優(yōu)先級的任務(wù)才能獲得CPU的使用權(quán)。,不可剝奪型內(nèi)核優(yōu)點(diǎn),響應(yīng)中斷快。 在任務(wù)級,允許使用不可重入函數(shù)。 每個任務(wù)都可以調(diào)用非可重入性函數(shù),而不必?fù)?dān)心其它任務(wù)可能正在使用該函數(shù),從而造成數(shù)據(jù)的破壞。因?yàn)槊總€任務(wù)要運(yùn)行到完成時(shí)才釋放CPU的控制權(quán)。當(dāng)然該不可重入型函數(shù)本身不得有放棄CPU控制權(quán)的企圖。 幾乎不需要使用信號量保護(hù)共享數(shù)據(jù)。 運(yùn)行著的任務(wù)占有CPU,而不必?fù)?dān)心被別的任務(wù)搶占。但這也不是絕對的,在某種情況下,信號量還是用得著的。處理共享I/O設(shè)備時(shí)仍需要使用互斥型信號量。 例如,在打印機(jī)的使用上,仍需要滿足互斥條件。,不可剝奪型內(nèi)核缺點(diǎn),最大缺陷在于其響應(yīng)時(shí)間。 高優(yōu)先級的任務(wù)已經(jīng)進(jìn)入就緒態(tài),但還不能運(yùn)行,要等,也許要等很長時(shí)間,直到當(dāng)前運(yùn)行著的任務(wù)釋放CPU。與前后系統(tǒng)一樣,不可剝奪型內(nèi)核的任務(wù)級響應(yīng)時(shí)間是不確定的,不知道什么時(shí)候最高優(yōu)先級的任務(wù)才能拿到CPU的控制權(quán),完全取決于應(yīng)用程序什么時(shí)候釋放CPU。 不可剝奪型內(nèi)核允許每個任務(wù)運(yùn)行,直到該任務(wù)自愿放棄CPU的控制權(quán)。中斷可以打入運(yùn)行著的任務(wù)。中斷服務(wù)完成以后將CPU控制權(quán)還給被中斷了的任務(wù)。任務(wù)級響應(yīng)時(shí)間要大大好于前后系統(tǒng),但仍是不可知的,商業(yè)軟件幾乎沒有不可剝奪型內(nèi)核。,不可剝奪型內(nèi)核運(yùn)行原理,低優(yōu)先 級任務(wù),ISR,低優(yōu) 先級 任務(wù),高優(yōu) 先級 任務(wù),任務(wù)正在運(yùn)行,中斷到來,中斷原來任務(wù),執(zhí)行中斷服務(wù)子程序,使一個 高優(yōu)先級任務(wù)進(jìn)入就緒狀態(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)時(shí)間很重要時(shí),要使用可剝奪型內(nèi)核(或搶占式內(nèi)核,Preemptive Kernel)。 最高優(yōu)先級的任務(wù)一旦就緒,總能得到CPU的控制權(quán)。 當(dāng)一個運(yùn)行著的任務(wù)使一個比它優(yōu)先級高的任務(wù)進(jìn)入了就緒態(tài),當(dāng)前任務(wù)的CPU使用權(quán)就被剝奪了,或者說被掛起了,那個高優(yōu)先級的任務(wù)立刻得到了CPU的控制權(quán)。 如果是中斷服務(wù)子程序使一個高優(yōu)先級的任務(wù)進(jìn)入就緒態(tài),中斷完成時(shí),中斷了的任務(wù)被掛起,優(yōu)先級高的那個任務(wù)開始運(yùn)行。,可剝奪型內(nèi)核,最高優(yōu)先級的任務(wù)什么時(shí)候可以執(zhí)行,可以得到CPU的控制權(quán)是可知的。 任務(wù)級響應(yīng)時(shí)間得以最優(yōu)化。 使用可剝奪型內(nèi)核時(shí),應(yīng)用程序不應(yīng)直接使用不可重入型函數(shù)。調(diào)用不可重入型函數(shù)時(shí),要滿足互斥條件,這一點(diǎn)可以用互斥型信號量來實(shí)現(xiàn)。如果調(diào)用不可重入型函數(shù)時(shí),低優(yōu)先級的任務(wù)CPU的使用權(quán)被高優(yōu)先級任務(wù)剝奪,不可重入型函數(shù)中數(shù)據(jù)有可能被破壞。 可剝奪型內(nèi)核總是讓就緒態(tài)的高優(yōu)先級的任務(wù)先運(yùn)行,中斷服務(wù)程序可以搶占CPU,到中斷服務(wù)完成時(shí),內(nèi)核讓此時(shí)優(yōu)先級最高的任務(wù)運(yùn)行(不一定是那個被中斷了的任務(wù))。任務(wù)級系統(tǒng)響應(yīng)時(shí)間得到了最優(yōu)化,且是可知的。,可剝奪型內(nèi)核運(yùn)行原理,低優(yōu)先 級任務(wù),ISR,高優(yōu) 先級 任務(wù),低優(yōu) 先級 任務(wù),低優(yōu)先級任務(wù)正在運(yùn)行,中斷到來,中斷當(dāng)前任務(wù),中斷服務(wù)完成,退出中斷 進(jìn)入新的優(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),中斷延時(shí)時(shí)間,重新安排延時(shí)時(shí)間,任務(wù),搶占式內(nèi)核,非搶占式內(nèi)核,操作系統(tǒng)分類4,順序執(zhí)行系統(tǒng) 分時(shí)操作系統(tǒng) 實(shí)時(shí)操作系統(tǒng),順序執(zhí)行系統(tǒng),順序執(zhí)行系統(tǒng) 系統(tǒng)內(nèi)只含有一個程序,獨(dú)占CPU的運(yùn)行時(shí)間,按語句順序執(zhí)行該程序,直至執(zhí)行完畢,另一程序才能啟動運(yùn)行。如DOS操作系統(tǒng)。,分時(shí)操作系統(tǒng),分時(shí)操作系統(tǒng) 軟件的執(zhí)行在時(shí)間上的要求,并不嚴(yán)格,時(shí)間上的錯誤,一般不會造成災(zāi)難性的后果。 系統(tǒng)內(nèi)同時(shí)可以有多個程序運(yùn)行,把CPU的時(shí)間分按順序分成若干片,每個時(shí)間片內(nèi)執(zhí)行不同的程序。如UNIX,實(shí)時(shí)操作系統(tǒng),實(shí)時(shí)操作系統(tǒng) 系統(tǒng)內(nèi)有多個程序運(yùn)行,每個程序有不同的優(yōu)先級,只有最高優(yōu)先級的任務(wù)才能占有CPU的控制權(quán)。 主要任務(wù)是對事件進(jìn)行實(shí)時(shí)的處理,雖然事件可能在無法預(yù)知的時(shí)刻到達(dá),但是軟件上必須在事件發(fā)生時(shí)能夠在嚴(yán)格的時(shí)限內(nèi)作出響應(yīng)(系統(tǒng)響應(yīng)時(shí)間),即使能夠響應(yīng),但是超出了時(shí)限,系統(tǒng)時(shí)間響應(yīng)的超時(shí)就意味著致命的失敗。 另外,實(shí)時(shí)操作系統(tǒng)的重要特點(diǎn)是具有系統(tǒng)的可確定性,即系統(tǒng)能對運(yùn)行情況的最好和最壞等的情況能做出精確的估計(jì),嵌入式操作系統(tǒng),發(fā)展歷程,無操作系統(tǒng)的嵌入算法階段,以嵌入式CPU為基礎(chǔ)、以簡單操作系統(tǒng)為核心的嵌入式系統(tǒng),通用的嵌入式實(shí)時(shí)操作系統(tǒng)階段,基于Internet的嵌入式系統(tǒng),第一階段,無操作系統(tǒng)的嵌入算法階段 以單芯片為核心的可編程控制器形式的系統(tǒng)。 具有與監(jiān)測、伺服、指示設(shè)備相配合的功能。 大部分應(yīng)用于一些專業(yè)性極強(qiáng)的工業(yè)控制系統(tǒng)中 一般沒有操作系統(tǒng)的支持,通過匯編語言編程對系統(tǒng)進(jìn)行直接控制,運(yùn)行結(jié)束后清除內(nèi)存。 特點(diǎn): 系統(tǒng)結(jié)構(gòu)和功能都相對單一 處理效率較低 存儲容量較小 幾乎沒有用戶接口。 使用簡便、價(jià)格很低,第二階段,以嵌入式CPU為基礎(chǔ)、以簡單操作系統(tǒng)為核心的嵌入式系統(tǒng)。 特點(diǎn) CPU種類繁多 通用性比較差 系統(tǒng)開銷小 效率高 一般配備系統(tǒng)仿真器,操作系統(tǒng)具有一定的兼容性和擴(kuò)展性 應(yīng)用軟件較專業(yè),用戶界面不夠友好 系統(tǒng)主要用來控制系統(tǒng)負(fù)載以及監(jiān)控應(yīng)用程序運(yùn)行,第三階段,通用的以嵌入式操作系統(tǒng)為核心的嵌入式實(shí)時(shí)系統(tǒng)階段 特點(diǎn) 嵌入式操作系統(tǒng)能運(yùn)行于各種不同類型的微處理器上,兼容性好; 操作系統(tǒng)內(nèi)核精小、效率高,并且具有高度的模塊化和擴(kuò)展性 具備文件和目錄管理、設(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ù): 編程語言普遍采用高級語言實(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)核為中心,包括很多獨(dú)立的功能組件如文件、網(wǎng)絡(luò)等。除內(nèi)核外其他組件的選擇任意搭配,由應(yīng)用決定。 可配置技術(shù)。每個功能組件都可以根據(jù)應(yīng)用的要求進(jìn)行配置,比如最大任務(wù)數(shù)、內(nèi)存地址、堆棧大小、系統(tǒng)任務(wù)的優(yōu)先級、緩沖區(qū)大小及文件數(shù)等。,嵌入式操作系統(tǒng)技術(shù)現(xiàn)狀,良好的實(shí)時(shí)性:時(shí)間確定性是嵌入式實(shí)時(shí)操作系統(tǒng)必備的特點(diǎn),特別對于強(qiáng)實(shí)時(shí)嵌入式系統(tǒng)而言尤為重要。 采用的主要技術(shù): 采用實(shí)時(shí)調(diào)度算法。主要采用靜態(tài)優(yōu)先級的可搶占式調(diào)度、比率單調(diào)算法等。 采用內(nèi)存靜態(tài)分配策略和零拷貝技術(shù)保證確定性。 內(nèi)存管理不采用虛存管理機(jī)制 采用優(yōu)先級繼承和優(yōu)先級天花板兩種技術(shù)解決優(yōu)先級反轉(zhuǎn)(倒置)問題,嵌入式操作系統(tǒng)技術(shù)現(xiàn)狀,可靠性和高可用 采用的主要技術(shù): 利用存儲管理單元(MMU)、用戶態(tài)和核心態(tài)機(jī)制,實(shí)現(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)緊湊、功能強(qiáng)大 高可用(High Available)、高可靠(High Reliable )、支持多處理器和分布式計(jì)算 可動態(tài)加載和升級軟件 與開發(fā)工具有機(jī)的結(jié)合起來,行業(yè)標(biāo)準(zhǔn),行業(yè)性嵌入式軟硬件平臺 嵌入式系統(tǒng)是以應(yīng)用為中心的系統(tǒng),不會象PC一樣只有一種平臺 吸取PC的成功經(jīng)驗(yàn),形成不同行業(yè)的標(biāo)準(zhǔn)。 統(tǒng)一的行業(yè)標(biāo)準(zhǔn)具有開放、設(shè)計(jì)技術(shù)共享、軟硬件重用、構(gòu)件兼容、維護(hù)方便和合作生產(chǎn)的特點(diǎn),是增強(qiáng)行業(yè)性產(chǎn)品競爭能力的有效手段。,嵌入式操作系統(tǒng)架構(gòu),實(shí)時(shí)操作系統(tǒng)內(nèi)核,實(shí)時(shí)操作系統(tǒng)組成,最簡內(nèi)核納核,實(shí)時(shí)操作系統(tǒng)內(nèi)核代碼大約1K到100K 用戶可裁減掉程序員認(rèn)為沒有使用到的功能,直到只剩下最簡內(nèi)核(任務(wù)的管理與調(diào)度,稱其為納核,可以只有8k) 如何得到最簡內(nèi)核是嵌入式系統(tǒng)開發(fā)中非常重要的一環(huán)!,什么樣的OS才是實(shí)時(shí)OS呢?,實(shí)時(shí)操作系統(tǒng)IEEE實(shí)時(shí)UNIX分委會要求 異步的事件響應(yīng) 切換時(shí)間和中斷延遲時(shí)間確定 優(yōu)先級中斷和調(diào)度 搶占式調(diào)度 內(nèi)存鎖定 連續(xù)文件 同步,按實(shí)時(shí)性分類,強(qiáng)實(shí)時(shí)系統(tǒng),其系統(tǒng)響應(yīng)時(shí)間在毫秒或微秒級(數(shù)控機(jī)床); 一般實(shí)時(shí)系統(tǒng),其系統(tǒng)響應(yīng)時(shí)間在毫秒幾秒的數(shù)量級上,其實(shí)時(shí)性的要求比強(qiáng)實(shí)時(shí)系統(tǒng)要差一些(電子菜譜的查詢)。 弱實(shí)時(shí)系統(tǒng),其系統(tǒng)響應(yīng)時(shí)間約為數(shù)十秒或更長(工程機(jī)械)。,移植而來的嵌入式實(shí)時(shí)操作系統(tǒng),通用操作系統(tǒng)移植到嵌入式系統(tǒng)中,形成的嵌入式操作系統(tǒng)。 嵌入式 Windows NT/XP SUN Java 操作系統(tǒng) 朗訊科技公司Inferno 嵌入式Linux 等,實(shí)時(shí)操作系統(tǒng),實(shí)時(shí)操作系統(tǒng) WindRiver 公司的VxWorks ISI 的pSOS QNX 系統(tǒng)軟件公司的QNX ATI 的Nucleus 中國科學(xué)院凱思集團(tuán)的Hopen 嵌入式操作系統(tǒng) 等等,專用實(shí)時(shí)操作系統(tǒng),辦公設(shè)備 WinCE,Palm 手機(jī) Nokia、 Motorala的EPOC 等等,硬實(shí)時(shí)操作系統(tǒng),客戶可以設(shè)置任務(wù)的優(yōu)先級 任務(wù)根據(jù)優(yōu)先級運(yùn)行 搶先式內(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)特點(diǎn),許多嵌入式操作系統(tǒng)不采用存儲管理技術(shù),即不支持虛擬存儲技術(shù) 許多嵌入式操作系統(tǒng)不劃分“系統(tǒng)空間”和“用戶空間” 操作系統(tǒng)的“內(nèi)核”與外圍應(yīng)用程序之間不再有物理的邊界; 系統(tǒng)中所謂“進(jìn)程”實(shí)際上全都是內(nèi)核線程 靜態(tài)連接、系統(tǒng)調(diào)用、進(jìn)程調(diào)度/切換,嵌入式操作系統(tǒng)特點(diǎn),對任何一個應(yīng)用程序做細(xì)微的修改,都得重新生成整個系統(tǒng),并且“下載”之; 系統(tǒng)調(diào)用的界面太龐大; 共享變量的訪問,需要謹(jǐn)慎對待; 把通用操作系統(tǒng)上的應(yīng)用移植過來需考慮“可重入”的問題;,嵌入式操作系統(tǒng)特點(diǎn),不分系統(tǒng)空間和用戶空間 必須靜態(tài)連接 如DOS、CP/M的INT21 不分系統(tǒng)空間和用戶空間 不能用頁面映射技術(shù) 但只用于不同進(jìn)程之間,而非不同空間之間 即使采用了存儲管理,基本上都不采用頁面交換技術(shù) 重啟動技術(shù)(watch dog),你聽說過哪些實(shí)時(shí)操作系統(tǒng)?,ucOS,特點(diǎn) uc/os采用可剝奪型實(shí)時(shí)多任務(wù)內(nèi)核 uc/os適合小型控制系統(tǒng),具有執(zhí)行效率高、占用空間小、實(shí)時(shí)性能優(yōu)良和可擴(kuò)展性強(qiáng)等特點(diǎn),最小內(nèi)核可編譯至2k 不足 沒有網(wǎng)絡(luò)和文件系統(tǒng)支持 應(yīng)用軟件少,WinCE,優(yōu)點(diǎn): 具有和Windows兼容的GUI 開發(fā)工具友好 缺點(diǎn) 非實(shí)時(shí),目前已經(jīng)向硬實(shí)時(shí)發(fā)展 $,WinCE6,WinCE6,pSOS,十分優(yōu)秀的RTOS 目前已被WindRiver收購 高實(shí)時(shí)性(任務(wù)切換、中斷響應(yīng)) 在國內(nèi)的使用逐年減少,VRTX,全球最早推出的RTOS 實(shí)時(shí)性、高可靠較好 開發(fā)工具功能弱 目前已很少使用,VxWorks,目前全球使用最廣泛的RTOS 高實(shí)時(shí)性 高可靠(火星探路者Pathfinder使用的就是該系統(tǒng)) 微內(nèi)核結(jié)構(gòu) 面向?qū)ο蠓椒?開發(fā)工具功能強(qiáng)大 缺點(diǎn):$,VxWorks,以其良好的可靠性和卓越的實(shí)時(shí)性被廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域中,如衛(wèi)星通訊、軍事演習(xí)、彈道制導(dǎo)、飛機(jī)導(dǎo)航等。在美國的 F-16、FA-18 戰(zhàn)斗機(jī)、B-2 隱形轟炸機(jī)和愛國者導(dǎo)彈上,甚至連1997年4月在火星表面登陸的火星探測器上也使用到了VxWorks。 據(jù)稱美國市場占有率第一名。,VxWorks,VxWorks 是風(fēng)河公司開發(fā)的一款商用硬實(shí)時(shí)操作系統(tǒng) 主要思想:在嵌入式系統(tǒng)中最大限度地實(shí)現(xiàn)內(nèi)核的時(shí)間可預(yù)測性,根據(jù)用戶定義的任務(wù)優(yōu)先級對任務(wù)實(shí)現(xiàn)調(diào)度。 給用戶最大的控制權(quán),VxWorks,為追求系統(tǒng)的實(shí)時(shí)性而設(shè)計(jì)的,并不是以通用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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年建筑施工進(jìn)度監(jiān)督管理協(xié)議正式文本
- 重塑跨境電商出海新勢能的背景意義及必要性
- 軟組織生物力學(xué)實(shí)驗(yàn)系統(tǒng)基礎(chǔ)知識點(diǎn)歸納
- 牦牛養(yǎng)殖的智能監(jiān)控與數(shù)據(jù)分析
- 智能化輔導(dǎo)模式在高校學(xué)生管理中的創(chuàng)新探索
- 影視產(chǎn)業(yè)賦能區(qū)域經(jīng)濟(jì)發(fā)展的背景意義及必要性
- 哲學(xué)與現(xiàn)代探索
- 春節(jié)營銷藝術(shù)設(shè)計(jì)
- 傳媒實(shí)踐與創(chuàng)新
- 黑龍江省應(yīng)急通信網(wǎng)絡(luò)基礎(chǔ)建設(shè)規(guī)范第1部分總規(guī)范
- 湖北省隨州市隨縣2023-2024學(xué)年七年級下學(xué)期語文期末考試卷
- 2024年中國城建圍擋板市場調(diào)查研究報(bào)告
- 北京市海淀區(qū)101中學(xué)2025屆數(shù)學(xué)八年級第一學(xué)期期末統(tǒng)考試題含解析
- 重慶市渝中區(qū)巴蜀小學(xué)校2023-2024學(xué)年六年級下學(xué)期期末小升初數(shù)學(xué)試卷
- 專科醫(yī)院醫(yī)院財(cái)務(wù)預(yù)算管理知識考核試卷
- 2022-2023學(xué)年北京市西城區(qū)三帆中學(xué)七年級(上)期中數(shù)學(xué)試卷【含解析】
- 2024年中考語文真題分類匯編標(biāo)點(diǎn)符號
- 北京西城區(qū)2023年初中學(xué)業(yè)水平考試信息科技試卷真題(含答案詳解)
- 渣土傾倒協(xié)議
- 2023-2024學(xué)年廣西貴百河高一下學(xué)期5月新高考月考測試數(shù)學(xué)試卷(含答案)
- 2024屆上海復(fù)旦附中高一下3月英語試題及答案
評論
0/150
提交評論