內存網格關鍵技術探析

內存網格關鍵技術探析

ID:7782328

大小:33.50 KB

頁數(shù):4頁

時間:2018-02-25

內存網格關鍵技術探析_第1頁
內存網格關鍵技術探析_第2頁
內存網格關鍵技術探析_第3頁
內存網格關鍵技術探析_第4頁
資源描述:

《內存網格關鍵技術探析》由會員上傳分享,免費在線閱讀,更多相關內容在學術論文-天天文庫。

1、內存網格關鍵技術探析一 引言  隨著計算機技術的發(fā)展,CPU和系統(tǒng)主存的性能得到了極大的提高。然而由于IO設備的發(fā)展相對滯后,磁盤性能逐漸成為了影響計算機整體性能的瓶頸。對于具有頻繁、隨機磁盤10的數(shù)據(jù)密集型應用,如web服務器和數(shù)據(jù)庫系統(tǒng),磁盤訪問的巨大延遲將嚴重影響應用程序的性能。為了提高系統(tǒng)10性能,提出了內存網格的概念,為共享和利用互聯(lián)網中豐富的內存資源來解決內存密集型應用的性能問題提供了理論支持。本文結合已有的內存網格理論,對其關鍵技術進行了系統(tǒng)研究。  二 動態(tài)函數(shù)截獲技術(一)內核模塊  Linux內核是單一平面結構(m

2、onolithic),也就是說它是一個獨立的大程序,所有的內核功能構件均可訪問任一個內部數(shù)據(jù)結構和例程。為了方便使用同時又提供了模塊化的機制,這就是內核模塊。內核模塊是可以按照需要動態(tài)載入內核和從內核中卸載的代碼。內核模塊可以不需要重起系統(tǒng)擴展內核的功能。對于Linux內核模塊,可以用insmod或rmmod命令顯式載入或卸載,或者由內核在需要時調用內核守護程序(kerneld)自動載入和卸載。內核模塊運行在Linux內核空間,可以方便地使用內核提供的系統(tǒng)函數(shù)和變量。從模塊程序鏈接的方式來看,它并不能自由地使用用戶空間里定義的函數(shù)庫,

3、只能使用內核空間中定義的、資源受到限制的函數(shù)。內核在內核符號表中維護了一個模塊的鏈表,每個符號表對應一個模塊,模塊加載進內核時正確地對其進行解釋,并將模塊作為內核的一部分來執(zhí)行:加載進內核的模塊具有所有的內核權限。模塊可以在系統(tǒng)啟動時加載到系統(tǒng)中,也可以在系統(tǒng)運行時加載:在不需要時,可以將模塊動態(tài)卸載,這樣就不用每次修改系統(tǒng)的配置時都要重新編譯內核了。一般來說,內核模塊可以應用于設備驅動、文件系統(tǒng)驅動程序、網絡驅動、可執(zhí)行文件解釋器和系統(tǒng)調用等方面。(二)函數(shù)截獲  內存網格系統(tǒng)中利用了函數(shù)截獲(APIHooking)的方法來動態(tài)改變

4、系統(tǒng)函數(shù)執(zhí)行流程。所謂動態(tài)改變,就是指在不修改程序源代碼和不覆蓋程序在磁盤的存儲映像前提下,對程序行為進行修改?! 『瘮?shù)截獲(APIHooking)是獲取指定執(zhí)行代碼控制權的基本方法[44,45]。它提供了一種在不修改程序源代碼的前提下,動態(tài)改變操作系統(tǒng)行為的便捷方法。在眾多現(xiàn)代操作系統(tǒng)中,使用函數(shù)截獲方法的間諜軟件(SpyingSoftware)大量利用了系統(tǒng)中存在的窗口程序來部署自己的特殊應用。一般說來,使用函數(shù)截獲方法具有如下優(yōu)點:1、便于API函數(shù)的監(jiān)控  具備控制API函數(shù)調用的能力是非常有用的。它能夠使程序開發(fā)者追蹤一些發(fā)

5、生在API調用過程中、通常對外部應用“不可見”的系統(tǒng)行為。這種方法主要用于特定環(huán)境下對函數(shù)參數(shù)的驗證和檢查。比如,在某些情況下,監(jiān)控與內存相關的API調用可以有效的捕獲內存資源泄漏的問題。2、便于調試與逆向工程  基于函數(shù)截獲的調試方法一直在調試技術中占據(jù)重要的地位。許多程序開發(fā)者使用函數(shù)截獲方法來確定程序部件的實現(xiàn)和相互關聯(lián)。API截獲(APlinterception是獲取二進制執(zhí)行文件信息的重要方法。3、便于窺視系統(tǒng)內部實現(xiàn)許多程序開發(fā)者希望對非開源操作系統(tǒng)有深層次的了解。函數(shù)截獲方法是一種有效的探索API內部細節(jié)的方法。4、便于

6、擴展函數(shù)的功能  為了能夠改變或擴展模塊功能,通常使用函數(shù)截獲的方法對程序的正常執(zhí)行流進行重新定向。比如,許多第三方軟件產品有時候無法滿足具體的安全要求,因此不得不對其進行一些調整。為了解決這種問題,應用程序開發(fā)者可以利用函數(shù)截獲方法對原函數(shù)添加一些額外的前置和后置處理過程。這種方法對改變一些已經編譯后的代碼行為極為有用?! τ谝粋€需要利用函數(shù)截獲的系統(tǒng)來說,通常需要依據(jù)函數(shù)截獲的目標和使用環(huán)境來決定具體采用何種函數(shù)截獲方法。首先,我們需要考慮設計目標是只針對單一應用進行截獲還是需要構建一個系統(tǒng)級的截獲方案。比如,如果只需要監(jiān)控一個

7、特定應用,那么就不需要對一個系統(tǒng)級的函數(shù)進行截獲?! ∫粋€截獲系統(tǒng)(HookSystem)通常由至少兩個部分組成,即一個截獲服務器  CHookServer)和一個截獲驅動器(HookDriver)。截獲驅動器主要完成實際的截獲功能,截獲服務器則負責將截獲驅動器在特定時刻注入(inject到目標進程。截獲服務器同時管理驅動器并且選擇性的接受來自驅動器的信息。三 緩存數(shù)據(jù)組織與管理(一)模型設計  內存網格系統(tǒng)擴展了傳統(tǒng)的系統(tǒng)存儲層次結構,在主存和磁盤之間添加了內存網格層。內存網格層主要由內存服務節(jié)點提供的空閑內存空間構成,內存客戶節(jié)點

8、通過利用這些空閑內存作為本地磁疵緩存的擴展,從而加速系統(tǒng)磁盤10的性能。但是對于內存服務節(jié)點提供的空閑內存空間,如何有效的對其進行組織和管理就成為了一個關鍵問題。  在基于協(xié)作緩存的改進模型中,內存網格的內存客戶節(jié)點和提

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。