基于ARM的嵌入式操作系統(tǒng)概述
嵌入式操作系統(tǒng)(Embedded Operation System,EOS)是指用于嵌入式系統(tǒng)的操作系統(tǒng)。嵌入式系統(tǒng)分為4層,硬件層、驅(qū)動(dòng)層、操作系統(tǒng)層和應(yīng)用層,如下圖所示。嵌入式操作系統(tǒng)是負(fù)責(zé)嵌入式系統(tǒng)的全部軟、硬件資源的分配、任務(wù)調(diào)度,控制、協(xié)調(diào)并發(fā)活動(dòng)。它必須體現(xiàn)其所在系統(tǒng)的特征,能夠通過裝卸某些模塊來(lái)達(dá)到系統(tǒng)所要求的功能,是一種用途廣泛的系統(tǒng)軟件。
本文引用地址:http://cafeforensic.com/article/221284.htm嵌入式LINUX
嵌入式linux 是將日益流行的Linux操作系統(tǒng)進(jìn)行裁剪修改,使之能在嵌入式計(jì)算機(jī)系統(tǒng)上運(yùn)行的一種操作系統(tǒng)。 Linux做嵌入式的優(yōu)勢(shì),首先,Linux是開放源代碼;其次,Linux的內(nèi)核小、效率高,可以定制,其系統(tǒng)內(nèi)核最小只有約134KB;第三,Linux是免費(fèi)的OS,Linux還有著嵌入式操作系統(tǒng)所需要的很多特色,突出的就是Linux適應(yīng)于多種CPU和多種硬件平臺(tái)而且性能穩(wěn)定,裁剪性很好,開發(fā)和使用都很容易。同時(shí),Linux內(nèi)核的結(jié)構(gòu)在網(wǎng)絡(luò)方面是非常完整的,Linux對(duì)網(wǎng)絡(luò)中最常用的TCP/IP協(xié)議有最完備的支持。提供了包括十兆、百兆、千兆的以太網(wǎng)絡(luò),以及無(wú)線網(wǎng)絡(luò),Token Ring(令牌環(huán)網(wǎng))、光纖甚至衛(wèi)星的支持。
移植步驟:1.Bootloader的移植;2.嵌入式Linux操作系統(tǒng)內(nèi)核的移植;3.嵌入式Linux操作系統(tǒng)根文件系統(tǒng)的創(chuàng)建;4.電路板上外設(shè)Linux驅(qū)動(dòng)程序的編寫。
WinCE是微軟公司嵌入式、移動(dòng)計(jì)算平臺(tái)的基礎(chǔ),它是一個(gè)開放的、可升級(jí)的32位嵌入式操作系統(tǒng),是基于掌上型電腦類的電子設(shè)備操作系統(tǒng),它是精簡(jiǎn)的Windows 95,Win CE的圖形用戶界面相當(dāng)出色。WinCE是從整體上為有限資源的平臺(tái)設(shè)計(jì)的多線程、完整優(yōu)先權(quán)、多任務(wù)的操作系統(tǒng)。它的模塊化設(shè)計(jì)允許它對(duì)于從掌上電腦到專用的工業(yè)控制器的用戶電子設(shè)備進(jìn)行定制。操作系統(tǒng)的基本內(nèi)核需要至少200K的ROM。
一般來(lái)說,一個(gè)WinCE系統(tǒng)包括四層結(jié)構(gòu):應(yīng)用程序、WinCE內(nèi)核映像、板級(jí)支持包(BSP)、硬件平臺(tái)。而基本軟件平臺(tái)則主要由WinCE系統(tǒng)內(nèi)核映像(OS Image)和板卡支持包(BSP)兩部分組成。因?yàn)閃inCE系統(tǒng)是一個(gè)軟硬件緊密結(jié)合的系統(tǒng),因此即使CPU處理器相同,但是如果開發(fā)板上的外圍硬件不相同,這個(gè)時(shí)候還是需要修改BSP來(lái)完成一個(gè)新的BSP。因此換句話說,就是WinCE的移植過程主要是改寫B(tài)SP的過程。
Android 是一個(gè)包括操作系統(tǒng),中間件以及一些重要應(yīng)用程序的專門針對(duì)移動(dòng)設(shè)備的層次結(jié)構(gòu)的軟件集。Android 作為一個(gè)完全開源的操作系統(tǒng),是由操作系統(tǒng)Linux、中間件以及核心應(yīng)用程序組成的軟件棧。通過 android SDK 提供的 API 以及相應(yīng)的開發(fā)工具, 程序員可以很方便的開發(fā)android平臺(tái)上的應(yīng)用程序。其整個(gè)系統(tǒng)由應(yīng)用程序,應(yīng)用程序框架,應(yīng)用程序庫(kù),Android運(yùn)行庫(kù),Linux內(nèi)核(Linux Kernel)五個(gè)部分組成。Android操作系統(tǒng)內(nèi)置了一部分應(yīng)用程序, 包括電子郵件客戶端、SMS程序、日歷、地圖、瀏覽器、通訊錄以及其他的程序,值得一提的是這些所有的程序都是用java編寫的。
移植的主要的工作是驅(qū)動(dòng),硬件抽象層的移植。為了更好地理解和調(diào)試系統(tǒng),也應(yīng)該適當(dāng)?shù)亓私馍蠈訉?duì)硬件抽象層的調(diào)用情況。
TinyOS
TinyOS是一個(gè)開源的嵌入式操作系統(tǒng),它是由加州大學(xué)的伯利克分校開發(fā)出來(lái)的,主要應(yīng)用于無(wú)線傳感器網(wǎng)絡(luò)方面。程序采用的是模塊化設(shè)計(jì),所以它的程序核心往往都很小,一般來(lái)說核心代碼和數(shù)據(jù)大概在400 Bytes左右,能夠突破傳感器存儲(chǔ)資源少的限制。TinyOS提供一系列可重用的組件,一個(gè)應(yīng)用程序可以通過連接配置文件(A Wiring Specification)將各種組件連接起來(lái),以完成它所需要的功能。
嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)
在工業(yè)控制、 軍事設(shè)備、航空航天等領(lǐng)域?qū)ο到y(tǒng)的響應(yīng)時(shí)間有苛刻的要求,這就需要使用實(shí)時(shí)系統(tǒng)。當(dāng)外界事件或數(shù)據(jù)產(chǎn)生時(shí),能夠接受并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定的時(shí)間之內(nèi)來(lái)控制生產(chǎn)過程或?qū)μ幚硐到y(tǒng)作出快速響應(yīng),并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致運(yùn)行的嵌入式操作系統(tǒng)。故對(duì)嵌入式實(shí)時(shí)操作系統(tǒng)的理解應(yīng)該建立在對(duì)嵌入式系統(tǒng)的理解之上加入對(duì)響應(yīng)時(shí)間的要求。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)linux相關(guān)文章:linux教程
評(píng)論