熟女俱乐部五十路二区av,又爽又黄禁片视频1000免费,国产卡一卡二卡三无线乱码新区,中文无码一区二区不卡αv,中文在线中文a

新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Linux可加載內(nèi)核模塊機制的研究與應用

Linux可加載內(nèi)核模塊機制的研究與應用

作者: 時間:2012-03-31 來源:網(wǎng)絡 收藏

5. 與普通應用程序的比較

與普通應用程序之間的區(qū)別主要體現(xiàn)在四個方面。

第一,也是最重要的區(qū)別,普通應用程序運行在用戶空間,而運行在內(nèi)核空間。通過區(qū)分不同的運行空間,操作系統(tǒng)能夠安全地保護操作系統(tǒng)中一些重要數(shù)據(jù)結構的內(nèi)容不被普通應用程序所修改,達到保證操作系統(tǒng)正常運轉(zhuǎn)的目的。

第二,普通應用程序的目標很明確,它們從頭至尾都是為了完成某一項特定任務。而LKM是在內(nèi)核中注冊并為后續(xù)應用程序的請求提供服務的。

第三,普通應用程序可以調(diào)用并沒有在其中定義的函數(shù),但一個LKM是鏈接到內(nèi)核上的,它所能調(diào)用的函數(shù)只有內(nèi)核導出來的那些函數(shù)。

第四,普通應用程序和LKM處理錯誤的方式不同。當應用程序中出現(xiàn)錯誤時并不會給系統(tǒng)造成很大的傷害。LKM則不然,在其中出現(xiàn)的錯誤對子系統(tǒng)來說通常是致命的,至少對于當前正在運行的進程而言。LKM中的一個錯誤常常會導致整個系統(tǒng)崩潰。

6. 編寫LKM需要注意的問題

LKM運行在內(nèi)核空間,它們擁有對整個系統(tǒng)所有資源的訪問權限,因此,編寫LKM首先要注意就是安全問題,而且還應該避免將可能導致出現(xiàn)安全問題的代碼帶到LKM中。

LKM加載后是作為操作系統(tǒng)內(nèi)核的一部分運行的,因此,在設計、編寫操作系統(tǒng)內(nèi)核過程中應該注意的問題在LKM中也應該引起足夠的重視。在這里,主要指的是并發(fā)問題和指針引用問題。并發(fā)是指在同一時間有多個進程在操作系統(tǒng)內(nèi)核中同時運行。并發(fā)結合共享資源最終會導致競態(tài)條件,在這種情況下應該對各個并發(fā)進程訪問共享資源進行嚴格的控制。如果在LKM中出現(xiàn)指針引用錯誤,內(nèi)核將沒有辦法將內(nèi)存的虛擬地址映射到物理地址,從而導致出現(xiàn)內(nèi)核中的意外,如內(nèi)存訪問沖突、除0以及非法操作等。

7. LKM的不足之處

LKM雖然在設備驅(qū)動程序的編寫和擴充內(nèi)核功能中扮演著非常重要的角色,但它仍有許多不足的地方。

第一,LKM對于內(nèi)核版本的依賴性過強,每一個LKM都是靠內(nèi)核提供的函數(shù)和數(shù)據(jù)結構組織起來的。當這些內(nèi)核函數(shù)和數(shù)據(jù)結構因為內(nèi)核版本變化而發(fā)生變動時,原先的LKM不經(jīng)過修改就可能不能正常運行。

第二,雖然現(xiàn)在有針對內(nèi)核編程調(diào)試的工具kgdb,但是在LKM編寫過程中調(diào)試仍非常麻煩,而且在調(diào)試過程中,系統(tǒng)所能提供的出錯信息極為晦澀。

本文作者創(chuàng)新點:針對內(nèi)核,利用LKM,在實現(xiàn)了數(shù)據(jù)的(Zero-copy)的過程中,將LKM與普通應用程序進行比較,提出了LKM的優(yōu)勢和不足。

參考文獻

[1] 任家東,梁哲,趙黎.網(wǎng)絡協(xié)議的構件化方法研究與實現(xiàn),微計算機信息,2006,22-17,85-87.

[2] Peter Jay Salzman, Michael Burian, Ori Pomerantz. The Kernel Module Program- ming Guide [M], 2001: 5-43.

[3] Henderson B. Loadable Kernel Module HOWTO, http://www6.uniovi.es/linux/H- OWTO/Module-HOWTO/, 2002.

[4] 徐偉,賈春福.擴充Linux系統(tǒng)功能的LKM技術[J],計算機應用研究,2003,第四期:100-102.

[5] 毛德操,胡希明.Linux內(nèi)核源代碼情景分析[M],浙江:浙江大學出版社,2001年9月,277-280.

[6] Alessandro Rubini, Jonathan Corbet, Greg Kroah-Hartman. Linux Device Drivers Third Edition [M], O’Reilly

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 下一頁

關鍵詞: LKM Linux 零拷貝

評論


相關推薦

技術專區(qū)

關閉