




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