


全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
ucos2與linux的比較隨著嵌入式計(jì)算機(jī)技術(shù)的迅猛發(fā)展,嵌入式操作系統(tǒng)的應(yīng)用領(lǐng)域逐步擴(kuò)大,嵌入式計(jì)算機(jī)已經(jīng)深入到人類(lèi)日常生活和生產(chǎn)的各個(gè)角落。這次通過(guò)閱讀相關(guān)資料,進(jìn)一步加深了對(duì)嵌入式操作系統(tǒng)的了解,以下著重對(duì)ucos2和linux進(jìn)行比較,談?wù)剬?duì)嵌入式操作系統(tǒng)的理解。 首先linux和ucos都是免費(fèi)使用,源代碼公開(kāi)的操作系統(tǒng),可供用戶自由進(jìn)行裁剪,添加,移植。Linux是分時(shí)多任務(wù)多用戶操作系統(tǒng),ucos是實(shí)時(shí)多任務(wù)操作系統(tǒng)。兩者都可運(yùn)行于多種平臺(tái),適應(yīng)性好,linux不僅可以運(yùn)行于32位機(jī),也可運(yùn)行于64位機(jī),單核,多核也同樣適用。uCOS 2已經(jīng)移植到近40多種處理器體系上,涵蓋了從8位到64位各種CPU(包括DSP)。 內(nèi)核Ucos內(nèi)核包括操作系統(tǒng)初始化、操作系統(tǒng)運(yùn)行、中斷進(jìn)出的前導(dǎo)、時(shí)鐘節(jié)拍、任務(wù)調(diào)度、事件處理等多部分,能夠維持系統(tǒng)基本工作的部分都在這里。 而linux內(nèi)核包括進(jìn)程管理,內(nèi)存管理,設(shè)備管理,網(wǎng)絡(luò)管理四部分。Ucos沒(méi)有提供輸入輸出管理,文件系統(tǒng),網(wǎng)絡(luò)等服務(wù)。這些功能可由用戶自行添加實(shí)現(xiàn)。Ucos內(nèi)核支持搶占,即在進(jìn)行內(nèi)核服務(wù)函數(shù)時(shí),允許被中斷服務(wù)中斷,并且中斷結(jié)束后可以重新進(jìn)行任務(wù)調(diào)度。Linux是非搶占式內(nèi)核,實(shí)時(shí)性差。當(dāng)進(jìn)程運(yùn)行在用戶態(tài)時(shí),可以被優(yōu)先級(jí)更高的進(jìn)程搶占,但當(dāng)他進(jìn)入核心態(tài)時(shí),優(yōu)先級(jí)再高也不能搶占它。實(shí)時(shí)性 實(shí)時(shí)任務(wù)分為軟實(shí)時(shí)和硬實(shí)時(shí),硬實(shí)時(shí)對(duì)響應(yīng)時(shí)間要求較高,且時(shí)間不被滿足時(shí)會(huì)導(dǎo)致致命的錯(cuò)誤,軟實(shí)時(shí)隨對(duì)響應(yīng)時(shí)間有要求,但不是強(qiáng)制,不會(huì)給系統(tǒng)造成致命錯(cuò)誤。Ucos是一個(gè)基于優(yōu)先級(jí)調(diào)度的搶占式的實(shí)時(shí)內(nèi)核,不僅內(nèi)核支持搶占,同時(shí)支持任務(wù)的搶占式調(diào)度,優(yōu)先級(jí)低的任務(wù)可以被高優(yōu)先級(jí)任務(wù)搶占,也可被中斷服務(wù)搶占。這就保證了系統(tǒng)可以盡可能快的對(duì)外部事件做出響應(yīng)。通用Linux主要考慮調(diào)度的公平性和吞吐量等指標(biāo),盡管系統(tǒng)可以通過(guò)把實(shí)時(shí)事件賦予高優(yōu)先級(jí)的方法來(lái)實(shí)時(shí)響應(yīng)實(shí)時(shí)事件,但效果有限,對(duì)于響應(yīng)時(shí)間要求比較高的硬實(shí)時(shí)任務(wù),無(wú)法滿足要求。但通過(guò)一些改進(jìn)的措施,linux的實(shí)時(shí)性可以彌補(bǔ),例如:增加內(nèi)核可搶占性,細(xì)化系統(tǒng)時(shí)鐘粒度,改善屏蔽中斷處理,改善調(diào)度算法等。任務(wù)調(diào)度 任務(wù)調(diào)度主要是協(xié)調(diào)任務(wù)對(duì)計(jì)算機(jī)系統(tǒng)內(nèi)資源(如內(nèi)存、I/O設(shè)備、CPU)的爭(zhēng)奪使用。任務(wù)有三個(gè)狀態(tài):等待態(tài),就緒態(tài),運(yùn)行態(tài)。Ucos是完全基于任務(wù)優(yōu)先級(jí)的搶占式調(diào)度。當(dāng)出現(xiàn)具有更高優(yōu)先級(jí)的任務(wù)處于就緒態(tài)時(shí),進(jìn)行任務(wù)的上下文切換,當(dāng)前任務(wù)將停止運(yùn)行,把cpu的控制權(quán)交給具有更高優(yōu)先級(jí)的任務(wù)。Ucos中最多可調(diào)度64個(gè)任務(wù),每個(gè)任務(wù)具有不同的優(yōu)先級(jí),當(dāng)前運(yùn)行的總是優(yōu)先級(jí)最高的任務(wù)。Ucos無(wú)法進(jìn)行同等優(yōu)先級(jí)的任務(wù)調(diào)度。最高優(yōu)先級(jí)任務(wù)的確定是通過(guò)建立就緒任務(wù)表來(lái)實(shí)現(xiàn)的。ucos中的每一個(gè)任務(wù)都有獨(dú)立的堆棧空間,并有一個(gè)任務(wù)控制塊TCB,任務(wù)控制塊中包含了任務(wù)執(zhí)行中的所有信息。Linux調(diào)度策略即優(yōu)先級(jí)調(diào)度和時(shí)間片輪轉(zhuǎn)調(diào)度。時(shí)間片輪轉(zhuǎn)調(diào)度可進(jìn)行同等優(yōu)先級(jí)任務(wù)的調(diào)度,讓這些任務(wù)依次運(yùn)行一段時(shí)間,從而保證系統(tǒng)中同等優(yōu)先級(jí)任務(wù)具有平等的運(yùn)行權(quán)利。進(jìn)行調(diào)度算法實(shí)現(xiàn)時(shí)根據(jù)每個(gè)任務(wù)的與調(diào)度相關(guān)的4個(gè)參數(shù)來(lái)進(jìn)行,分別是實(shí)時(shí)進(jìn)程的靜態(tài)優(yōu)先級(jí),進(jìn)程調(diào)度策略,用戶設(shè)定的優(yōu)先級(jí)和進(jìn)程本輪調(diào)度剩余時(shí)間片。Linux任務(wù)調(diào)度的機(jī)制決定了其實(shí)時(shí)性的障礙。內(nèi)存管理 Ucos內(nèi)存管理是固定大小的存儲(chǔ)區(qū)管理。提供了內(nèi)存塊的創(chuàng)建,申請(qǐng),信息查詢和釋放功能。一段連續(xù)的內(nèi)存空間稱為分區(qū),分區(qū)由大小固定的內(nèi)存塊組成,分區(qū)大小是內(nèi)存塊的整數(shù)倍。每個(gè)內(nèi)存分區(qū)都有一個(gè)內(nèi)存分區(qū)控制塊MCB,它包含五個(gè)變量:OSMemAddr(內(nèi)存分區(qū)的起始地址);OSMemFreeList(分區(qū)中空閑內(nèi)存塊的指針);OSMemBlkSize(分區(qū)中內(nèi)存塊的大?。籓SMemNBlks(分區(qū)中內(nèi)存塊的數(shù)量);OSMemNFree(分區(qū)中空閑內(nèi)存塊的數(shù)量)。創(chuàng)建內(nèi)存分區(qū)時(shí)內(nèi)存創(chuàng)建函數(shù)要首先在系統(tǒng)中申請(qǐng)一個(gè)MCB,并且初始化。Linux采用的是頁(yè)式管理機(jī)制。具體說(shuō)就是兩級(jí)表結(jié)構(gòu),第一級(jí)是頁(yè)目錄,第二級(jí)是頁(yè)表,兩層結(jié)構(gòu)相當(dāng)于兩層索引,處理器得到邏輯地址后首先通過(guò)分段機(jī)制轉(zhuǎn)換成線性地址,線性地址再通過(guò)分頁(yè)機(jī)制轉(zhuǎn)換成物理地址。在硬件提供MMU時(shí),linux在不同的體系結(jié)構(gòu)下,使用三級(jí)或兩級(jí)頁(yè)式管理,利用MMU完成從虛擬地址到物理地址之間的轉(zhuǎn)換。虛擬存儲(chǔ)技術(shù)中,每個(gè)任務(wù)從內(nèi)存中獲得一定數(shù)量的頁(yè)面,把當(dāng)前不訪問(wèn)的頁(yè)面置換出去,為需要頁(yè)面的任務(wù)騰出空間,這種置換具有不確定性,因此在實(shí)時(shí)操作系統(tǒng)中一般不采用虛擬存儲(chǔ)技術(shù)。時(shí)間管理Linux系統(tǒng)有兩個(gè)時(shí)鐘,一個(gè)是實(shí)時(shí)時(shí)鐘,僅在操作系統(tǒng)關(guān)機(jī)時(shí),在電池供電情況下計(jì)時(shí)。另一個(gè)是系統(tǒng)時(shí)鐘,開(kāi)機(jī)時(shí)系統(tǒng)時(shí)鐘根據(jù)實(shí)時(shí)時(shí)鐘進(jìn)行初始化,然后系統(tǒng)根據(jù)頻率節(jié)拍進(jìn)行周期性中斷計(jì)時(shí),系統(tǒng)時(shí)鐘在關(guān)機(jī)下是不存在的。在關(guān)機(jī)時(shí)和實(shí)時(shí)時(shí)鐘進(jìn)行同步。Ucos時(shí)間管理與linux大體相同也是通過(guò)定時(shí)中斷來(lái)實(shí)現(xiàn)。文件系統(tǒng)Linux文件系統(tǒng)繼承了unix系統(tǒng)的文件系統(tǒng)功能特性,還采用了EXT2文件系統(tǒng),EXT2功能強(qiáng)大,易擴(kuò)充,性能上全面優(yōu)化。還有虛擬文件系統(tǒng),使得linux可以支持多個(gè)不同的文件系統(tǒng)。/proc文件系統(tǒng)是一個(gè)偽文件系統(tǒng),用戶和應(yīng)用程序可以通過(guò)它得到系統(tǒng)信息,改變內(nèi)核的某些參數(shù)。而標(biāo)準(zhǔn)的ucos系統(tǒng)不提供文件系統(tǒng)??梢浦残?ucos移植首先需要硬件的支持。處理器的C編譯器能產(chǎn)生可重入代碼,且用C語(yǔ)言就可以打開(kāi)和關(guān)閉中斷;處理器支持中斷,并能產(chǎn)生定時(shí)中斷;處理器支持足夠的RAM(幾K字節(jié)),作為多任務(wù)環(huán)境下的任務(wù)堆棧;處理器有將堆棧指針和其他CPU寄存器讀出和存儲(chǔ)到堆棧或內(nèi)存中的指令。其次Ucos的移植大體分為三部分:1.與處理器無(wú)關(guān)的內(nèi)核代碼,2.與處理器有關(guān)的核心代碼3.與軟硬件環(huán)境配置相關(guān)的配置代碼。移植工作的關(guān)鍵是與處理器相關(guān)的核心代碼。大體包括與處理器相關(guān)的數(shù)據(jù)類(lèi)型的定義,宏定義,軟中斷的編寫(xiě),幾個(gè)關(guān)鍵匯編語(yǔ)言函數(shù)和c語(yǔ)言函數(shù)的編寫(xiě)。總體來(lái)說(shuō),ucos占用空間少,效率高,移植方便簡(jiǎn)單。Linux的移植大體分為3部分。1.建立開(kāi)發(fā)環(huán)境,2.修改配置文件,3.編譯內(nèi)核。具體說(shuō)需要修改源代碼,使其支持硬件,根據(jù)目標(biāo)板修改配置端口,使用make menuconfig 裁剪你不需要的驅(qū)動(dòng)或者添加需要的驅(qū)動(dòng),熟悉uboot、內(nèi)核、文件系統(tǒng)的的啟動(dòng)過(guò)程,修改啟動(dòng)地址等等。移植工作相對(duì)ucos復(fù)雜得多,而且占用空間較大,幾百k字節(jié)以上,實(shí)時(shí)性也不好。用戶界面Linux具有良好的用戶界面,包括用戶界面shell,和系統(tǒng)調(diào)用界面。而ucos則不具備,需要通過(guò)第三方圖形界面系統(tǒng)來(lái)彌補(bǔ),如:uc/gui.系統(tǒng)工具Linux中有一套實(shí)用系統(tǒng)工具,可分為三類(lèi):1,編輯器,用于編輯文件。2,過(guò)濾器,用于接受數(shù)據(jù)并過(guò)濾數(shù)據(jù)3,交互程序,允許用戶發(fā)送或接受其他用戶信息。Ucos中則沒(méi)有。 除此之外,ucos還支持一些比較好的機(jī)制,如信號(hào)量,用以實(shí)現(xiàn)任務(wù)與任務(wù)之間,任務(wù)與中斷服務(wù)程序之間的同步和互斥問(wèn)題;消息隊(duì)列,用以實(shí)現(xiàn)任務(wù)間的緩沖通信;郵箱,一種低開(kāi)銷(xiāo)的傳送信息機(jī)制;優(yōu)先級(jí)繼承協(xié)議和天花板協(xié)議,用以解決任務(wù)調(diào)度是阻塞的問(wèn)題。但標(biāo)準(zhǔn)的ucos無(wú)輸入輸出管理,沒(méi)有網(wǎng)絡(luò)服務(wù),而linux則提供了豐富的網(wǎng)絡(luò)功能,包括支持internet,文件傳輸,遠(yuǎn)程訪問(wèn)等,方便使用。另外,linux還具有設(shè)備的獨(dú)立性,將所有外部設(shè)備
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年生態(tài)旅游可持續(xù)發(fā)展規(guī)劃與管理旅游目的地生態(tài)旅游發(fā)展規(guī)劃報(bào)告
- 智能電網(wǎng)在2025年能源行業(yè)中的應(yīng)用與產(chǎn)業(yè)生態(tài)構(gòu)建報(bào)告
- 智能設(shè)備配對(duì)管理制度
- 大公司工廠績(jī)效管理制度
- 印刷廠安全生產(chǎn)管理制度
- 婦產(chǎn)科儀器設(shè)備管理制度
- 護(hù)理制度流程化管理制度
- 客服辦公室設(shè)備管理制度
- 春季魚(yú)塘開(kāi)口管理制度
- 產(chǎn)品銷(xiāo)售群規(guī)定管理制度
- 托克遜縣寶源長(zhǎng)石礦廠新疆托克遜縣桑樹(shù)園子南山銅礦3萬(wàn)噸/年采礦項(xiàng)目環(huán)評(píng)報(bào)告
- 陜西省西安高中2025屆高二化學(xué)第二學(xué)期期末達(dá)標(biāo)檢測(cè)試題含解析
- 2025年江西報(bào)業(yè)傳媒集團(tuán)有限責(zé)任公司招聘筆試沖刺題(帶答案解析)
- (2025)《公共基礎(chǔ)知識(shí)》試真題庫(kù)與答案
- 江西省南昌市第一中學(xué)教育集團(tuán)2023-2024學(xué)年八年級(jí)下學(xué)期數(shù)學(xué)期末試卷(含答案)
- 瓦斯抽采考試題庫(kù)及答案
- 2025年班組長(zhǎng)個(gè)人職業(yè)素養(yǎng)知識(shí)競(jìng)賽考試題庫(kù)500題(含答案)
- 網(wǎng)絡(luò)題庫(kù)財(cái)務(wù)會(huì)計(jì)知識(shí)競(jìng)賽1000題(僅供自行學(xué)習(xí)使用)
- 教研員考試題庫(kù)及答案
- 關(guān)于衛(wèi)生院“十五五”發(fā)展規(guī)劃(完整本)
- 地生中考模擬試題及答案
評(píng)論
0/150
提交評(píng)論