999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺析組件機制和操作系統的實現

2013-12-31 00:00:00
中外企業文化 2013年12期

【文章摘要】

OSKit可以用來構建操作系統內核、外層服務和其他核心OS功能模塊。OSKit提供了各種功能模塊,諸如簡單自舉,一個可用于內核的最小化POSIX環境、和物理內存和其約束一致的內存管理、廣泛的調試支持,以及高層子系統如協議棧和文件系統。

【關鍵詞】

OSKit;操作系統;C語言

0 引言

當前,操作系統的功能不斷擴展,操作系統的類型呈現出多樣化的趨向。一個小規模的開發小組已經不可能完全從頭開始實現一個實用的操作系統,而一般情況下,探究人員只對操作系統的一些特定領域感喜好,而對于另外一些元素,如啟動加載代碼、核心啟動代碼、設備驅動程序和內存分配代碼等往往不感喜好,但是一個可運行的原型系統又必須包含這些內容。編寫這些基礎結構延緩了操作系統探究項目的進度,同時也增加了進行操作系統探究的代價。為了解決這一新問題,猶他大學的FLUX探究小組開發了OSKit,它提供了一個框架和一組模塊化的、具有簡單接口的庫以及一組清楚的、可重用的OS組件。實踐表明,使用組件軟件架構和重用技術會給操作系統實現領域帶來大的影響。

1 Oskit組件綜述

目標系統通過OSKit的面向對象的COM接口來和這些組件進行交互。以下幾節概述了OSKit所提供的組件。

1.1 引導程序

大多數操作系統多有自身的啟動加載機制,彼此互不兼容。這種加載機制的多樣性并不是由于每個OS所要求的自舉服務不同而引起,而是由于構建啟動加載器的特定方式造成的。因為從操作系統探究的立場來看,啟動加載器是一個令人不敢喜好的領域,因此OS開發者通常進行一個最小化、快捷的設計。由于設計理念和要求的稍微差別,每個啟動加載器都不適用于下一個OS。為了解決這個新問題,OSKit直接支持多啟動標準。

1.2 核心支持庫

OSKit核心支持庫的主要用途是讓客戶OS更輕易訪問硬件設施。它包含了一個較大的實用函數和符號定義的集合,該集合對于管理模式代碼是非常具體的。和此相對應,OSKit的大多數其他庫在用戶模式代碼中通常很有用。和OSKit的其余部分所不同的是,多數核心支持代碼必須是針對特定系統結構的,而這些特定機器的細節對客戶OS也是有用的。例如,在x86機器上,核心支持庫包含一些函數,用來創建和操縱x86頁表和段寄存器。其他OSKit組件通常提供建立在這些低層機制上的和體系結構無關的設施,但是為了提供最大的靈活性,和特定結構相關的接口始終可以被訪問。

OSKit核心支持庫在x86體系結構上尤為重要,因為該體系結構的OS級編程環境非凡復雜和模糊。核心支持庫仔細地設置了一個基本的32位執行環境,初始化段和頁轉換表,安裝一個中斷向量表,并提供缺省的陷阱和中斷處理程序。當然,客戶OS能夠修改或重載這些行為。然而,在缺省情況下,核心支持庫自動地做所有必要的工作,以便使處理器進入一個方便的執行環境,此時中斷、陷阱、調試以及其他標準設施已經如預期的那樣開始工作。該庫在缺省情況下自動地定位所有隨內核加載的啟動模塊,并保留它們所在的物理內存。接下來,應用程序可以很輕易使用它們。客戶OS只需以標準C語言風格提供一個main()函數。一切都設置好以后,內核支持庫將用所有參數和由啟動加載器傳遞過來的環境變量來調用它。

1.3 內存管理庫

如同在一個標準C語言庫中實現的malloc()一樣,內存管理代碼典型地用于用戶空間。通常并不適用于內核。設備驅動經常需要分配特定類型的內存,并伴隨具體的調整屬性。例如,對于內建的DMA控制器只能訪問最初的16M物理內存。為解決這些內存管理新問題,OSKit包含了兩個簡單而靈活的內存管理庫摘要:(1)基于隊列的內存管理器(或稱LMM),它提供了功能強大且高效的原語來進行分配管理,并支持在一個池中管理多種類型的內存。(2)地址映射管理器(或稱AMM)被設計用來管理不必直接映射到物理內存或虛擬內存的地址空間,它對OS的其他方面提供了類似的支持,諸如進程地址空間、分頁、空閑塊或IPC名字空間的管理。盡管這些庫可以很輕易地應用在用戶空間,但實際上它們是被非凡設計用來滿足OS內核的需求。

1.4 最小C語言庫

成熟的OS內核一般都包含著相當數量的僅僅用來重新實現基本的C語言庫函數如printf()和malloc()的代碼。和此形成對比的是,OSKit提供了一個最小化C語言函數庫,它圍繞著最小化依靠性而不是最大化函數性和性能的原則來設計。

1.5 調試支持

OSKit的一個最實用的好處是摘要:給定一個適當的硬件設置,它馬上就能提供給OS開發者一個完全源代碼級的內核調試環境。OSKit內核支持庫包括一個可用于GNU調試器(GDB)的串行存根模塊,它在客戶OS環境中處理陷阱,并使用GDB的標準遠程調試協議通過一個串行程序和運行在另一臺機器上的GDB通信。甚至當客戶機OS執行自己的陷阱處理時,OSKit的GDB存根模塊也是可用的。

1.6 設備驅動支持

在OS開發和維護中最艱巨的一個任務是支持多種多樣的I/O硬件。這些復雜的設備常會含有潛在的錯誤,而新硬件的發布又經常伴隨著不兼容的軟件接口。由于這些原因,OSKit采用了為現有內核開發的穩定的、經過充分測試的驅動程序。OSKit使用了一種封裝技術,將現有的驅動程序代碼基本上未加修改地合并到OSKit中。這些現有的驅動程序被一個OSKit粘結代碼層所包裝,從而使得這些驅動程序可以在和開發它們的環境完全不同的環境中工作。目前,來自Linux的大多數以太網卡、SCSI和IDE磁盤的設備驅動程序被包括進來,總數超過了五十種。用同樣的方式,來自FreeBSD的八個字符設備驅動程序也被包含了進來,它們支持標準PC控制臺和串口及不同的多串口板。由于OSKit把這些驅動仔細地進行了包裝,FreeBSD驅動程序可以和Linux驅動程序一起工作。

1.7 協議棧

OSKit提供了一個完整的TCP/IP網絡協議棧。如同驅動程序一樣,有關網絡的代碼也可以通過封裝機制被合并進來。OSKit當前可以從Linux中獲取網絡設備驅動程序,它們是PC平臺可獲得的最大的免費資源。OSKit的網絡組件繼續于FreeBSD4.4,它通常被認為具有更多成熟的網絡協議。這顯示了使用封裝機制將現有軟件包裝成靈活的組件的第二個優點摘要:即從不同的資源中獲取最好的組件,并讓它們一起被使用。

1.8 文件系統

通過使用封裝技術,OSKit吸收了NetBSD的基于磁盤的文件系統代碼。NetBSD之所以被選擇為首要資源庫,是因為在可用的系統中,它的文件系統代碼被最清楚地分離了出來,而FreeBSD和Linux的文件系統和它們的虛擬內存系統結合的更緊密。當前,OSKit也把Linux文件系統合并了進來,以便能夠支持多種類型的文件系統格式,如Windows95、OS/2和System V的文件系統格式等等。

2 結論

作為一個操作系統探究和開發的平臺,OSKit大大減輕了操作系統探究和開發者的負擔。它可以讓開發人員避開復雜的底層,而把喜好集中和他們所感喜好的領域。開發者可以用自己編寫的組件來取代OSKit中的部分組件,以滿足自己特定的需要,從而豐富了操作系統的應用層。

【作者簡介】

張鐵(1981年11月—),男,河北省廊坊市人,同濟大學軟件學院碩士研究生。

主站蜘蛛池模板: 日韩免费毛片| 在线欧美a| 永久免费AⅤ无码网站在线观看| 久久久噜噜噜| 一级看片免费视频| 日韩欧美中文字幕在线韩免费| 亚洲欧美成人网| 国产成人精品18| 广东一级毛片| 国产精品亚洲综合久久小说| 欧美性精品不卡在线观看| 国产又粗又爽视频| www.亚洲天堂| 欧美成人一级| 亚洲视频二| 青青操国产视频| 亚洲欧美日本国产专区一区| 麻豆精品在线播放| 欧美日本在线一区二区三区 | 自慰高潮喷白浆在线观看| 亚洲品质国产精品无码| 亚洲中久无码永久在线观看软件 | 国产jizzjizz视频| 国产国模一区二区三区四区| www.狠狠| 亚洲色婷婷一区二区| 中国一级毛片免费观看| 114级毛片免费观看| 久996视频精品免费观看| 在线免费看片a| 久久美女精品| 精品福利视频网| 丝袜无码一区二区三区| 国国产a国产片免费麻豆| 国产青青草视频| 91蝌蚪视频在线观看| 亚洲欧美一区二区三区蜜芽| 国产一区二区三区夜色| 亚洲欧美成人网| 99伊人精品| 成人小视频网| 国产精品三级专区| 欧美中文字幕无线码视频| 久久人人爽人人爽人人片aV东京热 | 视频国产精品丝袜第一页| 亚洲最大看欧美片网站地址| 一级毛片无毒不卡直接观看 | 国产噜噜噜| 精品国产Av电影无码久久久 | 亚洲综合18p| 欧美性爱精品一区二区三区| 亚洲中文字幕无码爆乳| a亚洲天堂| 亚洲中文在线视频| 久久青草视频| 制服丝袜亚洲| av一区二区三区在线观看 | 91精品啪在线观看国产91九色| 欧美日韩成人在线观看 | 黄色免费在线网址| 日韩国产黄色网站| 无码免费的亚洲视频| 2021国产乱人伦在线播放| 91年精品国产福利线观看久久 | 一区二区在线视频免费观看| 日韩小视频在线观看| 国产精品视频第一专区| 亚国产欧美在线人成| 99精品一区二区免费视频| 亚洲AⅤ波多系列中文字幕| 欧美综合在线观看| 久久99国产视频| 亚洲中文字幕23页在线| 香蕉国产精品视频| 久久男人资源站| 伊人久久青草青青综合| 色吊丝av中文字幕| 欧美一级色视频| 亚洲午夜18| 日韩国产亚洲一区二区在线观看| 国产永久无码观看在线| 国产资源免费观看|