已閱讀5頁,還剩63頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
申請同濟大學工學碩士學位論文 二 七 年二月 嵌入式操作系統(tǒng)平臺模擬 技術(shù)的研究 ( 國家 863“軟件重大專項”項目 編號: 2001 培養(yǎng)單位:電子與信息工程學院 一級學科:計算機科學與技術(shù) 二級學科:計算機軟件與理論 研 究 生:何宗鍵 指導教師:陳榕 教授 A in 2007 e 嵌入式操作系統(tǒng)平臺模擬技術(shù)的研究 何宗鍵 同濟大學 學位論文版權(quán)使用授權(quán)書 本人完全了解同濟大學關(guān)于收集、保存、使用學位論文的規(guī)定,同意如下各項內(nèi)容:按照學校要求提交學位論文的印刷本和電子版本;學校有權(quán)保存學位論文的印刷本和電子版,并采用影印、縮印、掃描、數(shù)字化或其它手段保存論文;學校有權(quán)提供目錄檢索以及提供本學位論文全文或者部分的閱覽服務;學校有權(quán)按有關(guān)規(guī)定向國家有關(guān)部門或者機構(gòu)送交論文的復印件和電子版;在不以贏利為目的的前提下,學??梢赃m當復制論文的部分或 全部內(nèi)容用于學術(shù)活動。 學位論文作者簽名: 年 月 日 同濟大學學位論文原創(chuàng)性聲明 本人鄭重聲明:所呈交的學位論文,是本人在導師指導下,進行研究工作所取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,本學位論文的研究成果不包含任何他人創(chuàng)作的、已公開發(fā)表或者沒有公開發(fā)表的作品的內(nèi)容。對本論文所涉及的研究工作做出貢獻的其他個人和集體,均已在文中以明確方式標明。本學位論文原創(chuàng)性聲明的法律責任由本人承擔。 簽名: 年 月 日 摘要 I 摘要 隨著軟件技術(shù)的飛速發(fā)展 ,操作系統(tǒng)之間的彼此不兼容性越來越嚴重的束縛了計算機應用的普及,造成了應用的重復開發(fā)等資源浪費。 針對這個問題,本文提出了一種基于 系統(tǒng)調(diào)用級別的操作系統(tǒng)平臺模擬技術(shù)。在不同的操作系統(tǒng)平臺之間借助 對系統(tǒng)調(diào)用的模擬,可以實現(xiàn)不同操作系統(tǒng)上的應用程序在二進制級別上 互相兼容。 本研究課題圍繞“和欣”操作系統(tǒng)與微軟的 間的 應用程序 相互兼容而展開。 首先,本文討論了實現(xiàn) 操作系統(tǒng)平臺模擬的核心技術(shù),深 入 分析了應用程序在操作系統(tǒng)下的運行機制以 及外部 耦合依賴 關(guān)系 。提出了操作系統(tǒng)平臺模擬技術(shù)的基本原理合基本方法,并 從 理論 上論證了應用程序跨平臺運行的可行性及涉及到的關(guān)鍵技術(shù)。 其次,本文 詳細闡述了操作系統(tǒng)平臺模擬技術(shù)在工程中的兩個應用實例: E。 “和欣” 操作系統(tǒng)上模擬了 E 的應用程序運行環(huán)境, 通過模擬 E 的若干系統(tǒng)調(diào)用,可以使 E 二進制代碼不加修改的在“和欣”上運行,從而實現(xiàn)了 別兼容。 E 是旨在在各種平臺上運行“和欣”應用程序的跨平臺執(zhí)行環(huán)境。本文詳細介紹了其在E 上的實現(xiàn)。 通過 E,可以讓 E 具有互聯(lián)網(wǎng)操作系統(tǒng)所具有的基本特征。 最后,論文總結(jié)了操作系統(tǒng)平臺模擬技術(shù)的研究結(jié)果, 并且對未來的研究方向作了分析與介紹。 關(guān)鍵詞 : 和欣, E,二進制兼容,操作系統(tǒng),模擬 I of of as In to a By of is on E of is s is of is S is of in E. is to E E is S, E It BI is a to on of E is in E of is E, 錄 錄 第 1 章 引言 . 1 究背景介紹 . 1 內(nèi)外研究現(xiàn)狀 . 2 題的研究意義 . 3 人所作的工作 . 4 文的組織結(jié)構(gòu) . 4 第 2 章 相關(guān)概念與技術(shù) . 6 和欣 ”嵌入式操作系統(tǒng) . 6 和欣”嵌入式操作系統(tǒng)簡介 . 6 和欣”操作系統(tǒng)的體系結(jié)構(gòu) . 6 件技術(shù) . 7 和欣” 構(gòu)件運行平臺 . 10 E 嵌入式操作系統(tǒng) . 12 E 嵌入式操作系統(tǒng)簡介 . 12 E 的體系結(jié)構(gòu) . 14 作系統(tǒng)與應用程序的接口技術(shù) . 20 程接口 . 20 行接口 . 20 第 3 章 操作系統(tǒng)平臺模擬的關(guān)鍵技術(shù) . 22 臺模擬的可行性研究 . 22 用程序的運行依賴分析 . 22 決運行依賴的 方法 . 24 目錄 V 序的加載與卸載 . 26 統(tǒng)調(diào)用模擬 . 29 臺模擬技術(shù)的局限性 . 30 系結(jié)構(gòu)的一致性 . 31 率的開銷 . 31 擬的相似度 . 31 第 4 章 基于“和欣”的 E 二進制兼容的設(shè)計與實現(xiàn) . 33 系結(jié)構(gòu) . 33 紹 . 33 詳細架構(gòu) . 34 統(tǒng)調(diào)用的實現(xiàn) . 35 用約定 . 35 數(shù)導出 . 36 形系統(tǒng)的模擬 . 38 絡(luò)協(xié)議的模擬 . 39 用程序運 行的實例 . 40 第 5 章 基于 E 的“和欣”二進制兼容的設(shè)計與實現(xiàn) . 45 欣運行平臺 . 45 臺抽象層 . 46 件運行平臺 . 51 第 6 章 結(jié)論與展望 . 53 究結(jié)果 . 53 究展望 . 54 致謝 . 55 目錄 考文獻 . 56 個人簡歷 在讀期間發(fā)表的學術(shù)論文與研究成果 . 57 第 1 章 引言 1 第 1章 引言 究背景介 紹 自從第一臺計算機 生的半個多世紀以來,計算機技術(shù)尤其是軟件技術(shù)得到了迅猛的發(fā)展。 軟件技術(shù)的迅速發(fā)展并且向傳統(tǒng)行業(yè)的滲透已經(jīng)逐漸改變了或者正在改變?nèi)藗兊纳罘绞健?可以預見在不久的將來,計算機軟件產(chǎn)業(yè)依然會是高速發(fā)展的朝陽產(chǎn)業(yè)。 回顧計算機軟件的發(fā)展歷史,操作系統(tǒng)的出現(xiàn)可謂是一個重要的里程碑。操作系統(tǒng)讓計算機 軟件體系的層次結(jié)構(gòu)開始清晰起來。層次化的軟件設(shè)計方法開始在軟件設(shè)計領(lǐng)域起著越來越重要的作用 。首先, 借助操作系統(tǒng),應用程序無需再直接與硬件交互,把開發(fā)人員從硬件細節(jié)中解放出來,從而可以更直接的關(guān) 注應用需求的細節(jié)。 其次,應用程序可以方便的使用操作系統(tǒng)提 供的各種服務,從而使一些應用開發(fā)中的常用操作可以更加簡單的實現(xiàn),這也提高了應用程序的開發(fā)效率。 操作系統(tǒng)的出現(xiàn)大大促進了計算機軟件的發(fā)展,無論在科學界還是工程界,操作系統(tǒng)都取得了巨大的成功。 但是操作系統(tǒng)的出現(xiàn)也帶來了一些新的問題。從某些意義上又不利于軟件的發(fā)展。目前 操作系統(tǒng)的種類非常繁多 , 各個操作系統(tǒng)之間都通常只遵循自己的標準,并沒有通用的 事實性標準 可以遵循,運行在各個操作系統(tǒng)之上的應用軟件通常與操作系統(tǒng)的耦合度相當高,因此是孤立的,彼此不能相互兼容。 這樣最直接的結(jié)果就是導致了“信息孤島”,各個 操作系統(tǒng) 平臺之間無法有效的進行系統(tǒng)集成。企業(yè)之間通常需要花費極大的精力把應用從一個平臺遷移到另外一個平臺,甚至需要花費人力物力同時維護幾個不同的平臺,造成了極大的資源浪費。對軟件產(chǎn)業(yè)的發(fā)展造成了負面影響。 架構(gòu)在操作系統(tǒng)平臺之上的 虛擬機技術(shù)對解決上述的問題提供了一種方案,通過在不同操作系統(tǒng)之間實現(xiàn)一個 協(xié)議相同的 虛擬機 來封裝不同操作系統(tǒng)之間的差異 ,應用程序直接與虛擬機交互而不與操作系統(tǒng)交互,則可以實現(xiàn)應用程序的跨平臺。 擬機與 這類技術(shù)的典型 代表。 雖然虛擬機技術(shù)可以部分解決操作系統(tǒng)平臺不兼容帶來的問題,但是 虛擬機技術(shù)的缺點也是顯而易見的。 第 1 章 引言 2 一方面,運行在虛擬機上的通常不是機器指令,而是虛擬機自定義的指令集,需要經(jīng)過解釋或即時編譯 ( n 才可以運行。這造成了程序運行時間和空間的極大浪費和損失。對于一些 比較重視 效率的應用 和一些實時應用 ,虛擬機技術(shù)則無能為力。另一方面,虛擬機技術(shù)要求所有的現(xiàn)有程序都必須在虛擬機上重新實現(xiàn),對于現(xiàn)存的大量非基于虛擬機的應用,除非花費人力用虛擬機語言重寫,否則依然無法靠虛擬機技術(shù)解決跨 平臺技術(shù)問題。第三,虛擬機上的應用程序只能與虛擬機交互,一些高級的操作(例如訪問硬件資源 )則無法實現(xiàn)。因此,虛擬機技術(shù)的跨平臺是靠犧牲效率和靈活性換來的,依然無法徹底解決操作系統(tǒng)造成的“信息孤島”。 如果能有一種技術(shù),可以使運行于一個操作系統(tǒng)上的二進制代碼不經(jīng)過任何修改,直接運行在另外一個操作系統(tǒng)上,而同時又不犧牲效率與靈活性。則上面提到的操作系統(tǒng)之間的 “信息孤島” 問題就可以迎刃而解。 這就是本文將要研究的操作系統(tǒng)平臺模擬技術(shù)。 內(nèi)外研究現(xiàn)狀 隨著操作系統(tǒng)之間不兼容的瓶頸越來越突出,國內(nèi)外對平臺模擬 技術(shù)的研究也越來越熱門,越來越深入,并且在主流的桌面操作系統(tǒng)上已經(jīng)有了一些研究成果。 其中, 國外兩個 比較典型的應用。 s a 一個 開放源代碼的項目 , 它的 目的在于在 統(tǒng)上提供 持, 也就可以在 統(tǒng)上運行 序 。 在完全沒有任何 統(tǒng) 的情況 下 , 夠執(zhí)行5 / 的應用 程序。它也可以使用 供的 件。 目前 劃可供執(zhí)行的平臺有: 目前,一些商業(yè)廠商也介入 開發(fā),推出了不同版本的 使得 展的比較迅速。但是, 不足也是顯而易見的, 到目前為止,它仍然無法替代在你的計算機上安裝 統(tǒng)。對于特定硬件的軟件如驅(qū)動程序或者系統(tǒng)工具來說,在 境下的 是無法使用的。通過模擬界面,可以使用當前的大多數(shù)硬件,如打印機、操縱桿或者調(diào)制解調(diào)器,但是如果打印機需要特定的 動程序,并且在 沒有對應的驅(qū)動程序的 話,那么它在 將無法使用。依賴于 碼的多媒體應用程序在這里也會遇第 1 章 引言 3 到 一些 問題 。 微軟公司推出的 一個專門為 戶而設(shè)計的軟件工具包,它可以不用拋棄任何應用程序、腳本文件或者其它類似工具的前提下,與 境相集成,并向其進行移植。該軟件包包含有一些很特別的 本程序,它能夠自動執(zhí)行各種任務,能夠在一臺使用 作系統(tǒng)編寫的應用程序。 子系統(tǒng)、一個 務器和客戶端、一個戶名映射服務器、一個 務器,和一個適用于那些并不包含有該組件的 本的遠程( 錄服務器組成。 系統(tǒng)能夠完全取代 境,并具有 編譯器和函數(shù)庫。而如果必要的話,其它的組件則能夠用來完成這兩個環(huán)境之間的協(xié)同,雖然你可能還是會愿意把它們當作是兩個完全獨立的系統(tǒng)。另外,在使用中,你基本上也不會需要再安裝這些組件以外的其它組件了。 一方面, 不難看出國外對操作系統(tǒng)平臺模擬技術(shù)的研 究如火如荼, 另外一方面,目前研究成果的局限性也是顯而易見的。 首先, 目前國外在 操作系統(tǒng)平臺模擬技術(shù) 的研究的目光大多數(shù)都集中在 系結(jié)構(gòu)的 桌面操作系統(tǒng)上面,由于體系結(jié)構(gòu)的限制, 其影響范圍有限,對于廣大的嵌入式操作系統(tǒng)與各式各樣的嵌入式 沒有研究。 其次,在國內(nèi)方面,對本課題領(lǐng)域的研究還 基本 是一片空白。 僅有 的一些對本課題的討論還都處于理論論證階段,很難看到有成熟的產(chǎn)品 。 題的研究意義 本課題就是為了解決上述在現(xiàn)實中廣泛存在而又影響深遠的問題而提出的。本課題的目的是尋求一種手段,可以使運行于一 個操作系統(tǒng)上的機器代碼不經(jīng)過修改,就可以直接運行在另外一個操作系統(tǒng)上。唯一的要求是這兩個操作系統(tǒng)所運行的硬件體系結(jié)構(gòu)是一致的。換言之,使應用程序只與硬件體系結(jié)構(gòu)相關(guān)而與其運行的操作系統(tǒng)無關(guān)。這樣就可以在不損失效率的情況下實現(xiàn)應用軟件的跨平臺兼容。 如果該課題的研究目的可以實現(xiàn),無論對于科研、 工程 還是最終用戶都會有巨大的影響。 第 1 章 引言 4 對于科研人員 而言 ,這將促進 對 操作系統(tǒng) 理論和操作系統(tǒng)方法的探討 。 傳統(tǒng)上,在操作系統(tǒng)科研領(lǐng)域傾向把操作系統(tǒng)分成處理機管理,文件系統(tǒng),內(nèi)存管理等幾個大模塊,而對于其附加的服務研討的并不多。通 過對平臺模擬技術(shù)的研究,希望可以激起科研人員對于操作系統(tǒng)功能的重新審視。 對于 工程界而言 , 平臺模擬技術(shù)可以使應用程序 方便 的實現(xiàn)跨操作系統(tǒng)。這樣,既 可以給 獨立軟件提供商等 商業(yè)公司節(jié)省 軟件 開發(fā) 的成本,又可以給解決方案的使用商減少軟件維護的成本。 對于最終用戶 而言,最終用戶 可以任意 的選擇在各個平臺下的優(yōu)秀應用軟件而沒有 操作系統(tǒng)限制之憂, 這樣可以 極大的方便最終用戶群。 同時,在嵌入式操作系統(tǒng)上進行操作系統(tǒng)平臺模擬技術(shù)的研究在國內(nèi)外也是前所未有的。目前此方面研究主要集中在桌面 臺。對于嵌入 式處理器和嵌入式操作系統(tǒng)而言 ,會遇到很多新的技術(shù)問題和新的挑戰(zhàn), 這都是本課題需要解決的。本課題的研究也將是操作系統(tǒng)平臺模擬技術(shù)應用嵌入式平臺上的第一次探索。 人所作的工作 本人在研究中所作的主要工作,在總結(jié)前人研究結(jié)果的基礎(chǔ)上,基于“和欣”和 E 兩個嵌入式操作系統(tǒng) 入手 ,完成了“和欣”上的 E 上的“和欣”平臺模擬。詳細而言分為如下兩個方面: 第一,在“和欣”操作系統(tǒng)上架構(gòu)和實現(xiàn)了 E 兼容層: 過對 E 幾百個系統(tǒng)調(diào)用的逐 個仿真和實現(xiàn),基本上實現(xiàn)了可以在“和欣”操作系統(tǒng)上運行 E 的 應用程序,實現(xiàn)了“和欣”與 E 的 應用程序二進制接口( 級兼容。 第二, 在 E 操作系統(tǒng)上實現(xiàn)了“和欣”運行平臺 ( 以下簡稱 的 E 平臺實現(xiàn)。從而可以使“和欣”上的應用程序,尤其是 擎,成功地運行。 實現(xiàn)了“和欣”應用程序的二進制跨平臺運行 。 文的組織結(jié)構(gòu) 本論文內(nèi)容共分為七章,其大致內(nèi)容組織結(jié)構(gòu)如下: 第 1 章 引言 主要介紹了 課題的研究背景、研究意義以及本人所作的一些第 1 章 引言 5 工作。 第 2 章 相關(guān)概念與技術(shù) 主要介紹了本文涉及到的一些相關(guān)的概念以及技術(shù),對下文的內(nèi)容做一些鋪墊性介紹。 第 3 章 操作系統(tǒng)平臺模擬 的關(guān)鍵技術(shù) 主要 從理論上分析了操作系統(tǒng)平臺模擬技術(shù)的可行性,提出了操作系統(tǒng)平臺模擬技術(shù)的一般方法論。 第 4 章 基于“和欣”的 E 二進制兼容的設(shè)計與實現(xiàn) 詳細介紹了操作系統(tǒng)平臺模擬技術(shù)的一個具體實現(xiàn) 讓和欣操作系統(tǒng)實現(xiàn)了與 E 應用程序二進制兼容。 第 5 章 基于 E 的“和欣”二進制兼容的設(shè)計與實現(xiàn) 詳細介紹了操作系統(tǒng)平臺模擬技術(shù)的 另外 一個具體實現(xiàn) E。 它讓 E 操作系統(tǒng)具有了和欣操作系統(tǒng)才具有的互聯(lián)網(wǎng)操作系統(tǒng)特征。 第 6 章 結(jié)論與展望 分析了 本 課題取得的成果以及未來的研究的方向。 第 2 章 相關(guān)概念與技術(shù) 6 第 2章 相關(guān)概念與技術(shù) 和欣 ”嵌入式操作系統(tǒng) 和欣”嵌入式操作系統(tǒng) 簡介 “和欣” (英文名稱: 嵌入式操作系統(tǒng) 是 由我國自主研發(fā)的,完全具有自主知識產(chǎn)權(quán)的 32 位 實時 嵌入式操作系統(tǒng)。 該操作系統(tǒng)是國家“ 863”重大科研項目的多年研究成果。 目前已經(jīng)在醫(yī)療器械,汽車電子以及 3G 機樣機中得到了應用。 該操作系 統(tǒng)可以從多個角度 進行描述: 1. 32 位 的 嵌入式操作系統(tǒng)。 “和欣” 操作系統(tǒng)基于微內(nèi)核,具有多進程、多線程、搶占式、基于線程的多優(yōu)先級任務調(diào)度等特性。 可以運行在 86 等多種體系結(jié)構(gòu)的嵌入式處理器之上。 和欣操作系統(tǒng)體積小,速度快,適合網(wǎng)絡(luò)時代的絕大部分嵌入式信息設(shè)備。 2. 完全面向構(gòu)件技術(shù)的操作系統(tǒng)。操作系統(tǒng)提供的功能模塊全部基于件技術(shù),因此是可拆卸的構(gòu)件,應 用系統(tǒng)可以按照需要剪裁組裝,或在運行時動態(tài)加載必要的構(gòu)件。 和欣” 操作系統(tǒng) 的體系結(jié)構(gòu) 傳統(tǒng)的操作系統(tǒng)分為“微內(nèi)核”與“宏內(nèi)核”兩種架構(gòu)。 宏內(nèi)核 操作系統(tǒng)的代表。 宏內(nèi)核 操作系統(tǒng)將圖形、設(shè)備驅(qū)動、文件系統(tǒng)等全部功能在操作系統(tǒng)內(nèi)核中實現(xiàn),運行在內(nèi)核狀態(tài)和同一地址空間。其優(yōu)點是減少了進程間通信和狀態(tài)切換的系統(tǒng)開銷,獲得較高的運行效率;缺點是內(nèi)核龐大,占用資源較多且不易剪裁,一旦某個驅(qū)動程序運行出錯,就會導致整個系統(tǒng)崩潰,系統(tǒng)的穩(wěn)定性、安全性不夠好。微內(nèi)核系統(tǒng)在內(nèi)核中只實現(xiàn)那些必須由內(nèi)核實現(xiàn)的基 本功能,而將圖形、文件系統(tǒng)、設(shè)備驅(qū)動、通信等功能放在內(nèi)核之外,以系統(tǒng)服務的形式提供各種功能。這種結(jié)構(gòu)的優(yōu)點是有一個精煉的內(nèi)核,便于剪裁和移植,而且由于系統(tǒng)服務程序運行在用戶地址空間,因而個別驅(qū)動程序的錯誤不至于導致整個系統(tǒng)崩潰。其不足之處是在運行中用戶狀態(tài)和內(nèi)核狀態(tài)需第 2 章 相關(guān)概念與技術(shù) 7 要頻繁地切換,從而導致系統(tǒng)效率不如單體內(nèi)核。 “和欣”操作系統(tǒng)區(qū)別于傳統(tǒng)操作系統(tǒng)最大的區(qū)別是它的靈活內(nèi)核機制。它既不同于傳統(tǒng)意義上的宏內(nèi)核架構(gòu),也不同于微內(nèi)核架構(gòu),而是兼顧兩者特點的“靈活內(nèi)核”。 除了最基本的調(diào)度管理、內(nèi)存管理等基本服務位于內(nèi)核 空間,操作系統(tǒng)其它的功能 (例如:圖形系統(tǒng)、文件系統(tǒng)、設(shè)備驅(qū)動程序等等)全都以服務的形式存在。 圖 靈活內(nèi)核”體系結(jié)構(gòu) 靈活內(nèi)核的最大特點是同一個服務既可以放在操作系統(tǒng)的核心態(tài)也可以放在操作系統(tǒng)的 用戶態(tài)。 服務以 形式存在,它既可以被加載到內(nèi)核空間,也可以被加載到用戶空間。 如果把服務加載到內(nèi)核空間,則可以獲得較高的運行效率。如果把服務加載到用戶狀態(tài),雖然會損失一定的效率,但是可以獲得更高的靈活性和穩(wěn)定性。 “靈活內(nèi)核”具有了微內(nèi)核與宏內(nèi)核的 優(yōu)點 , 相比 之下,有更好的靈活性,更適合嵌入式系統(tǒng)使用。 構(gòu)件技術(shù)是在面向?qū)ο蠹夹g(shù)的基礎(chǔ)上發(fā)展起來的。面向?qū)ο蠹夹g(shù)通過類的封裝和繼承成功實現(xiàn)代碼級的復用。類和封裝性,實現(xiàn)數(shù)據(jù)抽象和信息隱蔽,繼承性,提高了代碼復用性。但是面向?qū)ο蟮膹陀妹撾x不了代碼復用的本質(zhì),第 2 章 相關(guān)概念與技術(shù) 8 對象之間的關(guān)系在編譯時被固定,模塊之間的關(guān)系是靜態(tài)的,無法解決軟件動態(tài)升級和軟件模塊動態(tài)替換。 構(gòu)件技術(shù)通過二進制的封裝以及動態(tài)鏈接技術(shù)解決軟件的動態(tài)升級和軟件的動態(tài)替換問題。面向構(gòu)件技術(shù)對一組類的組合進行封裝,并代表完成一個或多個功能的特 定服務,同時為用戶提供多個接口。整個構(gòu)件隱藏了具體的實現(xiàn),只用接口提供服務。這樣,在不同層次上,構(gòu)件均可以將底層多個邏輯組合成高層次上的粒度更大的新構(gòu)件。構(gòu)件之間通過約定的接口進行數(shù)據(jù)交換和信息傳遞,構(gòu)件的位置是相互透明的,可以在同一個用戶進程空間,也可以在不同的用戶進程空間,甚至在不同的機器上,而且不同的構(gòu)件可以用不同的語言編寫,只要它們符合事先約定的構(gòu)件規(guī)范。 構(gòu)件是具有強制性、封裝性、透明性、互操作性和通用性的軟件單元。構(gòu)件的粒度可大可小,可以是一個簡單的按鈕實現(xiàn)模型,也可以是潮流計算、狀態(tài)估計等應用 。構(gòu)件使用與實現(xiàn)語言無關(guān)的接口定義語言( 定義接口。 作和對象,客戶通過它來構(gòu)造一個請求,服務器則為一個指定對象的實現(xiàn)提供這些數(shù)據(jù)類型、操作和對象。 件技術(shù)是面向構(gòu)件編程的編程模型,它規(guī)定了一組構(gòu)件間相互調(diào)用的標準,使得二進制構(gòu)件能夠自描述,能夠在運行時動態(tài)連接。 術(shù)源于 微軟的 是和微軟 比, 除了 過時的約定,禁止用戶定義 非自描述接口;完備了構(gòu)件及其接口的自描述功能, 實現(xiàn)了對 擴展;對 用戶界面進行了簡化包裝,易學易用。從 該 定義中, 可以說 微軟 一個子集,同時又對微軟的 臺 具的支持下,使得高深難懂的構(gòu)件編程技術(shù)很容易被 C/C+程序員理解并掌握。 相比于微軟的 術(shù), 術(shù)完全放棄對非自描述數(shù)據(jù)類型的支持。對于 代的軟件開發(fā)來講,這是一個很好的選擇。 代需要對數(shù)據(jù)進行遠程傳輸,如果數(shù)據(jù)本身不帶有對它自己的描繪的話,那在數(shù)據(jù)的傳輸和交換過程中就要付出更多的代價。為了支持字符串,數(shù)組,結(jié)構(gòu)等非自描 敘性數(shù)據(jù), 供了一系列用于封裝這些數(shù)據(jù)的自描敘數(shù)據(jù)類型。例如 。 般用來存儲用戶的常量字符串 ,它 有一個定長的存儲區(qū),可以存儲用戶的字符串 , 它還保存該字符串的長度 。 供存儲字節(jié)的緩沖區(qū) , 可以存放任何數(shù)據(jù) , 存放的第 2 章 相關(guān)概念與技術(shù) 9 是一個 象 , 來定義一個多維、定長、自描述數(shù)據(jù)類型的數(shù)組,一個通用數(shù)據(jù)類型,它可以存儲任何類型的數(shù)據(jù)。 同時這些數(shù)據(jù)對象本身是與微軟定義的 自描敘數(shù)據(jù)類型是兼容的。這就為件能夠在 面正常的跨地址空間,遠程調(diào)用提供了基本的前提。而且 描述數(shù)據(jù)類型與傳統(tǒng)的數(shù)據(jù)類型之間轉(zhuǎn)化更加靈活,它提供了一系列對字符串和字節(jié)流等進行自描述包裝的數(shù)據(jù)類型和方法。另外, 描述數(shù)據(jù)類型不僅可以在堆上分配,而且可以在棧上分配,提高了系統(tǒng)的效率。 在 ,構(gòu)件的一些相關(guān)運行信息都存放在系統(tǒng)的全局數(shù)據(jù)庫注冊表中,構(gòu)件在能夠正確運行之前,必須進行注冊。而構(gòu)件的相關(guān)運行信息本身就應該是構(gòu)件自描述的內(nèi)容之一,所以 術(shù)選擇了把該類信息封裝在構(gòu)件所在的二進制文件中。 構(gòu)件導出接口的描述方法之一是使用類型庫( 據(jù)( 于描述構(gòu)件信息的數(shù)據(jù)),類型庫本身是跟構(gòu)件的 件打包在一起的。但類型庫信息卻不是由構(gòu)件自身來來解釋,而是靠系統(tǒng)程序 提取和解釋,這也不符合構(gòu)件的自描述思想。而 可以通過構(gòu)件 身提供的導出函數(shù),非常容易的獲得該信息。 在大多數(shù)情況下,一個構(gòu)件會使用到另一些構(gòu)件的某種功能,也就是說構(gòu)件之間存在相互的 依存關(guān)系。 ,構(gòu)件只有關(guān)于自身接口(或者說功能)的自描述,而缺少對構(gòu)件依賴關(guān)系的自描述。在網(wǎng)絡(luò)計算時代的今天,正確的構(gòu)件依賴關(guān)系是構(gòu)件滾動運行、動態(tài)升級的基礎(chǔ)。在 構(gòu)件封裝中,除了構(gòu)件本身的類信息封裝在構(gòu)件內(nèi)外,還對構(gòu)件的依賴關(guān)系進行了封裝。即把一個構(gòu)件對其它構(gòu)件的依賴關(guān)系也作為構(gòu)件的元數(shù)據(jù)封裝在構(gòu)件中,把這種元數(shù)據(jù)稱為構(gòu)件的導入信息( 對于面向 務的應用軟件開發(fā),以及開發(fā)操作系統(tǒng)這樣的大型系統(tǒng)軟件而言,采用 件技術(shù)具有以下的意義: 不同軟件開發(fā)商開發(fā)的 具有獨特功能的構(gòu)件,可以確保與其他人開發(fā)的構(gòu)件實現(xiàn)互操作。 實現(xiàn)在對某一個構(gòu)件進行升級時不會影響到系統(tǒng)中的其它構(gòu)件。 不同的編程語言實現(xiàn)的構(gòu)件之間可以實現(xiàn)互操作。 提供一個簡單、統(tǒng)一的編程模型,使得構(gòu)件可以在進程內(nèi)、跨進程甚至于跨網(wǎng)絡(luò)運行。同時提供系統(tǒng)運行的安全、保護機制。 第 2 章 相關(guān)概念與技術(shù) 10 件與微軟的 件二進制兼容,但是 開發(fā)工具自動實現(xiàn)構(gòu)件的封裝,簡化了構(gòu)件編程的復雜性,有利于構(gòu)件化編程技術(shù)的推廣普及; 件技術(shù) 是一個 實現(xiàn)軟件工廠化生產(chǎn) 的先進技術(shù) , 可以大大提升企業(yè)的軟件開發(fā)技術(shù)水平,提高軟件生產(chǎn) 效率和軟件產(chǎn)品質(zhì)量;軟件工廠化生產(chǎn)需要有零件的標準, 件技術(shù)為建立軟件標準提供 了 參考 ,有利于建立企業(yè)、行業(yè)的軟件標準和構(gòu)件庫。 和欣”構(gòu) 件運行平臺 和欣構(gòu)件運行平臺提供了一套符合 范的系統(tǒng)服務構(gòu)件及支持構(gòu)件相關(guān)編程的 數(shù),實現(xiàn)并支持系統(tǒng)構(gòu)件及用戶構(gòu)件相互調(diào)用的機制,為 欣運行平臺在不同操作系統(tǒng)上有不同的實現(xiàn),符合 程規(guī)范的應用程序通過該平臺實現(xiàn)二進制級跨操作系統(tǒng)平臺兼容。 在和欣操作系統(tǒng)中,和欣構(gòu)件運行平臺與“和欣靈活內(nèi)核”共同構(gòu)成了完整的 操作系統(tǒng)。 在 000、 其他操作系統(tǒng)上,和欣構(gòu)件運行平臺屏蔽了底層傳統(tǒng)操作系統(tǒng)的具體特征,實現(xiàn)了一個構(gòu)件化的虛擬操作系統(tǒng)。在和欣構(gòu)件運行平臺上開發(fā)的應用程序,可以不經(jīng)修改、不損失太多效率、以相同的二進制代碼形式,運行于傳統(tǒng)操作系統(tǒng)之上。 下圖直觀地顯示了和欣構(gòu)件運行平臺在 000/欣操作系統(tǒng)中的位置。 圖 和欣”構(gòu)件平臺架構(gòu) 從和欣構(gòu)件運行平臺的定義, 知道該平臺為 供了運行環(huán)境。從這 個意義上, 從編程的角度看,和欣構(gòu)件運行平臺提供了一套系統(tǒng)服務構(gòu)件及系統(tǒng) 章 相關(guān)概念與技術(shù) 11 (應用程序編程接口),這些是在該平臺上開發(fā)應用程序的基礎(chǔ)。 和欣操作系統(tǒng)提供的其他構(gòu)件庫也是通過這些系統(tǒng)服務構(gòu)件及系統(tǒng) 現(xiàn)的。系統(tǒng)提供的這些構(gòu)件庫為應用編程開發(fā)提供了方便: 圖形系統(tǒng)構(gòu)件庫; 設(shè)備驅(qū)動構(gòu)件庫; 文件系統(tǒng)構(gòu)件庫; 網(wǎng)絡(luò)系統(tǒng)構(gòu)件庫。 從和欣構(gòu)件運行平臺來看,這些構(gòu)件和應用程序的構(gòu)件是處于同樣的地位。用戶可以開發(fā)性能更好或者更符合需求 的文件系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)等構(gòu)件庫,替換這些由 和欣 提供的構(gòu)件庫,也可以開發(fā)并建立自己的應用程序構(gòu)件庫。 圖 欣構(gòu)件運行平臺 顯示出和欣構(gòu)件運行平臺的功能及其與構(gòu)件庫、應用程序的關(guān)系。 圖 欣構(gòu)件運行平臺 從支持 件的運行環(huán)境的角度看,和欣構(gòu)件運行平臺提供了以下功能: 根據(jù)二進制構(gòu)件的自描述信息自動生成構(gòu)件的運行環(huán)境,動態(tài)加載構(gòu)件; 提供構(gòu)件之間的自動通信機制,構(gòu)件間通信可以跨進程甚至跨 網(wǎng)絡(luò); 構(gòu)件的運行狀態(tài)監(jiān)控,錯誤報告等; 提供可干預構(gòu)件運行狀態(tài)的機制,如負載均衡、線程同步、訪問順序控制、安全(容錯)性控制、軟件使用權(quán)的控制等; 構(gòu)件的生命周期管理,如進程延續(xù)( 制、事務元第 2 章 相關(guān)概念與技術(shù) 12 ( 制等; 總之,構(gòu)件運行平臺為 件提供了對程序員完全透明的運行環(huán)境,構(gòu)件可以運行在不同地址空間,不同環(huán)境,甚至跨網(wǎng)絡(luò)。構(gòu)件運行平臺自動為構(gòu)件運行提供支持,配置必要的網(wǎng)絡(luò)協(xié)議、針對不同的輸入輸出設(shè)備的協(xié)議。程序員不必過多地去關(guān)心諸如網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換 及構(gòu)件運行控制等與其他構(gòu)件互操作時的協(xié)調(diào)問題,只需專注于自己需要解決的程序算法的實現(xiàn)。從而可以從繁雜龐大的應用環(huán)境體系中解放出來,大大提高編程的效率。 和欣構(gòu)件運行平臺直接運行二進制構(gòu)件,而不是像 樣通過虛擬機在運行程序時解釋執(zhí)行中間代碼。因此,與其他面向構(gòu)件編程的系統(tǒng)相比,具有資源
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年供暖設(shè)備安裝合同協(xié)議
- 2026年環(huán)保項目治理委托合同
- 2026年法律訴訟代理委托合同
- 樓房裝修承包合同
- 家校工作培訓課件
- 家政老年護理培訓課件
- 培訓班孩子安全合同課件
- 培訓安全知識目的課件
- 培訓事業(yè)部安全生產(chǎn)職責課件
- 商戶安全培訓通知模板課件
- 土木工程科學數(shù)據(jù)分析方法 課件 第3章 試驗數(shù)據(jù)誤差及處理 -
- 1807《經(jīng)濟學(本)》國家開放大學期末考試題庫
- 2025年北京航空航天大學馬克思主義基本原理概論期末考試模擬題帶答案解析(必刷)
- 2026年演出經(jīng)紀人考試題庫附參考答案(完整版)
- 高一物理(人教版)試題 必修二 階段質(zhì)量檢測(一) 拋體運動
- 美團代運營服務合同協(xié)議模板2025
- 2025-2026學年人教版七年級生物上冊知識點梳理總結(jié)
- 2025年新修訂版《森林草原防滅火條例》全文+修訂宣貫解讀課件(原創(chuàng))
- 2025年秋魯教版(新教材)小學信息科技三年級上冊期末綜合測試卷及答案(三套)
- 工業(yè)設(shè)計工作流程及標準教程
- 2025年放射技師考試真題及答案
評論
0/150
提交評論