(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)嵌入式linux操作系統(tǒng)裁剪和定制研究.pdf_第1頁(yè)
(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)嵌入式linux操作系統(tǒng)裁剪和定制研究.pdf_第2頁(yè)
(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)嵌入式linux操作系統(tǒng)裁剪和定制研究.pdf_第3頁(yè)
(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)嵌入式linux操作系統(tǒng)裁剪和定制研究.pdf_第4頁(yè)
(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)嵌入式linux操作系統(tǒng)裁剪和定制研究.pdf_第5頁(yè)
已閱讀5頁(yè),還剩88頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)嵌入式linux操作系統(tǒng)裁剪和定制研究.pdf.pdf 免費(fèi)下載

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

嵌入式l i n u x 操作系統(tǒng)裁剪和定制研究 摘要 嵌入式l i n u x 的研究之所以成為當(dāng)今操作系統(tǒng)研究的熱點(diǎn) 是因?yàn)樗膽?yīng)用 蘊(yùn)含著巨大的商業(yè)價(jià)值 嵌入式系統(tǒng)之間差別很大 掌上電腦 p d a 機(jī)頂盒 手機(jī) 數(shù)碼相機(jī) 數(shù)字電視 家用電器 工業(yè)控制設(shè)備 等等 都是典型的嵌入 式應(yīng)用 和桌面操作系統(tǒng)相比 由于嵌入式應(yīng)用環(huán)境之間的差別很大 難于開(kāi)發(fā) 出適應(yīng)于各種嵌入式應(yīng)用環(huán)境的通用嵌入式操作系統(tǒng) 當(dāng)前流行的各種嵌入式操 作系統(tǒng) 僅僅在某些特定領(lǐng)域獲得成功 其原因就在于此 嵌入式l i n u x 操作系 統(tǒng)也存在這方面的問(wèn)題 因此 研究嵌入式操作系統(tǒng)的裁剪和定制技術(shù)就顯得非 常必要 作者從致力于開(kāi)發(fā)自己的嵌入式操作系統(tǒng)和商業(yè)應(yīng)用的目的出發(fā) 進(jìn)行了嵌 入式l i n u x 內(nèi)核的裁剪與定制研究 力求創(chuàng)造出具有我國(guó)自主產(chǎn)權(quán)的操作系統(tǒng) 而任何的裁減都是基于對(duì)內(nèi)核的準(zhǔn)確理解之上的 作者首先系統(tǒng)介紹了一個(gè)完整 的l i n u x 內(nèi)核的總體結(jié)構(gòu)并就其主要子系統(tǒng) 如初始化 中斷處理子系統(tǒng) 進(jìn)程 調(diào)度進(jìn)行了詳細(xì)分析 然后從嵌入式l i n u x 現(xiàn)代設(shè)計(jì)特點(diǎn)出發(fā) 提出了一種基于 調(diào)用圖的裁剪l i n u x 方法并對(duì)各部分的具體裁減從實(shí)例出發(fā)進(jìn)行了說(shuō)明 同時(shí)又 從定制角度 討論了內(nèi)存管理子系統(tǒng) 文件予系統(tǒng)的優(yōu)化和選擇方法 最后 文 章針對(duì)d s p 應(yīng)用的特點(diǎn) 分析了如何將l i n u x 內(nèi)核加以裁剪 改造 使其適合 d s p 應(yīng)用 形成通用的d s p 操作系統(tǒng) 移植后的l i n u x 內(nèi)核 大小可以控制在2 0 0 k 以下 減小了d s p 平臺(tái)上應(yīng)用軟件的開(kāi)發(fā)難度 大大降低了d s p 系統(tǒng)的開(kāi)發(fā)成本 設(shè)備驅(qū)動(dòng)程序運(yùn)行在核心態(tài) 是l i n u x 內(nèi)核重要組成部分 它出現(xiàn)的闖題會(huì) 直接影響嵌入式l i n u x 的穩(wěn)定 嚴(yán)重時(shí)會(huì)導(dǎo)致操作系統(tǒng)崩潰 文章利用虛擬字符 設(shè)備來(lái)最大限度地封裝硬件設(shè)備驅(qū)動(dòng)的具體細(xì)節(jié)和其特定信息模式 以降低嵌入 式l i n u x 應(yīng)用系統(tǒng)程序開(kāi)發(fā)調(diào)試的難度 增強(qiáng)系統(tǒng)的可配置性 并總結(jié)了兩種虛 擬字符設(shè)備用以實(shí)際的嵌入式開(kāi)發(fā) 文章最后對(duì)嵌入式l i n u x 系統(tǒng)開(kāi)發(fā)尚需解決的問(wèn)題提出了自己的看法 關(guān)鍵字 嵌入式l i n u x 操作系統(tǒng) 內(nèi)核 裁剪 定制 r e s e a r c ho n t a i l o r i n g a n d c u s t o m i z i n g e m b e d d e d l i n u x o p e r a t i n gs y s t e m a b s t r a c t l ig e m e il i u f u y a n e m b e d d e dl i n u xp o s s e s s e sg r e a ta p p l i c a t i o nv a l u ea n dh a sb e e nt h eh o t s p o to f o sr e s e a r c h b u tt h ed i s t i n c t i o n so nt h ee m b e d d e ds y s t e m si sc o l o s s a l w h i c hi n c l u d e p d a t o pb o x m o b i l ep h o n e d i g i t a lc a m e r a d i g i t a lt v i n d u s t r i a lc o n t r o ld e v i c ea n d o t h e rt y p i c a la p p l i c a t i o n s i nc o n t r a s tw i t h 也ev e r s 撕l eo s a sd i f f e r e n te n v i r o n m e n t s i ti s v e r yd i f f i c u l t t o d e v e l o pt h e e m b e d d e do p e r a t i n g s y s t e m w h i c ha d a p ta l l a p p l i c a t i o n s t h a tr e s u l t si nt h ec o n s e q u e n c e t h ec u r r e n tp o p u l a rs y s t e mo n l y s u c c e e d i ns o m es p e c i a ld o m a i n t h ee m b e d d e dl i n u xa l s oe m b r a c e st h i sp r o b l e m t h u st h e r e s e a r c ho n t a i l o r i n ga n dc u s t o m i z i n go p e r a t i n gs y s t e m i sa p p a r e n t l yv e r yi m p o r t a n t t od e v e l o pe m b e d d e do sf o rc o m m e r c i a lp u r p o s e t h ea u t h o ra p p l i e st ot h e r e s e a r c ho fc u t t i n ga n dc u s t o m i z i n gl i n u xk e r n e l t h u s c a i lc r e a t eo u ro w ni p i n t e l l e c t u a lp r o p e r t y e m b e d d e ds y s t e m a tf i r s t t h i sp a p e rp r e s e n t st h ec o n c r e t e s t r u c t u r eo f l i n u xk e r n e l t ou n d e r s t a n de s s e n c eo f k e m e la c c u r a t e l yf o rt a i l o r i n g a n d a n a l y z et h eb r i e fp a r t si nd e t a i lf o ri n i t i a l i z a t i o n t h ei n t e r r u p th a n d l i n gs u b s y s t e m p r o c e s ss c h e d u l e i nl i g h to f t h ec h a r a c t e r i s t i c so ft h ed e s i g nf o r t h ee m b e d d e dl i n u x s y s t e m t h i sp a p e rp r o p o s e a l la p p r o a c h w h i c hi st e c h n i q u e so f c u t t i n gf o re m b e d d e d l i n u xb a s e do nc a l lg r a p ha n dt h ep r a c t i c a lc u t t i n g sf o ri n d i v i d u a lp a r t sa r ee x p l a i n e d a n dw h i l ef r o ma n o t h e ra n g l e d i s c u s st h ec h o o s i n ga n do p t i m i z a t i o nf o rm e m o r y m a n a g e m e n ts u b s y s t e ma n df i l es u b s y s t e m a tl a s t t h e a u t h o rp r o p o u n d sh o wt o r e d u c el i n u xk e r n e la n db u i l dag e n e r a ld s pr t o sf o rd s p a p p l i c a t i o n s u s i n g t h i s p o r t e dl i n u x k e r n e lo nd s p p l a t f o r mc 蛆m a k ey o u r w o r km o r e e a s i l ya n d r e d u c et h e c o s tf o rd s p d e v e l o p m e n t d e v i c ed r i v e ri so n eo ft h em o s ti m p o r t a n tc o m p o n e n t so fl i n u xk e r n e l i tb i n s i nk e m e ls t a t u s a n da n yp r o b l e mw i l la f f e c tt h es t a b i l i t yo re v e nl c a dt oc r a s h 砌s p a p e ru s et h ev i r t 試c h a r a c t e rd e v i c e t oe n v e l o p i nt h eu l t i m a t ed e g r e e t h ec o n c r e t e h a r d w a r ed r i v i n gd e t a i l sa n dt h e i ri n d i v i d u a li n f o r m a t i o np a t t e r n s t h u sr e d u c et h e d i f f i c u l t i e so fd e b u ga n dd e v e l o p m e mo nt h ee m b e d d e dl i n u xs y s t e ma n de n h a n c e t h es y s t e me o n f i g u r a b l e a l s os u m m a r i z et w om o d e so fv i r t u a lc h a r a c t e r sf o rt h e f a c t u a la p p l i c a t i o n s e v e n t u a l l y t h i sp a p e rb r i n g sf o r w a r dv i e w p o i n t f o r 血cr e m a i n i n gp r o b l e mo nt h e d e v e l o p m e n t f o re m b e d d e dl i n u x k e y w o r d s e m b e d d e dl i n u x o p e r a t i n gs y s t e m k e r n e l t a i l o r c u s t o m i z e 2 本人聲明 我聲明 本論文及其研究工作是由本人在導(dǎo)師指導(dǎo)下獨(dú)立完成的 在完成論 文時(shí)所利用的一切資料均已在參考文獻(xiàn)中列出 姓名 李革梅 簽字 夸罩布夸 日期 2 0 0 5 年3 月1 日 中北大學(xué)學(xué)位論文 1 1 研究的目的與意義 1 緒論 隨著芯片集成度的提高 限制嵌入式系統(tǒng)發(fā)展的瓶頸突出表現(xiàn)在軟件方面 從八十 年代起 國(guó)際上就有一些i t 組織 公司 開(kāi)始進(jìn)行商用嵌入式系統(tǒng)和專用操作系統(tǒng)的 研究與開(kāi)發(fā) 這其中著名的嵌入式操作系統(tǒng)有 w i n d o w sc e v x w o r k s p s o s q n x p a l m o s 0 s 9 l y n x o s 等 1 由于l i n u x 所具有的內(nèi)核小 效率高 源代碼開(kāi)放和強(qiáng)大的 網(wǎng)絡(luò)支持等的一系列獨(dú)特優(yōu)勢(shì) 業(yè)界已經(jīng)逐漸達(dá)成共識(shí) 嵌入式l i n u x 將在未來(lái)的嵌入 式領(lǐng)域中占最大的份額 其巨大的市場(chǎng)潛力已經(jīng)吸引了眾多的廠商進(jìn)入這一領(lǐng)域 目前 國(guó)外的著名廠商 例如i b m d e l l 等 幾乎都在嵌入式l i n u x 操作系統(tǒng)的研究 開(kāi)發(fā)和 推廣方面投入了臣資 國(guó)內(nèi)有一些公司 例如華恒 共倉(cāng)i 中軟 紅旗 萬(wàn)禾等 也開(kāi) 始積極從事嵌入式l i n u x 操作系統(tǒng)的研究 開(kāi)發(fā)和推廣嘲 嵌入式操作系統(tǒng)是內(nèi)裝于專用系統(tǒng)或設(shè)備中 具有通用操作系統(tǒng)的基本功能 執(zhí)行 計(jì)算和數(shù)據(jù)處理功能的操作系統(tǒng) 與通用操作系統(tǒng)相比 嵌入式操作系統(tǒng)具有配置專一 結(jié)構(gòu)緊湊 堅(jiān)固可靠等特點(diǎn) 近年來(lái) 嵌入式操作系統(tǒng)得到了飛速的發(fā)展 從僅支持單 一品種的微處理器到支持多品種的微處理器 從僅包含任務(wù)調(diào)度 內(nèi)存管理 進(jìn)程間通 訊等基本功能到不僅提供功能完備 可以與通用操作系統(tǒng)相比的功能外 還提供其他如 文件系統(tǒng) t c p i p 網(wǎng)絡(luò)協(xié)議 窗口系統(tǒng)等功能 隨著半導(dǎo)體工業(yè)的飛速發(fā)展 加上嵌入 式應(yīng)用的多樣化需求 要求嵌入式系統(tǒng)具有合理的體系結(jié)構(gòu)和良好的可用性 可伸縮性 易于移植等特點(diǎn) 嵌入式系統(tǒng)的多樣化特征 使得對(duì)操作系統(tǒng)進(jìn)行面向應(yīng)用的定制比通 用系統(tǒng)更為必要 因此 研究嵌入式操作系統(tǒng)裁剪定制技術(shù) 增加操作系統(tǒng)的通用性就 顯得非常必要 新世紀(jì)之初 信息化浪潮席卷全球 不論是發(fā)達(dá)國(guó)家 新興工業(yè)化國(guó)家 還是發(fā)展 中國(guó)家 在全球進(jìn)入以網(wǎng)絡(luò)計(jì)算為核心的信息時(shí)代都不可避免地被卷入到這股信息化的 世紀(jì)風(fēng)暴之中 嵌入技術(shù)是電予信息技術(shù)應(yīng)用最廣泛的應(yīng)用領(lǐng)域之一 嵌入技術(shù)及其產(chǎn) 品廣泛應(yīng)用予智能家用電器 智能建筑 儀器儀表 通訊產(chǎn)品 工業(yè)控制 數(shù)控機(jī)床 中北大學(xué)學(xué)位論文 掌上型電腦 各種智能i c 卡的應(yīng)用 如家庭電表 水表 煤氣表的i c 卡計(jì)費(fèi)系統(tǒng) 電 子錢包 第二代身份證 公共交通收費(fèi)系統(tǒng) 電子病歷及掛號(hào)系統(tǒng) 以及軍事領(lǐng)域的應(yīng) 用等 大量的嵌入技術(shù)的應(yīng)用不勝枚舉 大多數(shù)老百姓感受到信息技術(shù)的進(jìn)步及電子信 息技術(shù)產(chǎn)品的小巧 便捷和高效 都直接或間接源于嵌入技術(shù) 嵌入技術(shù)的研發(fā)和廣泛 應(yīng)用已經(jīng)成為我國(guó)信息化進(jìn)程的重要課題之一 受到社會(huì)各界的廣泛關(guān)注 嵌入式技術(shù)和設(shè)備進(jìn)入到我國(guó)以后 呈星火燎原之勢(shì)迅速蔓延開(kāi)來(lái) 其應(yīng)用已涉及 到生產(chǎn) 工作 生活各個(gè)方面 從家電中的冰箱 洗衣機(jī) 電視 微波爐到m p 3 d v d 從轎車中控到火車 飛機(jī)的安全防范 從手機(jī)電話到p d a 從醫(yī)院的b 超 c t 到核磁共 振器 從機(jī)械加工中心到生產(chǎn)線上的機(jī)器人 機(jī)械手 從航天飛機(jī) 載人飛船 到水下 核潛艇 到處都有嵌入式計(jì)算機(jī) 嵌入式控制器 嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng) 嵌入式 應(yīng)用軟件 可以說(shuō)嵌入式技術(shù)無(wú)所不在 嵌入式技術(shù)和設(shè)備的應(yīng)用在我國(guó)國(guó)民經(jīng)濟(jì)和國(guó) 防建設(shè)的各個(gè)方面存在著廣泛的應(yīng)用領(lǐng)域 有著巨大的市場(chǎng) 可以說(shuō)它是信息技術(shù)的一 個(gè)新的發(fā)展 是信息產(chǎn)業(yè)的一個(gè)新的亮點(diǎn) 計(jì)算機(jī)邁入了另一個(gè)充滿機(jī)遇的階段 后p c 時(shí)代 形式多樣的數(shù)字化產(chǎn)品已經(jīng)成為信息處理的一大主要工具 并且正在逐步 形成一個(gè)充滿商機(jī)的巨大產(chǎn)業(yè) 如果說(shuō)p c 機(jī)的發(fā)展帶動(dòng)了整個(gè)桌面軟件的發(fā)展 那么 數(shù)字化產(chǎn)品的廣泛普及將為嵌入式軟件的蓬勃發(fā)展提供無(wú)窮的推動(dòng)力 8 6 3 智能計(jì)算機(jī)首席專家高文教授說(shuō) 所謂后p c 時(shí)代 是英文p e r v a s i v ec o m p u t i n g 的中文意譯 p e r v a s i v e 的原意是普遍的 蔓延的 滲透的 所以p e r v a s i v ec o m p u t i n g 這個(gè)詞組直接的翻譯應(yīng)該是滲透到各個(gè)方面的計(jì)算 因而我們可以認(rèn)為 所謂后p c 時(shí) 代是指 計(jì)算機(jī)無(wú)所不在 它滲透到我們工作和生活的方方面面 當(dāng)然 這樣的無(wú)所不 在的計(jì)算機(jī)也絕不都是象今天的p c 一樣擺在桌子上或放在書包里 后p c 時(shí)代的絕大多 數(shù)計(jì)算機(jī)是以非計(jì)算機(jī)的形式出現(xiàn)的 例如作為隨身物品出現(xiàn)的電話 遙控開(kāi)關(guān) 電子 戒指 電子手杖等 再例如作為家庭網(wǎng)絡(luò)組成部分的電視機(jī) 電冰箱 空調(diào)等等 這些 設(shè)備的核心部分都有計(jì)算機(jī) 但大多是以嵌入式系統(tǒng)的形式存在 而不是以整機(jī)的形象 出現(xiàn) 所以 我們也可以說(shuō)后p c 時(shí)代的特點(diǎn)是計(jì)算機(jī)無(wú)處不在a 嵌入于信息家電 或其他設(shè)備 中的嵌入式l i n u x 是國(guó)際軟件界的一個(gè)新寵 女媧 h o p e no s 的開(kāi)發(fā)成功給我們以提示 l i n u x 可以提供完成嵌入功能的的基本內(nèi)核和你所 需要的所有用戶界面 它本身就是多面的 它能處理嵌入式任務(wù)和用戶界面 將l i n u x 2 中北大學(xué)學(xué)位論文 看成是連續(xù)的統(tǒng)一體 從一個(gè)具有內(nèi)存管理 任務(wù)切換和實(shí)踐服務(wù)及其他分拆的微內(nèi)核 到完整的服務(wù)器 完美實(shí)現(xiàn)支持所有的文件服務(wù)和網(wǎng)絡(luò)服務(wù) 同時(shí)l i n u x 作為一個(gè)自由 軟件 也得到了極大的發(fā)展 l i n u x 自身具備一熬套工具鏈 容易自行建立嵌入式系統(tǒng) 的開(kāi)發(fā)環(huán)境和交叉運(yùn)行環(huán)境 并且可以跨越嵌入式系統(tǒng)開(kāi)發(fā)中的仿真工具 i c e 的障 礙 1 更值得一提的是 l i n u x 內(nèi)核的模塊化特點(diǎn)將接口和其實(shí)現(xiàn)分離開(kāi)來(lái) 理論上能 夠保證一個(gè)模塊可以在不影響其他模塊的情況下進(jìn)行改變 也可以將模塊之間的依賴關(guān) 系僅僅限定于接口 所以國(guó)際上一些科研機(jī)構(gòu)提出可以根據(jù)自己的具體需要選擇和裁減 模塊 利用高度模塊化的構(gòu)件方法實(shí)現(xiàn)可定制的嵌入式操作系統(tǒng) 同時(shí)嵌入式操作系統(tǒng) 也常常要求通用的功能 為了避免重復(fù)勞動(dòng) 這些功能的實(shí)現(xiàn)運(yùn)用了許多現(xiàn)成的程序和 驅(qū)動(dòng)程序 它們可以用于公共外設(shè)和應(yīng)用 然而 因?yàn)檫€在起步階段 目前的嵌入式 l i n u x 版本還不是一套非常簡(jiǎn)潔的系統(tǒng) 如何優(yōu)化系統(tǒng)至適合嵌入式應(yīng)用成為最主要的 目標(biāo) 可見(jiàn)對(duì)嵌入式l i n u x 的軟件開(kāi)發(fā)主要集中在嵌入式l i n u x 內(nèi)核 對(duì)于嵌入式l i n u x 的主要挑戰(zhàn)是把系統(tǒng)資源的需求減少 以適應(yīng)于諸如內(nèi)存 固態(tài)電子盤容量 處理器速 度 以及節(jié)能的限制螄 嵌入式操作系統(tǒng)需要從一個(gè)芯片級(jí)盤片或者閃存式電予盤啟動(dòng) 或者啟動(dòng)并運(yùn)行于沒(méi)有顯示及鍵盤的環(huán)境中 或從一個(gè)遠(yuǎn)程的設(shè)備上通過(guò)以太網(wǎng)連接來(lái) 加載應(yīng)用程序 現(xiàn)在已經(jīng)有一些可參考的小型l i n u x 的來(lái)源 其中又發(fā)展出大量的l i n u x 配置及發(fā)行版本用來(lái)滿足特別的需求 諸如路由器 防火墻 i n t e r n e t 以及網(wǎng)絡(luò)應(yīng)用 網(wǎng)絡(luò)服務(wù)器 網(wǎng)關(guān)等等 我們可以有選擇地生成我們需要的嵌入式l i n u x 從一個(gè)標(biāo)準(zhǔn) 發(fā)行版中開(kāi)始裁減不需要的模塊 甚至 我們可以從別人配置過(guò)的版本開(kāi)始開(kāi)發(fā) 因?yàn)?他人的嵌入式版本也是開(kāi)放源代碼的 最突出的優(yōu)點(diǎn)是在他人的工作的基礎(chǔ)上建立自己 的系統(tǒng) 這在l i n u x 開(kāi)發(fā)群體中不僅是合法的 而且是受到鼓勵(lì)的和支持的 我們可以 根據(jù)應(yīng)用系統(tǒng)設(shè)計(jì)的具體需要 從硬件環(huán)境的現(xiàn)有配置包括內(nèi)部體系結(jié)構(gòu) 內(nèi)存限制 輸入輸出接口來(lái)認(rèn)真選擇相應(yīng)的數(shù)據(jù)結(jié)構(gòu)以及系統(tǒng)調(diào)用函數(shù) 并可以在完全了解內(nèi)核工 作原理的基礎(chǔ)上更改 替換內(nèi)核源代碼中已經(jīng)定義過(guò)的數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)域和內(nèi)核線程函 數(shù) 最后對(duì)l i n u x 內(nèi)核源代碼進(jìn)行重新編譯鏈接 生成各種不同的嵌入式操作系統(tǒng) 系 統(tǒng)典型的實(shí)現(xiàn)步驟為 1 重新編譯l i n u x 內(nèi)核 k e r n e l 去掉內(nèi)核中不需要的模塊 諸如p c m c i a 之類的外 3 中北大學(xué)學(xué)位論文 設(shè)支持模塊等 2 編寫b o o tl o a d e r 制作b o o tr o m 用于加載嵌入式l i n u x 內(nèi)核到內(nèi)存 3 重新設(shè)計(jì)以太網(wǎng)驅(qū)動(dòng)程序以及串 并口驅(qū)動(dòng)程序 4 設(shè)計(jì)嵌入式l i n u x 應(yīng)用程序 管理打印服務(wù)的應(yīng)用 5 嵌入式l i n u x 系統(tǒng)執(zhí)行流程如圖1 1 所示 加電 啟動(dòng)f l a s h m e m o r y 中 的b o o tl o a d e r 進(jìn)行必要的 c p u 初始化 i 加載l i n u x 內(nèi)核 上 內(nèi)核啟動(dòng) 初始化外設(shè) 加 載任務(wù) 加載t c p i p 土 運(yùn)行應(yīng)用程序 圖1 1 系統(tǒng)執(zhí)行流程圖 由于各種嵌入式系統(tǒng)產(chǎn)品中包含各不相同的特殊需求 導(dǎo)致這類系統(tǒng)中使用的專用 l i n u x 嵌入式操作系統(tǒng)不下幾百種 而且至今仍有一半的開(kāi)發(fā)者使用自行開(kāi)發(fā)的嵌入式 操作系統(tǒng)l 因?yàn)殚_(kāi)發(fā)成功的嵌入式產(chǎn)品時(shí)都要針對(duì)具體的工作做出巨大的調(diào)整 這是解 決嵌入式l i n u x 軟件開(kāi)發(fā)的一個(gè)技術(shù)難點(diǎn) 我們知道l i n u x 非常地靈活 適用于不同的 處理器和不同的硬件平臺(tái) 而嵌入式系統(tǒng)總的來(lái)說(shuō)卻不靈活 而且它們完全是為最有效 實(shí)現(xiàn)預(yù)定功能而嚴(yán)格設(shè)計(jì)的 這樣軟件開(kāi)發(fā)的大部分時(shí)間將集中在對(duì)于不同應(yīng)用的具體 內(nèi)核裁剪和配置 我們希望找到這個(gè)統(tǒng)一的最小內(nèi)核 然后再根據(jù)具體的內(nèi)部結(jié)構(gòu)定制 出自己的內(nèi)核 從而大大縮短軟件開(kāi)發(fā)的周期 本論文研究的目的 就是解決如何使嵌入式l i n u x 操作系統(tǒng)適應(yīng)盡量多的應(yīng)用領(lǐng)域 的問(wèn)題 目前這方面的研究還很少 是一個(gè)需要研究還沒(méi)有充分研究的問(wèn)題 對(duì)于嵌入 4 中北大學(xué)學(xué)位論文 式系統(tǒng)軟件的開(kāi)發(fā)與應(yīng)用 具有重要的研究意義和應(yīng)用價(jià)值 進(jìn)入2 1 世紀(jì) 數(shù)字化產(chǎn)品欣欣向榮 由于硬件平臺(tái)種類各異 因此嵌入式軟件市 場(chǎng)呈現(xiàn)出一種高度細(xì)分的格局 國(guó)外產(chǎn)品進(jìn)入后也很難壟斷整個(gè)市場(chǎng) 盡管絕大部分的 嵌入式系統(tǒng)的硬件平臺(tái)仍掌握在外國(guó)大公司的手中 國(guó)產(chǎn)的嵌入式操作系統(tǒng)在技術(shù)含 量 兼容性 市場(chǎng)運(yùn)作模式等方面還有相當(dāng)長(zhǎng)的一段距離 但由于l i n u x 自由操作系統(tǒng) 的出現(xiàn) 特別是將嵌入式系統(tǒng)和l i n u x 有機(jī)結(jié)合起來(lái)的嵌入式l i n u x 給我們提供跟蹤 國(guó)外嵌入式操作系統(tǒng)最新應(yīng)用技術(shù)難得的機(jī)遇 可以在機(jī)頂盒 掌上電腦或p d a 手機(jī) 和尋呼機(jī)上網(wǎng) 車載盒 工業(yè)控制等方面充分開(kāi)發(fā)自己的嵌入式l i n u x 產(chǎn)品 從而推動(dòng) 我國(guó)軟件業(yè)的發(fā)展 開(kāi)發(fā)中國(guó)自主產(chǎn)權(quán)的嵌人式處理器和嵌人式操作系統(tǒng) 有十分重要的戰(zhàn)略意義 誰(shuí) 掌握了o s 誰(shuí)也就掌握了嵌入式系統(tǒng)軟件開(kāi)發(fā)的主動(dòng)權(quán) 由于l i n u x 具有免費(fèi) 源代碼 開(kāi)放 支持多種c p u 等優(yōu)點(diǎn) 使用l i n u x 作為底層操作系統(tǒng) 對(duì)它進(jìn)行裁剪和定制 并 在其基礎(chǔ)上搭建嵌入式系統(tǒng)平臺(tái) 成為日益流行的嵌入式操作系統(tǒng)的解決方案 t 2 國(guó)內(nèi)外發(fā)展?fàn)顩r 嵌入式系統(tǒng) 就是用于控制設(shè)備的計(jì)算機(jī) 它們最初于二十世紀(jì)六十年代晚期在通 訊中被用于控制機(jī)電電話交換機(jī) 在過(guò)去的十多年里 計(jì)算機(jī)產(chǎn)業(yè)不斷朝著更小的系統(tǒng) 方向發(fā)展 嵌入式系統(tǒng)也與之一起為這些小型機(jī)器提供了更多的功能 漸漸地 就需要 把這些嵌入式系統(tǒng)連接到某種網(wǎng)絡(luò)上 這就提高了系統(tǒng)的復(fù)雜程度并要求更多的存儲(chǔ)器 和接口 因而也就產(chǎn)生了對(duì)操作系統(tǒng)服務(wù)的要求 二十世紀(jì)七十年代晚期出現(xiàn)了用作嵌 入式系統(tǒng)的現(xiàn)成的操作系統(tǒng) 近年來(lái) 隨著電子技術(shù)的不斷進(jìn)步 嵌入式系統(tǒng)開(kāi)發(fā)己成 為熱點(diǎn) 它將先進(jìn)的計(jì)算機(jī)技術(shù) 半導(dǎo)體技術(shù)和電子技術(shù)和一些著名的公司更選中了 l i n u x 操作系統(tǒng)作為開(kāi)發(fā)嵌入式產(chǎn)品的工具 現(xiàn)在國(guó)外基于嵌入式l i n u x 系統(tǒng)的 產(chǎn)品已問(wèn)世的有 韓國(guó)三星公司的l i n u xp d a 可聯(lián)網(wǎng)的l i n u x 照相機(jī) 美國(guó) t r a n s m e t a 公司的l i n u x 手機(jī) n e t g e m 的機(jī)頂盒 q u b i tt e c h n o l o g y 公司推出的 基于l i n u x 的書寫板q u b i t t a b l e t s c r e e nm e d i a 公司開(kāi)發(fā)的基于l i n u x 的手 持設(shè)備f r e e p a d 等m 各個(gè)行業(yè)的具體應(yīng)用相結(jié)合的產(chǎn)物 這一特點(diǎn)就決定了它必然是 個(gè)技術(shù)密集 資 5 中北大學(xué)學(xué)位論文 金密集 高度分散 不斷創(chuàng)新的知識(shí)集成系統(tǒng) 嵌入式操作系統(tǒng)是支持嵌入式系統(tǒng)應(yīng)用 的操作系統(tǒng)軟件 它是嵌入式系統(tǒng)極為重要的組成部分 通常包括與硬件相關(guān)的底層驅(qū) 動(dòng)軟件 系統(tǒng)內(nèi)核 設(shè)備驅(qū)動(dòng)接口 通信協(xié)議 圖形界面 標(biāo)準(zhǔn)化瀏覽器等 與通用操 作系統(tǒng)相比較 嵌入式操作系統(tǒng)在系統(tǒng)實(shí)時(shí)高效性 硬件的依賴性 軟件固態(tài)化以及應(yīng) 用的專用性等方面具有較為突出的特點(diǎn) 嵌入式操作系統(tǒng)的出現(xiàn) 將大大提高嵌入式系 統(tǒng)開(kāi)發(fā)的效率 改變以往嵌入式軟件設(shè)計(jì)只能針對(duì)具體的應(yīng)用從頭做起的局面 在嵌入 式操作系統(tǒng)之上開(kāi)發(fā)嵌入系統(tǒng)將減少系統(tǒng)開(kāi)發(fā)的工作量 增強(qiáng)嵌入式應(yīng)用軟件的可移植 性 使嵌入式系統(tǒng)的開(kāi)發(fā)方法更具科學(xué)性 自1 9 8 9 年芬蘭赫爾辛基大學(xué)學(xué)生l i n u st o r v a l d 發(fā)布了一個(gè)新的u n i x 變種 l i n u x 到今天各種l i n u x 系統(tǒng)已經(jīng)成功應(yīng)用于服務(wù)器 作為操作系統(tǒng)的一個(gè)重要分 支又為嵌入式系統(tǒng)的技術(shù)發(fā)展帶來(lái)了新的契機(jī) 嵌入式系統(tǒng)和l i n u x 的有機(jī)結(jié)合 成為 后p c 時(shí)代計(jì)算機(jī)最普遍的應(yīng)用形式 l i n u x 作為嵌入式系統(tǒng)的新選擇 是非常有潛力的 國(guó)內(nèi)的嵌入式l i n u x 廠商隊(duì)伍正在逐漸壯大 開(kāi)始形成一個(gè)百家爭(zhēng)鳴的局面 市場(chǎng) 上的嵌入式l i n u x 廠商主要有中軟 紅旗 博利思 藍(lán)點(diǎn) 網(wǎng)虎科技和共創(chuàng)軟件聯(lián)盟等 等 它們各自均有自己的發(fā)展特點(diǎn)和技術(shù)特色 如 中軟股份公司開(kāi)發(fā)的中軟嵌入式 l i n u x 操作系統(tǒng) 具有微秒級(jí)的強(qiáng)實(shí)時(shí)功能 已經(jīng)在數(shù)控領(lǐng)域得到很好的應(yīng)用 并在最 近舉辦的l i n u xw o r l dc h i n a2 0 0 1 的展示會(huì)上 受到國(guó)內(nèi)外廠家和用戶的廣泛關(guān)注和 好評(píng) 而且中軟股份公司還具備了開(kāi)發(fā)網(wǎng)絡(luò)終端 信息家電 手持設(shè)備等嵌入式產(chǎn)品的 技術(shù)儲(chǔ)備和項(xiàng)耳承接能力 中科紅旗的嵌入式l i n u x 在機(jī)頂盒 彩票機(jī)等也做了不少工 作 但國(guó)內(nèi)廠商們正在設(shè)計(jì)的嵌入式產(chǎn)品形態(tài) 實(shí)際上還都普遍處于概念產(chǎn)品的階段 除了實(shí)時(shí)數(shù)控領(lǐng)域已經(jīng)涌現(xiàn)大量明確需求以外 其它嵌入式領(lǐng)域仍需要一段市場(chǎng)的培育 期 1 2 上及一個(gè)根據(jù)市場(chǎng)反饋不斷修正產(chǎn)品形態(tài)的過(guò)程 目前 國(guó)際上有數(shù)以百計(jì)的嵌入式l i n u x 開(kāi)發(fā)計(jì)劃 許多大型跨國(guó)企業(yè) 已經(jīng)瞄準(zhǔn) 了后p c 時(shí)代的下一代計(jì)算設(shè)備 嵌入式計(jì)算設(shè)備 其中嵌入式l i n u x 技術(shù)的關(guān)鍵 1 對(duì)l i n u x 的裁減達(dá)到小型化的目的 并移植應(yīng)用程序 2 對(duì)不同嵌入式微處理器的l i n u x 內(nèi)核代碼移植主要依賴于不同的體系結(jié)構(gòu) u c l i n u x x i n h u a r o n g 驅(qū)動(dòng)程序的研究 老鐵 6 中北大學(xué)學(xué)位論文 3 圖形接口g u i 以及微型瀏覽器的研究 c o o lb i r d s k y y i n 圖1 2 嵌入式l i n u x 硬件平臺(tái)框圖 可見(jiàn)國(guó)內(nèi)外對(duì)嵌入式l i n u x 操作系統(tǒng)研究 主要集中下列幾個(gè)方面 1 提高實(shí)時(shí)性 l i n u x 操作系統(tǒng)的實(shí)時(shí)性不是很好 而嵌入式環(huán)境往往對(duì)l i n u x 操作系統(tǒng)的實(shí)時(shí)性 要求很高 提高l i n u x 的實(shí)時(shí)性是嵌入式l i n u x 操作系統(tǒng)研究的一個(gè)研究熱點(diǎn)o 也 取得了很多有價(jià)值的研究成果 2 對(duì)特殊硬件的支持 嵌入式環(huán)境往往使用一些特殊的硬件 如何在嵌入式l i n u x 操作系統(tǒng)支持特殊硬件 也是一個(gè)研究熱點(diǎn) 例如 f l a s h 存儲(chǔ)的使用問(wèn)題 把f l a s h 存儲(chǔ)是作為存儲(chǔ)器使用 作為文件系統(tǒng)使用 還是直接作為外設(shè)使用 哪種方法最合理 就是一個(gè)需要研究的問(wèn) 題 3 嵌入式l i n u x 操作系統(tǒng)的裁剪和定制 l i n u x 操作系統(tǒng)內(nèi)核中的實(shí)現(xiàn)算法 有些不適應(yīng)嵌入式環(huán)境 有些在嵌入式環(huán)境中 不需要 如何修改內(nèi)核中某些部件的實(shí)現(xiàn)算法 一方面降低系統(tǒng)規(guī)模 嵌入式環(huán)境往往 要求系統(tǒng)的規(guī)模較小 另一方面也使其更加適應(yīng)嵌入式環(huán)境 也是一個(gè)研究熱點(diǎn) 當(dāng)前在l i n u x 操作系統(tǒng)的裁剪和定制技術(shù)方面的研究 主要集中于研究具體的裁剪 7 中北大學(xué)學(xué)位論文 實(shí)現(xiàn)算法和裁剪實(shí)現(xiàn)技術(shù) 如何分離出l i n u x 操作系統(tǒng)內(nèi)核中必要部分和可裁剪部分 根據(jù)具體的應(yīng)用 實(shí)現(xiàn)對(duì)各個(gè)可裁剪部分的定制 這方面的研究剛剛開(kāi)始 本論文就是 在這方面做了具體地研究和開(kāi)發(fā)工作 目前 世界上已經(jīng)開(kāi)始走向面向應(yīng)用特定操作系統(tǒng)的研制工作 a p p l i c a t i o n s p e c i f i co p e r a t i n gs y s t e m a s o s 從a s o s 到各類的嵌入式系統(tǒng) 我認(rèn)為這反映了電 子和信息系統(tǒng)已經(jīng)開(kāi)始了 機(jī)械化 的進(jìn)程 同時(shí) a s o s 的成熟和嵌入式系統(tǒng)的廣泛應(yīng) 用 必然加速系統(tǒng)程序設(shè)計(jì)的模塊框圖化和開(kāi)發(fā)環(huán)境的集成智能化的趨勢(shì) l i n u x 會(huì)在 這一過(guò)程中起重要作用 麗對(duì)于其內(nèi)核的裁剪和定制的研究必將是最核心的任務(wù) 這也 是嵌入式l i n u x 系統(tǒng)對(duì)軟件產(chǎn)業(yè)的最大貢獻(xiàn) 1 3 本論文的主要內(nèi)容 根據(jù)課題研究的目的及目前存在的問(wèn)題 本論文主要從以下幾個(gè)方面展開(kāi)工作 1 系統(tǒng)研究l i n u x 內(nèi)核的各個(gè)版本 從l i n u x o i i 到l i n u x 2 4 詳細(xì)分析各個(gè)內(nèi) 核的特點(diǎn)和其所實(shí)現(xiàn)的功能有什么不同 一些在早期版本上未實(shí)現(xiàn)的功能是如何整合到 后期版本中的 而操作系統(tǒng)的某一部分 就其實(shí)現(xiàn)來(lái)說(shuō) 看起來(lái)比較簡(jiǎn)單 它的難點(diǎn)是如 何將大量的功能集成出一個(gè)k e r n e r l 從這些工作中我們發(fā)現(xiàn)一個(gè)完整可靠的內(nèi)核需要 哪些機(jī)制和接口 在此基礎(chǔ)上力爭(zhēng)全面理解l i n u x 內(nèi)核 2 逐步修改內(nèi)核 其中提出各種設(shè)想 在實(shí)驗(yàn)基礎(chǔ)上 自己去嘗試實(shí)現(xiàn)各種機(jī) 制 發(fā)現(xiàn)自己不足的過(guò)程中 做到深刻理解內(nèi)核復(fù)雜性和其各部分相關(guān)關(guān)系 并掌握內(nèi) 核各種重要數(shù)據(jù)結(jié)構(gòu) 為今后的工作做好準(zhǔn)備 3 了解嵌入式l i n u x 的設(shè)計(jì)特點(diǎn) 提出裁減l i n u x 內(nèi)核的科學(xué)方法 用它可以 實(shí)現(xiàn)在各應(yīng)用平臺(tái)上分離出l i n u x 操作系統(tǒng)內(nèi)核源代碼中的必要部分和可裁減部分 針 對(duì)各個(gè)可裁減部分 研究相應(yīng)的裁減技術(shù) 4 具體分析內(nèi)核各組成部分的特性 找到其相應(yīng)的裁減和定制原則與方法 其各 子系統(tǒng)的虛擬管理機(jī)制 緩沖管理機(jī)制在嵌入式系統(tǒng)里已成為負(fù)擔(dān) 詳細(xì)說(shuō)明如何完全 將這些代碼從內(nèi)核中裁去 并分析裁去的可行性 5 嵌入式是微處理器 單片機(jī)和d s p 處理器的應(yīng)用技術(shù) l i n u x 不支持d s p 平臺(tái) 這將制約其在嵌入式領(lǐng)域的發(fā)展 在了解了內(nèi)核所有源代碼工作特性的基礎(chǔ)上 致力于 8 中北大學(xué)學(xué)位論文 將l i n u x 內(nèi)核移植到d s p 平臺(tái)的研究 6 以嵌入式環(huán)境為應(yīng)用背景 討論如何降低驅(qū)動(dòng)程序開(kāi)發(fā)難度 并以虛擬字符 設(shè)備抽象硬件體系特征 減少開(kāi)發(fā)人員的代碼工作量 9 中北大學(xué)學(xué)位論文 2 l i n u x 內(nèi)核具體結(jié)構(gòu)分析 概括而言 操作系統(tǒng)主要具有兩個(gè)功能 其一是管理硬件資源 其二是屏蔽具體硬 件差異并為應(yīng)用程序提供虛擬機(jī) 于是 操作系統(tǒng)必定由進(jìn)程控制 內(nèi)存管理 設(shè)備 驅(qū)動(dòng) 文件系統(tǒng)等子系統(tǒng)構(gòu)成 進(jìn)程控制 內(nèi)存管理等核心部分與目標(biāo)計(jì)算機(jī)的體系結(jié) 構(gòu)密切相關(guān) 必須針對(duì)目標(biāo)計(jì)算機(jī)單獨(dú)開(kāi)發(fā) 而設(shè)備驅(qū)動(dòng) 文件系統(tǒng)和網(wǎng)絡(luò)部分只涉及 具體的外設(shè) 與處理器結(jié)構(gòu)無(wú)關(guān) 內(nèi)核是操作系統(tǒng)的內(nèi)部核心程序 它向外部提供了對(duì)計(jì)算機(jī)設(shè)各的核心管理調(diào)用 我們將操作系統(tǒng)的代碼分成兩部分 內(nèi)核所在的地址空間稱作內(nèi)核空間 而在內(nèi)核以外 剩下的程序統(tǒng)稱為夕 部管理程序 它們大部分是對(duì)外圍設(shè)備的管理和界廄操作 外部管 理程序與用戶進(jìn)程所占據(jù)的地址空間稱為外部空間 通常 一個(gè)程序會(huì)跨越兩個(gè)空間 當(dāng)執(zhí)行到內(nèi)核空間的一段代碼時(shí) 我們稱程序處于內(nèi)核態(tài) 而當(dāng)程序執(zhí)行n t 部空間代 碼時(shí) 我們稱程序處于用戶態(tài) 從u n i x 內(nèi)核起 人們開(kāi)始用高級(jí)語(yǔ)言編寫內(nèi)核代碼 使得內(nèi)核具有良好的擴(kuò)展性 單一內(nèi)核是當(dāng)時(shí)操作系統(tǒng)的主流 操作系統(tǒng)中所有的系統(tǒng)相關(guān)功能都被封裝在內(nèi)核中 它們與外部程序處在不同的內(nèi)存地址空間中 并通過(guò)各種方式防止外部程序直接訪問(wèn)內(nèi) 核中的數(shù)據(jù)結(jié)構(gòu) 程序只有通過(guò)一套稱作系統(tǒng)調(diào)用的界面訪問(wèn)內(nèi)核結(jié)構(gòu) 近些年來(lái) 微 內(nèi)核結(jié)構(gòu)逐漸流行起來(lái) 成為操作系統(tǒng)的主要潮流 1 9 8 6 年 t a n e n b a u m 提出m a c h k e r n e l 之后 他的m i n 呔和g n u 的h u r d 操作系統(tǒng)更是微內(nèi)核的典范 在微內(nèi)核結(jié)構(gòu) 中 操作系統(tǒng)的內(nèi)核只需要提供最基本 最核心的一部分操作 比如創(chuàng)建和刪除任務(wù) 內(nèi)存管理 中斷管理等 而l i n u x 內(nèi)核并不完全局限于單內(nèi)核特性 有其獨(dú)特的結(jié)構(gòu) 體系 嵌入式l i n u x 內(nèi)核一般由標(biāo)準(zhǔn)l i n u x 內(nèi)核裁剪而來(lái) 用戶可在完全了解內(nèi)核源代 碼的基礎(chǔ)上 根據(jù)需求配置系統(tǒng) 剔除不需要的服務(wù)功能 文件系統(tǒng)和設(shè)備驅(qū)動(dòng) 來(lái) 使內(nèi)核適用于各種嵌入式設(shè)備 2 1l i n u x 內(nèi)核的系統(tǒng)體系結(jié)構(gòu) l i n u x 內(nèi)核主要由5 個(gè)模塊構(gòu)成 它們分別是 進(jìn)程調(diào)度模塊 內(nèi)存管理模塊 文 l o 中北大學(xué)學(xué)位論文 件系統(tǒng)模塊 進(jìn)程間通信模塊和網(wǎng)絡(luò)接口模塊 進(jìn)程調(diào)度模塊用來(lái)負(fù)責(zé)控制進(jìn)程對(duì)c p u 資源的使用 所采取的調(diào)度策略是各進(jìn)程能夠公平合理而有效地訪i h l c p u 同時(shí)保證內(nèi) 核能及時(shí)地執(zhí)行硬件操作 內(nèi)存管理模塊用于確保所有進(jìn)程能夠安全地共享機(jī)器主內(nèi)存 區(qū) 同時(shí) 內(nèi)存管理模塊還支持虛擬內(nèi)存管理方式 使得l i n u x 支持進(jìn)程使用比實(shí)際內(nèi) 存空間更多更大的內(nèi)存容量 并可以利用文件系統(tǒng)把暫時(shí)不用的內(nèi)存數(shù)據(jù)塊交換到外部 存儲(chǔ)設(shè)備上去 當(dāng)需要時(shí)再交換回來(lái) 文件系統(tǒng)模塊用于支持對(duì)外部設(shè)備的驅(qū)動(dòng)和存儲(chǔ) 虛擬文件系統(tǒng)模塊通過(guò)向所有的外部存儲(chǔ)設(shè)備提供一個(gè)通用的文件接口 隱藏了各種硬 件設(shè)備的不同細(xì)節(jié) 從而提供并支持與其它操作系統(tǒng)兼容的多種文件系統(tǒng)格式 進(jìn)程間 通信模塊予系統(tǒng)用于支持多種進(jìn)程間的信息交換方式 網(wǎng)絡(luò)接口模塊提供對(duì)多種網(wǎng)絡(luò)通 信標(biāo)準(zhǔn)的訪問(wèn)并支持許多網(wǎng)絡(luò)硬件 這幾個(gè)模塊之間的依賴關(guān)系見(jiàn)圖2 1 所示 其中的連線代表它們之間的依賴關(guān)系 虛線和虛框部分表示l i n u x 后期版本中實(shí)現(xiàn)的的模塊和關(guān)聯(lián)部分 由圖可以看出 所有的模塊都與進(jìn)程調(diào)度模塊存在依賴關(guān)系 因?yàn)樗鼈兌夹枰揽?進(jìn)程調(diào)度程序來(lái)掛起 暫停 或重新運(yùn)行它們的進(jìn)程 通常 一個(gè)模塊會(huì)在等待硬件操 作期間被掛起 而在操作完成后才可繼續(xù)運(yùn)行 例如 當(dāng)一個(gè)進(jìn)程試圖將一數(shù)據(jù)塊寫到 軟盤上去時(shí) 軟盤驅(qū)動(dòng)程序就可能在啟動(dòng)軟盤旋轉(zhuǎn)期間將該進(jìn)程置為掛起等待狀態(tài) 而 在軟盤進(jìn)入到正常轉(zhuǎn)速后再使得該進(jìn)程能繼續(xù)運(yùn)行 另外3 個(gè)模塊也是由于類似的原因 而與進(jìn)程調(diào)度模塊存在依賴關(guān)系 其它幾個(gè)依賴關(guān)系有些不太明顯 但同樣也很重要a 進(jìn)程調(diào)度子系統(tǒng)需要使用內(nèi)存管理器來(lái)調(diào)整一個(gè)特定進(jìn)程所使用的物理內(nèi)存空間 進(jìn)程 中北大學(xué)學(xué)位論文 間通信子系統(tǒng)則需要依靠?jī)?nèi)存管理器來(lái)支持共享內(nèi)存通信機(jī)制 這種通信機(jī)制允許兩個(gè) 進(jìn)程訪問(wèn)內(nèi)存的同一個(gè)區(qū)域以進(jìn)行進(jìn)程間信息的交換 虛擬文件系統(tǒng)也會(huì)使用網(wǎng)絡(luò)接口 來(lái)支持網(wǎng)絡(luò)文件系統(tǒng) n f s 同樣也能使用內(nèi)存管理子系統(tǒng)來(lái)提供內(nèi)存虛擬盤 r a m d i s k 設(shè)備 而內(nèi)存管理子系統(tǒng)也會(huì)使用文件系統(tǒng)來(lái)支持內(nèi)存數(shù)據(jù)塊的交換操作 其中進(jìn)程管理 內(nèi)存管理和文件系統(tǒng)是其最基本的3 個(gè)子系統(tǒng) 可將這三部分構(gòu)成 是l i n u x p i i 核的單內(nèi)核模式結(jié)構(gòu)模型 用戶進(jìn)程可直接通過(guò)系統(tǒng)調(diào)用或者函數(shù)庫(kù)來(lái)訪 問(wèn)內(nèi)核資源 正因?yàn)閘 i n u x f 勺核具有這樣的結(jié)構(gòu) 因此修改內(nèi)核時(shí)必須注意各個(gè)子系統(tǒng) 之間的協(xié)調(diào) 2 2l i n u x 內(nèi)核部分分析 根據(jù)功能不同 l i n u x 內(nèi)核的模塊可基本劃分為進(jìn)程管理 內(nèi)存管理 網(wǎng)絡(luò)系統(tǒng) 文件系統(tǒng)與進(jìn)程通信幾部分 這種劃分是從用戶程序的角度為出發(fā)點(diǎn)的 從內(nèi)核開(kāi)發(fā)本 身的角度看 l i n u x 內(nèi)核應(yīng)包括初始化 中斷處理 進(jìn)程調(diào)度 內(nèi)存管理幾個(gè)基本部分 在此基礎(chǔ)之上引入文件系統(tǒng) 網(wǎng)絡(luò)系統(tǒng) 總線管理系統(tǒng)等 而與之相關(guān)的設(shè)備驅(qū)動(dòng)程序 的管理也是這些予系統(tǒng)的功能 本節(jié)將從內(nèi)核的角度 詳細(xì)介紹l i n u x p q 核中的系統(tǒng)初 始化 中斷處理 進(jìn)程調(diào)度等部分 2 2 1 初始化 l i n u x 是一個(gè)跨平臺(tái)的系統(tǒng) 其內(nèi)核代碼中與平臺(tái)無(wú)關(guān)的部分是從i n i t m a i n c 文件 中的s t a r t 函數(shù)開(kāi)始執(zhí)行的 在此之前所執(zhí)行的程序主要完成內(nèi)核運(yùn)行環(huán) kernel v o i d 境的建立 包括查找處理器類型 查找機(jī)器結(jié)構(gòu) 建立系統(tǒng)運(yùn)行所需的最小內(nèi)存頁(yè)表 激活m m u 設(shè)置系統(tǒng)初始化任務(wù)棧 保存處理器i d 與機(jī)器類型等參數(shù)供c 代碼部分使用 從s t a r t 開(kāi)始 內(nèi)核將完成其余的初始化工作 下面重點(diǎn)分析從 kernel0 s t a r k e r n e l 開(kāi)始的系統(tǒng)初始化工作 s t a r t k e r n e l 0 先調(diào)用l o c k k e r n e l 由于嵌入式環(huán)境中 一般不會(huì)用到l i n u x 的s m p 支持 與s m p 相關(guān)的一些函數(shù)一般定義為空循環(huán) 沒(méi)有實(shí)質(zhì)意義 初始化過(guò)程然后調(diào)m s e t u p a r c h 0 該函數(shù)完成于特定機(jī)器相關(guān)的一些數(shù)據(jù)初始 1 2 中北大學(xué)學(xué)位論文 化 這些數(shù)據(jù)包括 r o o t d e v 這些參數(shù)決定了系統(tǒng)在裝載根文件系統(tǒng)時(shí)使用哪一個(gè)設(shè)備上的文件系 統(tǒng) p r o c i n f o 該結(jié)構(gòu)記錄t c p u 名稱與c p u j 造商名稱 s y s t e m u t s n a m e 該結(jié)構(gòu)記錄了系統(tǒng)名稱 機(jī)器名稱 系統(tǒng)版本號(hào) 域名等 i n i tm e m 該結(jié)構(gòu)記錄了內(nèi)核中代碼的起始位置 數(shù)據(jù)起始位置等存儲(chǔ)器信息 m e m i n f o 該結(jié)構(gòu)中記錄了系統(tǒng)中存儲(chǔ)器的分布情況 包括系統(tǒng)有幾個(gè)存儲(chǔ)器b a n k 每個(gè)b a n k 大小 除了初始化上述數(shù)據(jù)結(jié)構(gòu)外 s e t u pa r c h 0 還初始化了系統(tǒng)的頁(yè)表 對(duì)傳遞給系 統(tǒng)的命令行參數(shù)進(jìn)行整理 并進(jìn)行部分處理 總的來(lái)說(shuō) 系統(tǒng)運(yùn)行所需要的基本數(shù)據(jù)都 在這里初始化 s e t u p a r c h 是與體系結(jié)構(gòu)緊密相關(guān)的 初始化過(guò)程接著調(diào)用p a r s e o p t i o n s0 函數(shù)對(duì)命令行參數(shù)進(jìn)行分析處理 將命令行 參數(shù)中的各個(gè)環(huán)境變量分割出來(lái)保存到e n v p i n i t 數(shù)據(jù)中 將命令行參數(shù)的內(nèi)核選項(xiàng)分 離并保存到a r g v i n i t 數(shù)組中 這兩個(gè)數(shù)組將用于后續(xù)的初始化過(guò)程 分析命令參數(shù)后 調(diào)用t r a p i n i t 0 對(duì)系統(tǒng)中斷向量表進(jìn)行初始化 中斷向量初始 化時(shí)系統(tǒng)與體系結(jié)構(gòu)相關(guān)的接口函數(shù)是 t r a p i n i t0 在a r m 結(jié)構(gòu)中 該函數(shù)在文件 a r c h a r m k e r n e l e n t r y a r m v s 中實(shí)現(xiàn) 該函數(shù)將中斷向量拷到位于虛地址o x 0 0 0 0 0 0 0 0 的內(nèi)存中 同時(shí)將可重定位的中斷處理程序頭部 s t u b 拷貝到虛地址0 x 0 0 0 0 0 2 0 0 的 內(nèi)存中 從而完成中斷向量表的初始化過(guò)程 中斷向量表初始化后 調(diào)用i n i t i r q 0 函數(shù)對(duì)中斷處理分配表i r q d e s c 數(shù)組進(jìn)行初 始化 為各個(gè)中斷分配缺省處理函數(shù) 中斷處理是操作系統(tǒng)中一個(gè)重要的部分 他與c p u 結(jié)合得比較緊密 不同c p u 的中斷處理過(guò)程往往相差較大 因此l i n u x 中與中斷處理相關(guān) 代碼大部分是在與體系結(jié)構(gòu)相關(guān)的 其接口也相對(duì)較粗 中斷分配表初始化后 調(diào)用s c h e d i n i t 對(duì)進(jìn)程調(diào)度所用到的數(shù)據(jù)結(jié)構(gòu)進(jìn)行初始 化 s c h e d i n i t 所初始化的數(shù)據(jù)中包括 p i d h a s h 數(shù)組 這是一個(gè)t a s k s t r u c t 結(jié)構(gòu)的指針數(shù)組 該數(shù)組初始化為空指 針 p i d h a s h 數(shù)組用于根據(jù)p i d 進(jìn)程標(biāo)識(shí)號(hào) 來(lái)快速查找其對(duì)應(yīng)的t a s k s t r u c t 結(jié)構(gòu)體 它所用的h a s h 函數(shù)為 x 8 x p i d h a s h s z 1 由 1 3 中北大學(xué)學(xué)位論文 于1 i n u x 可同時(shí)支持多個(gè)進(jìn)程 通過(guò)h a s h 表來(lái)查找p i d 所對(duì)應(yīng)的任務(wù)結(jié)構(gòu)可大大 加速查找的速度 t v l t v 2 t v 3 t v 4 t v 5 t v l t v 5 時(shí)時(shí)間向量 用于處理系統(tǒng)的計(jì)時(shí)器功 能 它們的初始化是通過(guò)調(diào)用i n i t t i m e r v e c s 0 進(jìn)行的 b h b a s e 數(shù)組 b h b a s e 是一個(gè)函數(shù)指針 用于系統(tǒng)的中斷下半部 b o t t o m h a l f 處理 s c h e d i n i t 0 初始化t b h b a s e 數(shù)組的三個(gè)成員 t i m e r b h t q u e u e b h i m m e d i a t e b h 這是通過(guò)調(diào)用i n i t b h i n t n r v o i d r o u t i n e v o i d 函數(shù)完成的 調(diào)用s c h e d i n i t0 之后 調(diào)用t i m e i n i t0 函數(shù)對(duì)系統(tǒng)時(shí)鐘變量x t i m e 初始化 然后 安裝系統(tǒng)時(shí)鐘中斷處理函數(shù) 初始化過(guò)程接著調(diào)用s o f t i r qi n i t 0 函數(shù)進(jìn)行軟中斷處理初始化 它所涉及的數(shù) 據(jù)結(jié)構(gòu)b h t a s k v e c 數(shù)組 s o f t i r q v e c 數(shù)組 這些數(shù)據(jù)用于實(shí)現(xiàn)系統(tǒng)的b h 機(jī)制與t a s k l e t 機(jī)制 調(diào)用c o n s o l e i n i t0 進(jìn)行控制臺(tái)初始化 c o n s o l e i n i t 之后 內(nèi)核中的p r i n t k 0 語(yǔ)句就可以產(chǎn)生打印輸出了 控制臺(tái)初始化之后 系統(tǒng)調(diào)用r a m s l a b c 中的函數(shù) k m e m c a c h e i n i t0 該函數(shù)初始化l i n u x 的s l a b 分配器中的基本數(shù)據(jù)結(jié)構(gòu)c a c h e c a c h e c a c h ec h a i n s e m c a c h e c h a i n 這幾個(gè)數(shù)據(jù)結(jié)構(gòu)用于s l a b 分配器中的c a c h e 管理 初始化過(guò)程接著調(diào)用m e m i n i t 函數(shù) 該函數(shù)根據(jù)m e m i n f o 結(jié)構(gòu)的信息初始化系統(tǒng) 基于頁(yè)的內(nèi)存管理系統(tǒng)的所有數(shù)據(jù)結(jié)構(gòu) 標(biāo)識(shí)系統(tǒng)中所有空閑內(nèi)存的情況 并輸出系統(tǒng) 最初的內(nèi)存使用情況 m e m i n i t0 之后 系統(tǒng)就可以使用g f p 即頁(yè)面分配與釋放 功 能了 m e m i n i t0 之后系統(tǒng)用k m e m c a c h e s i z e s i n i t0 函數(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論