Linux模塊的實(shí)現(xiàn)機(jī)制可移出符號
發(fā)布時(shí)間:2009/2/18 0:00:00 訪問次數(shù):1356
在某種意義上來說,從可安裝模塊的角度來看,內(nèi)核也是一個(gè)模塊,只不過是一個(gè)不可安裝的模塊。既然把可安裝模塊安裝到了內(nèi)核這個(gè)模塊上并向內(nèi)核提供服務(wù).那么這些可安裝模塊就必須有與內(nèi)核交互的手段。實(shí)現(xiàn)兩個(gè)模塊之間交互的最簡單的手段就是實(shí)現(xiàn)雙方的變量和函數(shù)的共享.
為了使被安裝模塊知道內(nèi)核的哪些變量和函數(shù)是模塊可以使用的,linux內(nèi)核以“可移出”符號的形式提供了可供其他模塊共享的變量和函數(shù)名稱。這里所謂的“可移出”,是指外部可以引用,即是暴露在內(nèi)核外面的符號。在文件中,可移出符號的定義形式如下:
而模塊在需要引用內(nèi)核的一個(gè)“可移出”符號時(shí),要把該符號用extern聲明為外部引用。
為了使加載的各模塊之間也可通過可移出符號進(jìn)行交互,模塊也可聲明自己的移出符號,以供其他模塊使用。所以這些移出符號可看做是內(nèi)核與模塊以及模塊之間的信號通路,模塊之間就是通過這些內(nèi)核或模塊的可移出符號實(shí)現(xiàn)交互的。
但需要注意的是,模塊可以引用內(nèi)核及其他模塊的可移出符號,而內(nèi)核不能引用模塊的可移出符號。也就是說,內(nèi)核與模塊之間的互連是一種“單向”的互連。 模塊與內(nèi)核之間連接示意圖如圖所示。
圖 模塊和內(nèi)核的連接
歡迎轉(zhuǎn)載,信息來自維庫電子市場網(wǎng)(www.dzsc.com)
在某種意義上來說,從可安裝模塊的角度來看,內(nèi)核也是一個(gè)模塊,只不過是一個(gè)不可安裝的模塊。既然把可安裝模塊安裝到了內(nèi)核這個(gè)模塊上并向內(nèi)核提供服務(wù).那么這些可安裝模塊就必須有與內(nèi)核交互的手段。實(shí)現(xiàn)兩個(gè)模塊之間交互的最簡單的手段就是實(shí)現(xiàn)雙方的變量和函數(shù)的共享.
為了使被安裝模塊知道內(nèi)核的哪些變量和函數(shù)是模塊可以使用的,linux內(nèi)核以“可移出”符號的形式提供了可供其他模塊共享的變量和函數(shù)名稱。這里所謂的“可移出”,是指外部可以引用,即是暴露在內(nèi)核外面的符號。在文件中,可移出符號的定義形式如下:
而模塊在需要引用內(nèi)核的一個(gè)“可移出”符號時(shí),要把該符號用extern聲明為外部引用。
為了使加載的各模塊之間也可通過可移出符號進(jìn)行交互,模塊也可聲明自己的移出符號,以供其他模塊使用。所以這些移出符號可看做是內(nèi)核與模塊以及模塊之間的信號通路,模塊之間就是通過這些內(nèi)核或模塊的可移出符號實(shí)現(xiàn)交互的。
但需要注意的是,模塊可以引用內(nèi)核及其他模塊的可移出符號,而內(nèi)核不能引用模塊的可移出符號。也就是說,內(nèi)核與模塊之間的互連是一種“單向”的互連。 模塊與內(nèi)核之間連接示意圖如圖所示。
圖 模塊和內(nèi)核的連接
歡迎轉(zhuǎn)載,信息來自維庫電子市場網(wǎng)(www.dzsc.com)
熱門點(diǎn)擊
- Linux設(shè)備驅(qū)動程序的函數(shù)跳轉(zhuǎn)表
- PIE中斷向量的映射方式
- Linux系統(tǒng)調(diào)用例程system_call
- PIE模塊級中斷
- 什么是Linux內(nèi)核模塊
- Linux系統(tǒng)調(diào)用接口、系統(tǒng)調(diào)用例程和內(nèi)核服
- ARM復(fù)位原理
- Linux系統(tǒng)調(diào)用接口、系統(tǒng)調(diào)用例程和內(nèi)核服
- Linux字符設(shè)備驅(qū)動程序的注冊
- Linux外部設(shè)備的基本概念
推薦技術(shù)資料
- DFRobot—玩的就是
- 如果說新車間的特點(diǎn)是“靈動”,F(xiàn)QPF12N60C那么... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究