




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
嵌入式操作系統(tǒng)
陳天洲、陳文智
實(shí)時(shí)性簡介
對于什么是實(shí)前系盛POSIX1003.b作了
,這樣的定義:指系統(tǒng)能夠在限定的響應(yīng)時(shí)
間內(nèi)提供所需水平的服務(wù)
;實(shí)時(shí)系統(tǒng)根據(jù)其對于實(shí)時(shí)性要求的不同,
-可以分為軟實(shí)時(shí)和硬實(shí)時(shí)兩種類型
?一個(gè)計(jì)算機(jī)系統(tǒng)為了提供對于實(shí)時(shí)性的支
持,它的操作系統(tǒng)必須對于CPU和其他資源
進(jìn)行有效的調(diào)度和管理,即實(shí)時(shí)調(diào)度
實(shí)時(shí)調(diào)度分類
各種實(shí)時(shí)操作系統(tǒng)的實(shí)時(shí)調(diào)度算法從調(diào)度策略上
可以分為如下三種類別:基于優(yōu)先級的調(diào)度算法
.(Priority-drivenscheduling-PD)、基于CPU使用
二比例的共享式的調(diào)度算法(Share-driven
scheduling-SD)>以及基于時(shí)間的進(jìn)程調(diào)度算法
"(Time-drivenscheduling-TD)
?從調(diào)度方式上來講可以分為:可搶占、不可搶占;
從時(shí)間片來分:固定時(shí)間片、可變時(shí)間片
實(shí)時(shí)性改造
對操作系統(tǒng)實(shí)時(shí)性的擴(kuò)展可以從兩方面進(jìn)
:行:向外擴(kuò)展和向上擴(kuò)展
:向外擴(kuò)展是從范圍上擴(kuò)展,讓實(shí)時(shí)系統(tǒng)支
,持的范圍更廣,支持的設(shè)備更多
:向上擴(kuò)展是擴(kuò)充操作系統(tǒng)內(nèi)核,從功能上
擴(kuò)充系統(tǒng)的實(shí)時(shí)處理
Linux的實(shí)時(shí)性
一般的通用linux已經(jīng)具備一定的實(shí)時(shí)性一
但無法滿足硬實(shí)時(shí)的要求
1-運(yùn)行于linux內(nèi)核空間的進(jìn)程(核心態(tài))不能被
;搶先
--在linux中,中斷有時(shí)候會出于保護(hù)臨界區(qū)操作
的目的而被屏蔽
-通用linux的時(shí)間滴答長度為10ms(硬件時(shí)鐘頻
率100HZ),但是這對于時(shí)間精度要求很高
(微秒級)的實(shí)時(shí)進(jìn)程來說是不夠的
嵌入式Linux的實(shí)時(shí)性改造
:可以引入一個(gè)雙內(nèi)核結(jié)構(gòu)
r對Linux內(nèi)核代碼作一些修改Linux本身的任務(wù)以
,及Linux內(nèi)核本身作為一個(gè)優(yōu)先級最低的任務(wù),而
?實(shí)時(shí)任務(wù)作為優(yōu)先級最高的任務(wù)以Linux的內(nèi)核模
^(LoadableKernelModule,LKM)的形式存在的
?資源核方法:這種方法是為解決傳統(tǒng)實(shí)時(shí)操作系
統(tǒng)中固定優(yōu)先級搶占式調(diào)度策略的局限性而產(chǎn)生
的
Linux2.6內(nèi)核實(shí)時(shí)性分析
2.6中內(nèi)核自身是可搶占的,它允許自身在執(zhí)
行任務(wù)時(shí)被打斷
2.6版本的Linux內(nèi)核使用了由IngoMolnar
開發(fā)的新的調(diào)度器算法,稱為0(1)算法
RTLinux硬實(shí)時(shí)操作系統(tǒng)簡介
IRTLinux是一硬實(shí)時(shí)操作系統(tǒng)
實(shí)現(xiàn)了一個(gè)微內(nèi)核的小的實(shí)時(shí)操作系統(tǒng),而將普
通Linux系統(tǒng)作為一個(gè)該操作系統(tǒng)中的一個(gè)低優(yōu)先
二級的任務(wù)來運(yùn)行
普通Linux系統(tǒng)中的任務(wù)可以通過FIFO和實(shí)時(shí)任務(wù)
進(jìn)行通信
?通過軟件來模擬硬件的中斷控制器
?RT-Linux通過將系統(tǒng)的實(shí)時(shí)時(shí)鐘設(shè)置為單次觸發(fā)
狀態(tài),可以提供十幾個(gè)微秒級的調(diào)度粒度
RTLiiwx內(nèi)核結(jié)構(gòu)
啟動(dòng)優(yōu)化基本技術(shù)
一、固化各種不可擴(kuò)展硬件的設(shè)置,盡量標(biāo)準(zhǔn)化
可擴(kuò)展設(shè)備的接口,節(jié)約設(shè)備檢測時(shí)間。
二、LazyLoading,也即不加載當(dāng)前非必需的模
,塊,這些模塊可以在啟動(dòng)后待機(jī)時(shí)間內(nèi)加載,或
二者在具體用到之后再加載,把啟動(dòng)時(shí)間打散,從
-而縮短對用戶來說至關(guān)重要的反應(yīng)時(shí)間
(RespondingTime)。
?三、任務(wù)并行化,很多系統(tǒng)在啟動(dòng)任務(wù)時(shí),是順
序執(zhí)行,按部就班。為了減少啟動(dòng)時(shí)間,我們可
以考慮任務(wù)的并行化,以減少啟動(dòng)時(shí)間的消耗。
嵌入式Linux啟動(dòng)過程分析
在內(nèi)核運(yùn)行之前需要系統(tǒng)引導(dǎo)程序(Bootloader)完
成加載內(nèi)核和一些輔助性的工作,然后跳轉(zhuǎn)到內(nèi)
核代碼的起始地址并執(zhí)行。
整個(gè)armlinux內(nèi)核的啟動(dòng)可分為三個(gè)階段:第一
階段主要是進(jìn)行cpu和體系結(jié)構(gòu)的檢查、cpu本身
的初始化以及頁表的建立等;第二階段主要是對
系統(tǒng)中的一些基礎(chǔ)設(shè)施進(jìn)行初始化;最后則是更
高層次的初始化
嵌入式Linux的啟動(dòng)優(yōu)化
;系統(tǒng)任務(wù)裁減
:-裁減不適合本系統(tǒng)的部分任務(wù)
:系統(tǒng)任務(wù)并行
[-明確任務(wù)依賴關(guān)系
-—任務(wù)并行啟動(dòng)(make-j工具的使用)
電源管理綜述
f現(xiàn)在Linux中,最主要的電源管理方案主要
I有三種:APM、ACPI、DPM
■傳統(tǒng)的APM(AdvancedPowerManagement)
?是一種基于bios的電源管理標(biāo)準(zhǔn)
ACPI(AdvancedConfigurationandPower
Interface),它主要是將電源管理的主要執(zhí)
行者由bios轉(zhuǎn)換成為操作系統(tǒng),這樣可以提
供更大的靈活性以及可擴(kuò)展性
DPM簡介
DPM—DynamicPowerManagement
在面向Linux的DPM架構(gòu)中,內(nèi)核中的DPM
子系統(tǒng)負(fù)責(zé)維持整個(gè)系統(tǒng)的電源狀態(tài)
并把DPM系統(tǒng)的不同電源管理模塊聯(lián)系在
一起。.
?可以把DPM看成是為驅(qū)動(dòng)程序、中間件和
應(yīng)用程序提供服務(wù)的元素
DPM框架
存儲管理
多程序模型
-這是沒有硬件地址轉(zhuǎn)換的內(nèi)存管理模型。即使
沒有硬件地址轉(zhuǎn)換功能支持,多個(gè)程序也可以
共享相同的物理地址
具有地址轉(zhuǎn)換硬件的內(nèi)存管理模型
-應(yīng)用程序使用的是虛擬地址,CPU實(shí)際執(zhí)行程
序所示用的是物理地址,從虛擬地址到物理地
址的轉(zhuǎn)換需要操作系統(tǒng)和MMU硬件的參與
高速緩沖(Cache)簡介
BufferCache
PageCache
擘SwapCache
HardwareCache
虛擬存儲功能
7巨大的尋址空間一
內(nèi)存映射
公平的物理內(nèi)存分配
富P共享虛擬內(nèi)存
主存與輔存層次信息傳送
頁式虛擬存儲器
段式虛擬存儲器
段頁式虛擬存儲器
Linux存儲管理
Linux使用了上述第二種存儲管理模型。
應(yīng)用程序在標(biāo)準(zhǔn)Linux中的加載使用了“按
需”分頁的策略
Linux的內(nèi)存管理采取的是分頁機(jī)制
Linux虛擬內(nèi)存的實(shí)現(xiàn),需要幾種不同的機(jī)
來
制實(shí)現(xiàn):地址映射機(jī)制、內(nèi)存的分配與
收
回
制
機(jī)、請求頁機(jī)制、交換機(jī)制、內(nèi)存共享
O
地址映射機(jī)制
地址映射機(jī)制,主要完成主存、輔存和虛存
之間的關(guān)聯(lián)
Linux采用一系列的數(shù)據(jù)結(jié)構(gòu)和一個(gè)硬件緩
寸存(TLB)來實(shí)現(xiàn)地址映射機(jī)制
尊Linux內(nèi)核的映射機(jī)制被設(shè)計(jì)成三層,在頁
面目錄和頁表之間增設(shè)了一層“中間目錄”
內(nèi)存的分配與回收
最近被執(zhí)行過的地址轉(zhuǎn)換結(jié)果會被保留在
MMU的轉(zhuǎn)換后備緩存(TLB)中
頁分配使用2的幕數(shù)大小的塊
Linux使用Buddy算法有效地分配和回收頁
塊
Buddy算法
這個(gè)算法首先找它請求大小的內(nèi)存頁塊,它跟蹤
free_area數(shù)據(jù)結(jié)構(gòu)中的list單元隊(duì)列中的空閑頁的
鏈表
如果找到的頁塊大于請求的頁塊,則該塊將被分
開成為合適大小的塊
?因?yàn)樗械膲K都是2的幕次的頁數(shù)組成,所以這個(gè)
分割的過程比較簡單,你只需要將它平分就可以
了??臻e的塊則放到適當(dāng)?shù)年?duì)列,而分配的頁塊
則返回給調(diào)用者。
pCLinux存儲管理
其設(shè)計(jì)針對沒有MMU的處理器,不能使用處理器
的虛擬內(nèi)存管理技術(shù)
KLinux仍采用存儲器的分頁管理,系統(tǒng)在啟動(dòng)時(shí)
把實(shí)際存儲器進(jìn)行分頁
沒有MMU管理,所以實(shí)際上pCLinux采用實(shí)存儲
罌管理策略(realmemeorymanagement)
?IJCLinux系統(tǒng)對于內(nèi)存的訪問是直接
二個(gè)進(jìn)程在執(zhí)行前,系統(tǒng)必須為進(jìn)程分配足夠的
連續(xù)地址空間,然后全部載入主存儲器的連續(xù)空
間中
嵌入式系統(tǒng)的文件系統(tǒng)管理
:嵌入式系統(tǒng)的物理存儲
|-Flash存儲器由于其安全性高,存儲密度大,體
S積小,價(jià)格相對便宜,是嵌入式領(lǐng)域中最受歡
r迎的一類存儲器
三嵌入式系統(tǒng)中使用Rash存儲器,通常有兩
一種使用方式
一只進(jìn)行只讀訪問
-在系統(tǒng)運(yùn)行的時(shí)候既需要進(jìn)行讀操作,也需要
進(jìn)行寫操作。
存儲設(shè)備的管理方式
直接訪問Rash
一自己編寫F2sh的驅(qū)動(dòng)程序(即基本操作函數(shù))
IFlashDisk
三-有些Flash存儲設(shè)備上附帶了控制電路,并且提
二供了IDE的接口。這些設(shè)備通常都是模擬了PC
中的IDE之類設(shè)備的接口
?專用于Flash的文件系統(tǒng)
-JFFS等文件系統(tǒng),目前已經(jīng)非常成熟,并有了
成功的應(yīng)用
嵌入式文件系統(tǒng)的類型
RAMDISK
-在RAMDISK文件系統(tǒng)中,當(dāng)系統(tǒng)啟動(dòng)的時(shí)候,會把外存中的映像
£文件加壓縮到內(nèi)存中,形成RAMDISK環(huán)境,便可以開始運(yùn)行程序
ETo這種文件系統(tǒng)最大的問題就是,運(yùn)行的程序的代碼在內(nèi)存和
|外存都占據(jù)了空間
cramfs
-cramfs也是一種壓縮式的文件系統(tǒng)。但是它不是一次性地把所有
,內(nèi)容都解壓縮到內(nèi)存中,而所需數(shù)據(jù)的位置,計(jì)算數(shù)據(jù)在cramfs
一的位置,然后把所需的部分解壓縮到內(nèi)存中,再通過訪問內(nèi)存來
得到所需的數(shù)據(jù)。由于這個(gè)整個(gè)過程,包括內(nèi)存中數(shù)據(jù)的位置都
是由cramfs文件系統(tǒng)自己來維護(hù)。所以對開發(fā)人員是透明的,也
節(jié)省了空間。
?romfs
-romfs是一種只讀文件系統(tǒng),占用的系統(tǒng)資源也比較小。在romfs
中,文件系統(tǒng)的管理代碼占用的空間也比較小,但是romfs的文件
訪問權(quán)限和屬主這些信息尚沒有完全實(shí)現(xiàn)。此外,由于romfs文件
系統(tǒng)是只讀的,所以可以做得很小。
日志文件系統(tǒng)
在嵌入式設(shè)備斷電可能性比一般的計(jì)算機(jī)
的可能性要大
日志文件系統(tǒng)相對于普通文件系統(tǒng),主要
的變化就是增加了日志記錄
JFFS與JFFS2文件系統(tǒng)
2000年Axis公司發(fā)布了他們開發(fā)的日志式
Flash文件系統(tǒng)
JFFS文件系統(tǒng)是開放源代碼的文件系統(tǒng),
可以說是專門用于嵌入式Linux等系統(tǒng)的
JFFS是直接在Flash設(shè)備上實(shí)現(xiàn)的文件系統(tǒng)
?JFFS2沒有為Rash設(shè)備專門設(shè)計(jì)一個(gè)轉(zhuǎn)換層
來模擬普通的文件系統(tǒng),而是直接對日ash
進(jìn)行操作
輸入輸出與設(shè)備管理概述
1/0設(shè)備抽象
I/O調(diào)度
緩沖技術(shù)
高速緩存
?錯(cuò)誤處理
?性能與優(yōu)化
■/0設(shè)備抽象
不同的I/O設(shè)備,它們的讀寫方式不盡相同
對于應(yīng)用程序來說最好是所有的設(shè)備都可
以通過一個(gè)相同的界面來進(jìn)行讀寫操作
需要通過一套機(jī)制對某一類相似的I/。設(shè)備
一的具體操作細(xì)節(jié)進(jìn)行封裝
?在操作系統(tǒng)中是通過設(shè)備驅(qū)動(dòng)來實(shí)現(xiàn)的
I/O設(shè)備抽象層次結(jié)構(gòu)
操作系統(tǒng)內(nèi)核
r一
操作系統(tǒng)內(nèi)核I/O子系統(tǒng)
-E軟
件
■LCD馬區(qū)動(dòng)觸摸屏驅(qū)..PCIbus驅(qū)
動(dòng)動(dòng)
LCD控制觸摸屏控PCIbus控
器制器制器
硬
件
LCD觸摸屏PCIbus
1/0調(diào)度
i/o調(diào)度指的是對一組i/o請求進(jìn)行安排,決
定它們的執(zhí)行順序
操作系統(tǒng)一般會把對某個(gè)設(shè)備的I/O請求放
,入那個(gè)設(shè)備的請求隊(duì)列中去
彳「然后由I/O調(diào)度器對這些請求進(jìn)行重新安排
以改進(jìn)系統(tǒng)的整體性能
緩沖技術(shù)
引入緩沖技術(shù),主要有以下三個(gè)原因:
-一、是協(xié)調(diào)數(shù)據(jù)產(chǎn)生設(shè)備(producer)和數(shù)據(jù)接收設(shè)備
|(consumer)的速度
:-二、是協(xié)調(diào)數(shù)據(jù)產(chǎn)生設(shè)備和數(shù)據(jù)接收設(shè)備的數(shù)據(jù)大小
:-三、是因?yàn)闉榱吮WC寫入外設(shè)的數(shù)據(jù)的一致性,要先
把數(shù)據(jù)轉(zhuǎn)移到內(nèi)核空間
?在緩沖技術(shù)(Bu仟ering)中,兩個(gè)設(shè)備之間或者
二個(gè)設(shè)備與一個(gè)應(yīng)用程序之間需要傳輸數(shù)據(jù)時(shí),
這些數(shù)據(jù)會先保存在內(nèi)存中,這個(gè)內(nèi)存區(qū)域稱為
緩沖區(qū)
局速緩存
高速緩存(Caching)是指把低速存儲器的
部分?jǐn)?shù)據(jù)保存在高速存儲器中以提高系統(tǒng)
性能的技術(shù)
緩沖技術(shù)跟緩存技術(shù)的區(qū)別:緩沖塊中的
數(shù)據(jù)是獨(dú)一無二僅此一份的,而緩存中的
數(shù)據(jù)是低速存儲器中的數(shù)據(jù)的拷貝。
錯(cuò)誤處理
使用保護(hù)內(nèi)存
;I/O設(shè)備和傳輸操作在很多情況下都會發(fā)生
?錯(cuò)誤,有的是暫時(shí)性的,有的是永久性的
「操作系統(tǒng)的錯(cuò)誤提示能力相對硬件設(shè)備來
說一般都比較低
?一個(gè)硬件設(shè)備可以提供非常豐富和詳細(xì)的
出錯(cuò)信息,但是操作系統(tǒng)往往會忽略其中
的很多信息
/0性能對系統(tǒng)性能的影響
首先它需要CPU執(zhí)行設(shè)備驅(qū)動(dòng)程序,并對I/O請求
進(jìn)行調(diào)度
,其次,I/O操作造成的程序執(zhí)行上下文切換
’(contextswitch)也加重了CPU和緩存的負(fù)擔(dān)
;并且I/O是中斷操作的主要組成部分,內(nèi)核的中斷
處理性能稍有不足就會在I/O操作中暴露無遺
?最后,I/O操作需要頻繁的在設(shè)備控制器與內(nèi)存、
內(nèi)存中用戶空間與內(nèi)核空間緩沖區(qū)之間拷貝數(shù)據(jù)
性能與優(yōu)化
減少上下文切換次數(shù)。
減少數(shù)據(jù)在內(nèi)存與設(shè)備之間復(fù)制的次數(shù)。
通過使用更大的數(shù)據(jù)傳輸單元、智能化的設(shè)備控
制器和輪循(如果空等可以有效減少)等手段來
減少中斷次數(shù)。
把一部分I/O處理工作轉(zhuǎn)移到硬件設(shè)備中去,使得
外設(shè)能夠跟CPU形成一定的并行處理,分擔(dān)CPU的
任務(wù)。
?在CPU、存儲器、總線和I/O之間平衡工作量。因
為任何一部分的過載都會導(dǎo)致其余部分的等待,
從而造成整體性能下降。
構(gòu)件化操作系統(tǒng)
傳統(tǒng)操作系統(tǒng)及視窗操作系統(tǒng)
I因特網(wǎng)時(shí)代應(yīng)用模型的演變
硬件設(shè)備即插即用
,體系結(jié)構(gòu)由固定變?yōu)殪`活
r聲,瀏覽器成為統(tǒng)一的用戶界面
-行.操作系統(tǒng)對XML的支持
一?服務(wù)器■中間件■用戶”編程模型
?操作系統(tǒng)與虛擬機(jī)
?基于中間件技術(shù)的嵌入式操作系統(tǒng)
?基于中間件技術(shù)的操作系統(tǒng)的技術(shù)優(yōu)勢
傳統(tǒng)操作系統(tǒng)及視窗操作系統(tǒng)
:因特網(wǎng)時(shí)代以前的傳統(tǒng)應(yīng)用軟件,大多是
I靜態(tài)鏈接而成
I由某一家公司提供,所有功能都集成在同
-一個(gè)軟件中,一旦鏈接之后就不可能替換
.其中的軟件模塊
?那時(shí)的操作系統(tǒng)有兩大功能:首先它向用
戶提供一個(gè)分時(shí)系統(tǒng);其次是向用戶提供
一組函數(shù)庫
因特網(wǎng)時(shí)代應(yīng)用模型的演變
程序作為動(dòng)態(tài)構(gòu)件自動(dòng)加載運(yùn)行,而不需
要由用戶去逐個(gè)啟動(dòng)。
構(gòu)件支持腳本語言控制,多個(gè)構(gòu)件可以相
互操作,交換信息。
■以瀏覽器為交互式操作界面,既便于有戶
掌握,又為程序開發(fā)提供了統(tǒng)一標(biāo)準(zhǔn)。
?網(wǎng)絡(luò)化資源管理,程序自動(dòng)下載運(yùn)行,不
需要用戶介入。
因特網(wǎng)時(shí)代應(yīng)用模型的演變
?OMF
圖表連續(xù)圖像解壓)音頻
來自不同軟件開發(fā)商的軟件模塊動(dòng)態(tài)組織起來運(yùn)行
硬件設(shè)備即插即用
因特網(wǎng)時(shí)代要求硬件設(shè)備能即插即用
解決方案只能是在驅(qū)動(dòng)程序?qū)ο笾屑尤敕菆?zhí)行的描述信息,
這種描述信息就是通常所說的元數(shù)據(jù)(metadata),它可
以“告訴”訪問者它有哪些特性和功能。
:元數(shù)據(jù)可以是XML形式、二進(jìn)制或兩者兼有。我們知道對
象加上元數(shù)據(jù)就是構(gòu)件。
?操作系統(tǒng)可以根據(jù)構(gòu)件中的元數(shù)據(jù)生成中間件。這種在內(nèi)
核里動(dòng)態(tài)生成的中間件是連接驅(qū)動(dòng)構(gòu)件與用戶程序的“橋
梁”,
?而這“橋梁”是內(nèi)核根據(jù)硬件設(shè)備的元數(shù)據(jù)動(dòng)態(tài)生成的,此
時(shí)的新型操作系統(tǒng)仍然是“以不變應(yīng)萬變”
體系結(jié)構(gòu)由固定變?yōu)殪`活
操作系統(tǒng)體系結(jié)構(gòu)大致分為兩種:大內(nèi)核
*(MonolithicKernel)和微內(nèi)核(MicroKernel)
I大內(nèi)核操作系統(tǒng)將圖形、設(shè)備驅(qū)動(dòng)、文件系統(tǒng)等
£全部功能在操作系統(tǒng)內(nèi)核中實(shí)現(xiàn),運(yùn)行在內(nèi)核狀
E態(tài)、同一地址空間。優(yōu)點(diǎn)是減少進(jìn)程間通信和狀
p態(tài)切換的系統(tǒng)開銷,獲得較好的運(yùn)行效率。缺點(diǎn)
二是內(nèi)核龐大,占用資源多,剪裁不易,并且一旦
一個(gè)別驅(qū)動(dòng)程序運(yùn)行出錯(cuò),就會導(dǎo)致整個(gè)系統(tǒng)崩潰,
穩(wěn)定性、安全性不好。
?微內(nèi)核在內(nèi)核中只實(shí)現(xiàn)那些必須由內(nèi)核實(shí)現(xiàn)的基
本功能,而將圖形、文件系統(tǒng)、設(shè)備驅(qū)動(dòng)、通訊
等功能放在內(nèi)核之外,作為系統(tǒng)服務(wù)來提供相應(yīng)
的功能,這些程序在用戶狀態(tài)下運(yùn)行。這樣做的
優(yōu)點(diǎn)是有一個(gè)精煉的內(nèi)核,便于剪裁、移植。
靈活內(nèi)核技術(shù)
應(yīng)用軟件應(yīng)用軟件用戶狀態(tài)
_____.、
e用戶狀態(tài)
具旭II,;三宴
或
,U1J
內(nèi)根狀態(tài)
.ezOOM物件支情》m£S!I
內(nèi)存管理一j心.蘇方核優(yōu)態(tài)
硬麗由索層
硬件
瀏覽器成為統(tǒng)一的用戶界面
£
HTML
網(wǎng)頁可足置幻
(1
0@
S
?幺
基于
SKIN腳本語
技術(shù)的言控制
畫面
操作系統(tǒng)對XML的支持
XML文本描述語言的廣泛使用將是因特網(wǎng)時(shí)
代操作系統(tǒng)的另一明顯標(biāo)志
:XML的每個(gè)標(biāo)簽(tag)都可以由用戶定義
XML兼顧了對于人的可讀性和計(jì)算機(jī)的處理
效率
?XML已經(jīng)成了因特網(wǎng)信息交換的標(biāo)準(zhǔn),未來
的操作系統(tǒng)內(nèi)核會對XML進(jìn)行最有效的支持
因特網(wǎng)時(shí)代操作系統(tǒng)技術(shù)的發(fā)展
因特網(wǎng)時(shí)代摒作系統(tǒng)發(fā)展的技術(shù)背景
口網(wǎng)絡(luò)時(shí)代應(yīng)用
重點(diǎn)的轉(zhuǎn)移:基于桌面應(yīng)用基于網(wǎng)絡(luò)應(yīng)用
□用戶界面:圖形窗口瀏覽基
□應(yīng)用程序:I用尸安裝俎件、自動(dòng)颼
口操作系統(tǒng)的面向桌面系統(tǒng)面向網(wǎng)絡(luò)系統(tǒng)
發(fā)展趨勢:定型,固定應(yīng)EE
(MSWindows)(MicrosoftNet)
□面向網(wǎng)絡(luò)的關(guān)穰技術(shù):縈件的組件技術(shù)(OOM)
服務(wù)器■中間件■用戶”編程模型
操作系統(tǒng)與虛擬機(jī)
操作系統(tǒng)可以作為虛擬機(jī),直接提供中間
件的運(yùn)行環(huán)境
操作系統(tǒng)可以對應(yīng)用程序構(gòu)件進(jìn)行各種各
樣的控制,使得封裝好的構(gòu)件能夠適應(yīng)不
一同的運(yùn)行環(huán)境和用戶要求
二?操作系統(tǒng)利用中間件技術(shù)支持和控制應(yīng)用
程序的運(yùn)行環(huán)境,就形成了因特網(wǎng)時(shí)代操
作系統(tǒng)的關(guān)鍵技術(shù)
基于中間件技術(shù)的嵌入式操作系統(tǒng)
,■鶴翻翻*件技術(shù)’提供構(gòu)件運(yùn)行的虛擬機(jī)環(huán)
構(gòu)件的互操作性定義了編程語言無關(guān)、可擴(kuò)展、跨平臺的
二蕭二進(jìn)漱制標(biāo)薪準(zhǔn)a。nr相互作用通過一組稱作接口
等提供接口描述語言CDL,為服務(wù)器中新功能的實(shí)現(xiàn)提供了
?_方便,如腳本語言調(diào)用構(gòu)件對象函數(shù)等
運(yùn)行環(huán)境(虛擬機(jī))可以在操作系統(tǒng)上自動(dòng)生成中間件
(代理杓件),提供構(gòu)件定位、調(diào)管理、中間件自動(dòng)
生成、構(gòu)柞通信(進(jìn)程內(nèi)、跨進(jìn)程、網(wǎng)絡(luò)等不同運(yùn)行環(huán)
境)等機(jī)制
?件技術(shù)保證了軟件互操作性、版本升級獨(dú)立性和運(yùn)行環(huán)境
透心明工,吐,提供了提高系統(tǒng)安全、軟件協(xié)同開發(fā)、軟件容錯(cuò)、
可靠性、軟柞復(fù)用、軟件升級的有效手段
基于中間件技術(shù)的操作系統(tǒng)的技術(shù)
優(yōu)勢
提供系統(tǒng)的安全保護(hù)機(jī)制
硬件設(shè)備的即插即用
穩(wěn)定、健壯的系統(tǒng)特性
靈活內(nèi)核操作系統(tǒng)體系結(jié)構(gòu)
嵌入式Linux的特點(diǎn)
專用嵌入式實(shí)時(shí)操作系統(tǒng)嵌入式Linux操作系統(tǒng)
版權(quán)費(fèi)每生產(chǎn)一件產(chǎn)品需交納一份免費(fèi)
版權(quán)費(fèi)
購買費(fèi)用數(shù)十萬元(RMB)免費(fèi)
技術(shù)支持由開發(fā)商獨(dú)家提供有限的技全世界的自由軟件開發(fā)者提供支
術(shù)支持持
網(wǎng)絡(luò)特性_另加數(shù)十萬元(RMB)購買免費(fèi)且性能優(yōu)異
軟件移值難(因?yàn)槭欠忾]系統(tǒng))易,代碼開放(有許多應(yīng)用軟件支
持)
應(yīng)用產(chǎn)品開發(fā)周期長,因?yàn)榭蓞⒖嫉拇a有限短,新產(chǎn)品上市迅速,因?yàn)橛性S多I
公開的代碼可以參考和移植
實(shí)時(shí)性能好須改進(jìn),可用PT_Linux等模塊彌
補(bǔ)
穩(wěn)定性_______________W___________較好,但在高性能系統(tǒng)中須改進(jìn)
主流嵌入式Linux系統(tǒng)
fpCIinux
BEmbedix
.RTLinux
tRTAI
?MontaVistaLinux
?、嵌入式Linux的定義
嵌入式Linux(EmbededLinux)是指對Linux
經(jīng)過小型化裁剪后,能夠固化在容量只有
幾十萬字節(jié)或幾十億字節(jié)的存儲器芯片或
單片機(jī)中,應(yīng)用于特定嵌入式場合的專用
Linux操作系統(tǒng)
嵌入式Linux的優(yōu)勢
Linux系統(tǒng)是層次結(jié)構(gòu)且內(nèi)核完全開放
:強(qiáng)大的網(wǎng)絡(luò)支持功能
Linux具備一整套工具鏈,容易自行建立嵌
入式系統(tǒng)的開發(fā)環(huán)境和交叉運(yùn)行環(huán)境,并
一且可以跨越嵌入式系統(tǒng)開發(fā)中仿真工具的
障礙
?Linux具有廣泛的硬件支持特性
嵌入式Linux面臨的挑戰(zhàn)
-內(nèi)核不支持事件優(yōu)先級和搶占實(shí)時(shí)特性
-對Linux實(shí)時(shí)性的擴(kuò)展可以從兩方面進(jìn)行:
‘一?向外擴(kuò)展(讓實(shí)時(shí)系統(tǒng)支持的范圍更廣,支持的設(shè)
備更多)
?向上擴(kuò)展(擴(kuò)充Linux內(nèi)核,從功能上擴(kuò)充Linux的
實(shí)時(shí)處理和控制系統(tǒng))
RT-Linux的做法
-Linux本身的任務(wù)以及Linux內(nèi)核本身作為一個(gè)
優(yōu)先級最低的任務(wù)
-實(shí)時(shí)任務(wù)作為優(yōu)先級最高的任務(wù)
—實(shí)時(shí)任務(wù)以Linux的內(nèi)核模塊(LoadableKernel
Module,LKM)的形式存在
2、改變Linux內(nèi)核的體系結(jié)構(gòu)
Monolithic內(nèi)核體系
MicroKernel體系
量執(zhí)行效率
°內(nèi)核的體積
?升級、維護(hù)和移植
微內(nèi)核技術(shù)
缺點(diǎn):操作系統(tǒng)的服務(wù)模塊在獨(dú)立的地址
空間運(yùn)行,使得進(jìn)程間通信和上下文切換
的系統(tǒng)開銷大大增加,降低了系統(tǒng)效率。
3、完善Linux的集成開發(fā)環(huán)境
Linux在基于圖形界面的特定系統(tǒng)定制平臺
的研究上,與Windows操作系統(tǒng)相比還存
在差距
POSIX實(shí)時(shí)擴(kuò)展
POSIX(PortableOperatingSystem
Interface)是為標(biāo)準(zhǔn)化類UNIX操作系統(tǒng)所
必須具有的特征和接口而制定,其思想就
是為了增強(qiáng)為類UNIX操作系統(tǒng)編寫的軟件
的可移植性
■嵌入式linux開發(fā)
最小的嵌入式Linux系統(tǒng)僅需要三個(gè)基本元素:
-引導(dǎo)實(shí)用程序
-Linux微內(nèi)核,由內(nèi)存管理、進(jìn)程管理和定時(shí)服務(wù)構(gòu)成
-初始化過程
-硬件驅(qū)動(dòng)程序
-一個(gè)或多個(gè)應(yīng)用進(jìn)程,以提供所需功能
面向嵌入式Linux系統(tǒng)的圖形用
戶界面
MicoroWindows/NanoX
-開放源碼
一無任何硬件加速能力
,-圖形引擎中存在許多低效算法
-代碼質(zhì)量較差
?OpenGUI
-可移植性稍差
?Qt/Embedded
-低的程序效率、大的資源消耗
?MiniGUI
嵌入式Linux開發(fā)
;了解硬件
f針對所用CPU的編譯器/匯編器/連接器,相應(yīng)的庫
F工具,目標(biāo)文件分析/管理工具,符號查看器
■編程器,下載工具和查錯(cuò)器
j安排內(nèi)存地址
?編寫啟動(dòng)代碼和機(jī)器相關(guān)代碼:硬件初始化,裝
載內(nèi)核及安裝根文件系統(tǒng)以及開始內(nèi)核執(zhí)行
?驅(qū)動(dòng)程序
嵌入式Linux的一般開發(fā)步驟:
?精簡內(nèi)核
?系統(tǒng)啟動(dòng)7
?驅(qū)動(dòng)程序開發(fā)
?界面開發(fā):將X-Window換成MicroWindows
精簡內(nèi)核
F構(gòu)造內(nèi)核的常用命令包括:makeconfig>
dep>clean>mrproper>zlmage>bzlmage>
Imodules>modulesinstallo
精簡內(nèi)核的實(shí)例
■使用makeconfig去掉多余功能。
./Makefile
./arch/i386/kemel/
Makefile
系統(tǒng)啟動(dòng)
系統(tǒng)啟動(dòng)的相關(guān)文件如下:
./arch/$ARCH/boot/
:bootsect.s
./arch/$ARCH/boot/setup.s
./init/main.c
bootsect.S及setup.S
IBM系列PC的啟動(dòng)
?IBM系列PC在電源打開后,由內(nèi)存中地址FFFF:OOOO開始執(zhí)
行(這個(gè)地址一定在ROMBIOS中,ROMBIOS一般是在
FEOOOh到FFFFFh中),而此處的內(nèi)容則是一個(gè)jump指令,
.jump到另一個(gè)位于ROMBIOS中的位置,開始執(zhí)行一系列的
緊接著系統(tǒng)測試碼之后,控制權(quán)會轉(zhuǎn)移給ROM中的啟動(dòng)
程序(ROMbootstraproutine)這個(gè)程序會將磁盤上的第零軌
第零扇區(qū)讀入內(nèi)存物理地址0o70):0000(即07C00h處。而位于
Linux并機(jī)磁盤的bootsectorJb的是Linux的bootsect程序。
Linux的啟動(dòng)
Linux是由位于bootsector的bootsect程序負(fù)責(zé)
把setup及Linux的kernel載入內(nèi)存中,再將控
制權(quán)交給setup。
驅(qū)動(dòng)程序
,在Linux系統(tǒng)里,設(shè)備驅(qū)動(dòng)程序提供一組入口
,點(diǎn),它們由一個(gè)結(jié)構(gòu)在設(shè)備驅(qū)動(dòng)程序初始化
'的時(shí)候向系統(tǒng)進(jìn)行登記,以便系統(tǒng)在適當(dāng)?shù)?/p>
?時(shí)候調(diào)用。Linux系統(tǒng)里,通過調(diào)用
registerchrdev向系統(tǒng)注冊字符型設(shè)備驅(qū)動(dòng)程
序。
添加驅(qū)動(dòng)程序
1.直接修改系統(tǒng)核心的源代碼,把設(shè)備驅(qū)動(dòng)
程序加進(jìn)核心里J
2.把設(shè)備驅(qū)動(dòng)程序作為可加載的模塊,由系
統(tǒng)管理員動(dòng)態(tài)地加載它,使之成為核心的一
部分。
驅(qū)動(dòng)程序模塊
Linux中,模塊可以用C語言編寫,用gcc編譯
成目標(biāo)文件(不進(jìn)行鏈接,作為*.。文件存
在)。為此需要在gcc命令行里加上-c的參數(shù)。
在成功地向系統(tǒng)注冊[、設(shè)備驅(qū)動(dòng)程序后(調(diào)
用registerchrdev),就可以用mknod命令來
把設(shè)備映射為一個(gè)特別文件。其它程序需要
使用這個(gè)設(shè)備的時(shí)候,對此特別文件進(jìn)行操
作。
,linux啟動(dòng)流程
:初始化流程
1加電或復(fù)位
'2BIOS的啟動(dòng)
3BootLoader
?4操作系統(tǒng)初始化
1加電或復(fù)位
冷啟動(dòng)過程開始,中央處理器進(jìn)入復(fù)位狀
態(tài),將內(nèi)存中的所有數(shù)據(jù)清零,對內(nèi)存進(jìn)
行校驗(yàn),如果沒錯(cuò),CS寄存器將置入
FFFFJP寄存器置入0000,這個(gè)CS:IP組合指
向的是BIOS的入口。系統(tǒng)就是這樣進(jìn)入
BIOS啟動(dòng)過程的。
2BIOS啟動(dòng)
上電自檢POST(PowerOnSelfTest)
對系統(tǒng)內(nèi)的硬件設(shè)備進(jìn)行監(jiān)測和連接
最后,BIOS將從軟盤或硬盤上讀入Boot
Loader■如果從硬盤啟動(dòng),BIOS將讀入該盤
的零柱面零磁道1扇區(qū)(MBR),這個(gè)扇區(qū)上
就放著BootLoader.
2BIOS啟動(dòng)
:除了啟動(dòng)程序,BIOS還提供了一組中斷以
I便于對硬件設(shè)備的訪問。我們知道,當(dāng)鍵
f盤上的某一鍵被按下,CPU就會產(chǎn)生一個(gè)中
■斷并把這個(gè)鍵的信息讀入。
言在操作系統(tǒng)沒有被裝入以前(Bootsect.S還
沒有被讀入),中斷的響應(yīng)程序由BIOS提
供。
3BootLoader
BootLoader是一段匯編代碼,存放在MBR
中,它的主要作用就是將系統(tǒng)啟動(dòng)代碼讀
入內(nèi)存。
3BootLoader
因?yàn)樵趩?dòng)過程中,BIOS會把BootLoader
讀入內(nèi)存,并把控制權(quán)交給它。MBR(硬
盤啟動(dòng))內(nèi)的代碼就是BootLoade「或者它
的一部分,為了說明Bootloader的實(shí)現(xiàn),
先解釋磁盤結(jié)構(gòu)。
3BootLoader
一個(gè)硬盤在DOS文件系統(tǒng)下可被分為四個(gè)基本分區(qū),可以
把一個(gè)基本分區(qū)定義為一個(gè)擴(kuò)展分區(qū),然后再把這個(gè)基本
分區(qū)分為一個(gè)或多個(gè)邏輯分區(qū)。
「整個(gè)硬盤的分區(qū)表存放在硬盤的第一個(gè)扇區(qū)(MBR),每
個(gè)擴(kuò)展分區(qū)也對應(yīng)一個(gè)分區(qū)表,它存放在該擴(kuò)展分區(qū)對應(yīng)
_的第一個(gè)扇區(qū)里。
?除主引導(dǎo)扇區(qū)外,每個(gè)基本分區(qū)和擴(kuò)展分區(qū)也有自己的引
導(dǎo)扇區(qū),結(jié)構(gòu)與MBR相同,但邏輯分區(qū)的引導(dǎo)扇區(qū)不能用
于啟動(dòng)。
3BootLoader
如果是硬盤啟動(dòng),BootLoader將查找主分
區(qū)表中標(biāo)記為活動(dòng)分區(qū)的表項(xiàng),把該表項(xiàng)
對應(yīng)的分區(qū)的引導(dǎo)扇區(qū)讀入,然后將控制
權(quán)交給該扇區(qū)內(nèi)的引導(dǎo)程序。
3BootLoader
如果計(jì)算機(jī)上裝有不只一個(gè)操作系統(tǒng),僅
僅MS?DOS的BootLoader無法完成這種工
作,需要一個(gè)可以多重起動(dòng)的工具,下面
介紹Linux下最常用的LILO.
3BootLoader
LILO實(shí)際上是一個(gè)在Linux環(huán)境下編寫的BootLoader程序,
主要功能是引導(dǎo)Linux操作系統(tǒng)的啟動(dòng)。
LILO的功能實(shí)際上是有幾個(gè)程序共同實(shí)現(xiàn)的,它們是:
(1)MapInstaller這是LILO用于管理啟動(dòng)文件的程序。
它將bootloader寫入引導(dǎo)分區(qū),創(chuàng)建紀(jì)錄文件以映射內(nèi)核
的啟動(dòng)。
(2)Thebootloader它負(fù)責(zé)把Linux內(nèi)核或其他操作系統(tǒng)
的引導(dǎo)分區(qū)讀入內(nèi)存。還提供命令行接口,讓用戶選擇從
哪個(gè)操作系統(tǒng)啟動(dòng)和加入啟動(dòng)參數(shù)。
(3)其他文件:主要包括用于存放M叩Installer記錄的
map文件和存放LILO配置信息的配置文件。
3BootLoader
從代碼分析層次認(rèn)識LILO運(yùn)行過程。
4進(jìn)入操作系統(tǒng)
BootLoader做了這么多工作,一言以蔽之,
只是把操作系統(tǒng)的代碼調(diào)入內(nèi)存,所以當(dāng)
它執(zhí)行完后,自然該把控制權(quán)交給操作系
統(tǒng),由操作系統(tǒng)的啟動(dòng)程序來完成剩下的
工作。
4進(jìn)入操作系統(tǒng)
把控制權(quán)交給Setups這段程序
進(jìn)入保護(hù)模式,同時(shí)把控制權(quán)交給Head5
Heads調(diào)用/init/mainC中的start_kernel函
數(shù),啟動(dòng)程庠從start_kernel()函數(shù)垂續(xù)執(zhí)行
4進(jìn)入操作系統(tǒng)
(1)Setup.S
首先,Setup.S對已經(jīng)調(diào)入內(nèi)磊麻作系統(tǒng)代碼進(jìn)行檢查,如果沒錯(cuò),
它會通過BIOS中斷獲取內(nèi)存容量,硬盤等信息(實(shí)模式)
準(zhǔn)備讓CUP進(jìn)入保護(hù)模式
a,先屏蔽中斷信號
b.調(diào)用指令lidt和Igdt
c.對8259中斷控制器進(jìn)行編程3
協(xié)處理器重新定位
完成這幾件事后,Setup.S設(shè)置保護(hù)模式的標(biāo)志,重取指令,再用一
條跳轉(zhuǎn)指令jmpi0xl00000zKERNEL_CSo進(jìn)入保護(hù)模式下的啟動(dòng)階段,
控制權(quán)交給Heads
4進(jìn)入操作系統(tǒng)
(2)Head.S
也要先做屏蔽中斷一類的工作
然后對中斷向量表做一定的處理
BootLoader讀入內(nèi)存的啟動(dòng)參數(shù)和命令行參數(shù),Head.S
■把它們保存在empty_zero_page頁中
■檢查CUP類型
;對協(xié)處理器進(jìn)行檢查
?頁初始化,調(diào)用setup_paging這個(gè)子函數(shù)
?因?yàn)橐堰M(jìn)入保護(hù)模式,段機(jī)制的多任務(wù)屬性體現(xiàn)
4進(jìn)入操作系統(tǒng)
(3)main.c中的初始化
■Head.S調(diào)用/init/main.c中的start_kernel函
數(shù),把控制權(quán)交給它,這個(gè)函數(shù)是整個(gè)操
作系統(tǒng)初始化的最重要的函數(shù),一旦它執(zhí)
J行完,整個(gè)操作系統(tǒng)的初始化也就完成了。
4進(jìn)入操作系統(tǒng)
(3)main.c中的初始化
計(jì)算機(jī)在執(zhí)行start_kernel前以進(jìn)入了保護(hù)
模式,使處理器完全進(jìn)入了全面執(zhí)行操作
系統(tǒng)代碼的狀態(tài)。
■,但直到目前為止,這都是針對處理器的。
「而一旦start_kernel開始執(zhí)行,Linux內(nèi)核就
一步步展現(xiàn)。
?Start_kernel執(zhí)行后,就可以以一個(gè)用戶的
身份登陸和使用Linux了
4進(jìn)入操作系統(tǒng)一
(3)main.c中的初始化
,較為重要的函數(shù)女
:Setup_arch()最基本硬件的初始化
tPaging_init()線性地址空間映射
Trap_init()中斷向量表初始化
?Int」RQ與中斷有關(guān)的初始化
?Sched_init()進(jìn)程調(diào)度初始化
?Console_init()對中斷的初始化
4進(jìn)入操作系統(tǒng)
(3)main.c中的初始化
對文件系統(tǒng)的初始化
inode_initl()i節(jié)點(diǎn)管理機(jī)制初始化
Name_cache_init()目錄緩存機(jī)制初始化
Buffer_init()塊緩存機(jī)制初始化
4進(jìn)入操作系統(tǒng)
(3)main.c中的初始化
啟動(dòng)到了目前這種狀態(tài),只剩下運(yùn)行/etc下
的啟動(dòng)配置文件。
這時(shí)初始化程序并沒有完成操作系統(tǒng)各個(gè)
部分的初始化,更關(guān)鍵的文件系統(tǒng)的安裝
還沒有涉及,這是在init進(jìn)程建立后完成的。
就是start_kernel()最后部分內(nèi)容。
4進(jìn)入操作系統(tǒng)
(4)建立init進(jìn)程
Linux要建立的第一個(gè)進(jìn)程是init進(jìn)程
:啟動(dòng)所需的Shell腳本文件
a.Linux系統(tǒng)啟動(dòng)所必須的
b.用戶登陸后自己設(shè)定的
系統(tǒng)啟動(dòng)所必須的腳本存放在系統(tǒng)默認(rèn)的配
置文件目錄/etc下。首先調(diào)用的是
/etc/inittab.
四、Linux系統(tǒng)移植的兩大部分
內(nèi)核部分和系統(tǒng)部分
(1)內(nèi)核部分初始化和控制所有硬件設(shè)備
(嚴(yán)格說不是所有,而是絕大部分),為
內(nèi)存管理、進(jìn)程管理、設(shè)備讀寫等工作做
好一切準(zhǔn)備。
(2)系統(tǒng)部分加載必需的設(shè)備,配置各種環(huán)
境以便用戶可以使用整個(gè)系統(tǒng)。
Linux內(nèi)核可以視為由五個(gè)功能部分組成:
進(jìn)程管理(包括調(diào)度和通信)、內(nèi)存管理、
設(shè)備管理、虛擬文件系統(tǒng)、網(wǎng)絡(luò)
需要改動(dòng)的就是進(jìn)程管理、內(nèi)存管理和設(shè)
備管理中被獨(dú)立出來的那部分即硬件相關(guān)
部分的代碼
修改的代碼
(2)系統(tǒng)移植
一個(gè)最小系統(tǒng)的重建過程
類似Linux系統(tǒng)應(yīng)急盤DiskOnChip
包括:init、libc庫、驅(qū)動(dòng)模塊、必需的應(yīng)用
程序和系統(tǒng)配置腳本。
一些Real-TimeLinux簡介
工、NMTRT-Linux
KNMT是新墨西哥科技大學(xué)(NewMexico
Technology)的縮寫
■二Real-timeLinux的鼻祖
一個(gè)實(shí)時(shí)內(nèi)核負(fù)責(zé)處理硬件消息,接管中
斷,實(shí)時(shí)任務(wù)可在該內(nèi)核上直接運(yùn)行
可載入式核心模組(loadablekernelmodule)o
NRTLinuxNRTLinuxNRTLinux
TaskTaskTask
-?.User
syscal1RTFIFO
Kernel
LinuxKerneltask
hardware
Real-TimeApplicationInterface
LKM
在Linux上定義了一組RTHAL(Real-Time
HardwareAbstractionLayer)
?RTAI只使用RTHAL和Linux溝通
RTAI無法直接使用Linux的系統(tǒng)調(diào)用
解決的方法:
使用RT-FIFO將一個(gè)RTAIreal-time
kernelmodule和真正的Linux進(jìn)程連接在
一起
?代理:LXRTproxy
NRTLinux
Task
User
Kernel
hardware
MontaVistaLinux2.1
MontaVista軟件公司
全球三大嵌入式Linux操作系統(tǒng)及解決方案供應(yīng)商
之一
MontaVistaLinux2.1支持6種體系結(jié)構(gòu)的20款處
理器,X86/IA-32、PowerPC、StrongARM、
XScale、ARM、MIPS以及SH。
MontaVistaLinux2.1包括KDevelopIDE、目標(biāo)配
置工具(TargetConfigurationTool)、庫優(yōu)化工
具(LibraryOptimizertool)。另外,它還提供超
過215個(gè)應(yīng)用軟件包。
基于Linux2417穩(wěn)定內(nèi)核,提供支持x86、MIPS、
SH以及PowerPC體系結(jié)構(gòu)的實(shí)時(shí)搶占式內(nèi)核。
跨平臺開發(fā),支持14個(gè)主機(jī)開發(fā)環(huán)境,包括
RedHat、YellowDogLinux、SuSE>Mandrake、
Solaris以及VMWareonWindowsNT/2000
該版本提供了215多個(gè)主機(jī)配套工具和嵌入式目標(biāo)
平臺開發(fā)組件軟件包,包括thttpd嵌入式服務(wù)器
和802」lb無線通信標(biāo)準(zhǔn)附加包。
擴(kuò)展了針對嵌入式跨平臺開發(fā)的各類開放
源代碼工具的支持,提供了首個(gè)基于
KDevelop的MontaVista開發(fā)環(huán)境;
支持x86和PowerPC平臺的Linux跟蹤工具
(包括內(nèi)核性能和執(zhí)行分析器);
ext3日志文件系統(tǒng)。
5、uClinux
專為無(MMU)的微控制器打造的嵌入式Linux操
作系統(tǒng)。
uClinux已移植支持的微控制器和微處理器:
摩托羅拉
DragonBall(M68EZ328),M68328,M68EN322,ColdFire,QUICC(QuadIntegratedCom
municationsController)M
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)貿(mào)海運(yùn)合同范例術(shù)語
- 企業(yè)雙方合作合同范例
- 共享股東招募合同范例
- 個(gè)人房屋抵賬合同范例
- 人員增加合同范例
- 代車司機(jī)合同范例
- 中原區(qū)教師合同范例
- 代購商品合同范例
- 個(gè)人有償借款合同范例
- 兼職勞務(wù)合同范例乙方
- 鐵路雨季三防培訓(xùn)課件
- 大學(xué)英語四級考試2024年12月真題(第一套)Part I Writing
- 洗煤廠應(yīng)急救援預(yù)案
- 超星爾雅學(xué)習(xí)通《移動(dòng)互聯(lián)網(wǎng)時(shí)代的信息安全與防護(hù)(南京師范大學(xué))》2025章節(jié)測試附答案
- 全國行政區(qū)域身份證代碼表(電子表格版)
- DB31∕701-2020 有色金屬鑄件單位產(chǎn)品能源消耗限額
- 國際貿(mào)易居間協(xié)議樣本
- 2024-2025學(xué)年新教材高中數(shù)學(xué) 第4章 概率與統(tǒng)計(jì) 4.3 統(tǒng)計(jì)模型 4.3.1 第2課時(shí) 相關(guān)系數(shù)與非線性回歸說課稿 新人教B版選擇性必修第二冊
- 某電站中控室搬遷施工方案
- 三個(gè)責(zé)任制自查(2篇)
- 宮內(nèi)早孕的健康宣教
評論
0/150
提交評論