模塊交互
發(fā)布時間:2012/4/4 20:08:25 訪問次數(shù):1713
模塊之間的交互是通過消息機制,調(diào)用被模BGY288塊注冊的函數(shù),調(diào)用ker_*system (API)訪問內(nèi)核實現(xiàn)的。關(guān)于這些交互方法的描述可以參見SOS的技術(shù)文檔。消息本身是靈活變化的,并且傳遞比較緩慢,所以SOS提供一些直接的調(diào)用方法,可以被模塊注冊使用,這些調(diào)用方法可以通過調(diào)度表為模塊提供反應(yīng)時間短的聯(lián)系。
函數(shù)的注冊和訂閱是SOS提供的一種機制,是內(nèi)核與模塊之間相互交互的紐帶。一個模塊注冊內(nèi)核酌函數(shù)以后,當(dāng)它的鏡像文件加載時就會通知內(nèi)核它處于鏡像文件的位置。注冊是通過系統(tǒng)調(diào)用ker register血實現(xiàn)的。函數(shù)控制塊(Function Control Block,F(xiàn)CB)用來儲存關(guān)于注冊函數(shù)的一些關(guān)鍵字信息,通過成對的函數(shù)id和模塊id來進行索引。
函數(shù)控制塊有一個有效標(biāo)志位,訂閱者的計數(shù)器和原型的信息。原型信息既包括基本的類型信息還記錄是否一個參數(shù)包含了動態(tài)內(nèi)存,是否可能更換所有者。例如,原型信息是{’c’,x’,tVI,’1’,,這表示函數(shù)返回一個字符“c”,但是需要一個參數(shù)“1”,并且這個參數(shù)的指針指向動態(tài)內(nèi)存分配的“x”。當(dāng)一個注冊函數(shù)被卸載或者刪除時,原型信息會被SOS的內(nèi)核使用到。
ker _get_handle系統(tǒng)調(diào)用是用來注冊一個函數(shù)的,它通過模塊id和函數(shù)id在FCB尋找函數(shù)的位置,如果查找成功,則內(nèi)核返回一個指向這個被注冊函數(shù)的函數(shù)指針。訂閱者就可以通過引用這個函數(shù)指針來訪問它。當(dāng)這個函數(shù)有變化時,內(nèi)核只需要讓函數(shù)在FCB中的函數(shù)指針指向一個新的地址,而不需要去更新或者改變訂閱者的模塊代碼。
模塊可以通過一個jump表來訪問內(nèi)核的函數(shù)。有了這個jump表,模塊就可以和內(nèi)核保持相互獨立,而不需要依賴于內(nèi)核。當(dāng)內(nèi)核需要升級時,只要jump表的結(jié)構(gòu)不變化,則只需要改變內(nèi)核的代碼,而不需要重新編譯模塊的代碼。
函數(shù)的注冊和訂閱是SOS提供的一種機制,是內(nèi)核與模塊之間相互交互的紐帶。一個模塊注冊內(nèi)核酌函數(shù)以后,當(dāng)它的鏡像文件加載時就會通知內(nèi)核它處于鏡像文件的位置。注冊是通過系統(tǒng)調(diào)用ker register血實現(xiàn)的。函數(shù)控制塊(Function Control Block,F(xiàn)CB)用來儲存關(guān)于注冊函數(shù)的一些關(guān)鍵字信息,通過成對的函數(shù)id和模塊id來進行索引。
函數(shù)控制塊有一個有效標(biāo)志位,訂閱者的計數(shù)器和原型的信息。原型信息既包括基本的類型信息還記錄是否一個參數(shù)包含了動態(tài)內(nèi)存,是否可能更換所有者。例如,原型信息是{’c’,x’,tVI,’1’,,這表示函數(shù)返回一個字符“c”,但是需要一個參數(shù)“1”,并且這個參數(shù)的指針指向動態(tài)內(nèi)存分配的“x”。當(dāng)一個注冊函數(shù)被卸載或者刪除時,原型信息會被SOS的內(nèi)核使用到。
ker _get_handle系統(tǒng)調(diào)用是用來注冊一個函數(shù)的,它通過模塊id和函數(shù)id在FCB尋找函數(shù)的位置,如果查找成功,則內(nèi)核返回一個指向這個被注冊函數(shù)的函數(shù)指針。訂閱者就可以通過引用這個函數(shù)指針來訪問它。當(dāng)這個函數(shù)有變化時,內(nèi)核只需要讓函數(shù)在FCB中的函數(shù)指針指向一個新的地址,而不需要去更新或者改變訂閱者的模塊代碼。
模塊可以通過一個jump表來訪問內(nèi)核的函數(shù)。有了這個jump表,模塊就可以和內(nèi)核保持相互獨立,而不需要依賴于內(nèi)核。當(dāng)內(nèi)核需要升級時,只要jump表的結(jié)構(gòu)不變化,則只需要改變內(nèi)核的代碼,而不需要重新編譯模塊的代碼。
模塊之間的交互是通過消息機制,調(diào)用被模BGY288塊注冊的函數(shù),調(diào)用ker_*system (API)訪問內(nèi)核實現(xiàn)的。關(guān)于這些交互方法的描述可以參見SOS的技術(shù)文檔。消息本身是靈活變化的,并且傳遞比較緩慢,所以SOS提供一些直接的調(diào)用方法,可以被模塊注冊使用,這些調(diào)用方法可以通過調(diào)度表為模塊提供反應(yīng)時間短的聯(lián)系。
函數(shù)的注冊和訂閱是SOS提供的一種機制,是內(nèi)核與模塊之間相互交互的紐帶。一個模塊注冊內(nèi)核酌函數(shù)以后,當(dāng)它的鏡像文件加載時就會通知內(nèi)核它處于鏡像文件的位置。注冊是通過系統(tǒng)調(diào)用ker register血實現(xiàn)的。函數(shù)控制塊(Function Control Block,F(xiàn)CB)用來儲存關(guān)于注冊函數(shù)的一些關(guān)鍵字信息,通過成對的函數(shù)id和模塊id來進行索引。
函數(shù)控制塊有一個有效標(biāo)志位,訂閱者的計數(shù)器和原型的信息。原型信息既包括基本的類型信息還記錄是否一個參數(shù)包含了動態(tài)內(nèi)存,是否可能更換所有者。例如,原型信息是{’c’,x’,tVI,’1’,,這表示函數(shù)返回一個字符“c”,但是需要一個參數(shù)“1”,并且這個參數(shù)的指針指向動態(tài)內(nèi)存分配的“x”。當(dāng)一個注冊函數(shù)被卸載或者刪除時,原型信息會被SOS的內(nèi)核使用到。
ker _get_handle系統(tǒng)調(diào)用是用來注冊一個函數(shù)的,它通過模塊id和函數(shù)id在FCB尋找函數(shù)的位置,如果查找成功,則內(nèi)核返回一個指向這個被注冊函數(shù)的函數(shù)指針。訂閱者就可以通過引用這個函數(shù)指針來訪問它。當(dāng)這個函數(shù)有變化時,內(nèi)核只需要讓函數(shù)在FCB中的函數(shù)指針指向一個新的地址,而不需要去更新或者改變訂閱者的模塊代碼。
模塊可以通過一個jump表來訪問內(nèi)核的函數(shù)。有了這個jump表,模塊就可以和內(nèi)核保持相互獨立,而不需要依賴于內(nèi)核。當(dāng)內(nèi)核需要升級時,只要jump表的結(jié)構(gòu)不變化,則只需要改變內(nèi)核的代碼,而不需要重新編譯模塊的代碼。
函數(shù)的注冊和訂閱是SOS提供的一種機制,是內(nèi)核與模塊之間相互交互的紐帶。一個模塊注冊內(nèi)核酌函數(shù)以后,當(dāng)它的鏡像文件加載時就會通知內(nèi)核它處于鏡像文件的位置。注冊是通過系統(tǒng)調(diào)用ker register血實現(xiàn)的。函數(shù)控制塊(Function Control Block,F(xiàn)CB)用來儲存關(guān)于注冊函數(shù)的一些關(guān)鍵字信息,通過成對的函數(shù)id和模塊id來進行索引。
函數(shù)控制塊有一個有效標(biāo)志位,訂閱者的計數(shù)器和原型的信息。原型信息既包括基本的類型信息還記錄是否一個參數(shù)包含了動態(tài)內(nèi)存,是否可能更換所有者。例如,原型信息是{’c’,x’,tVI,’1’,,這表示函數(shù)返回一個字符“c”,但是需要一個參數(shù)“1”,并且這個參數(shù)的指針指向動態(tài)內(nèi)存分配的“x”。當(dāng)一個注冊函數(shù)被卸載或者刪除時,原型信息會被SOS的內(nèi)核使用到。
ker _get_handle系統(tǒng)調(diào)用是用來注冊一個函數(shù)的,它通過模塊id和函數(shù)id在FCB尋找函數(shù)的位置,如果查找成功,則內(nèi)核返回一個指向這個被注冊函數(shù)的函數(shù)指針。訂閱者就可以通過引用這個函數(shù)指針來訪問它。當(dāng)這個函數(shù)有變化時,內(nèi)核只需要讓函數(shù)在FCB中的函數(shù)指針指向一個新的地址,而不需要去更新或者改變訂閱者的模塊代碼。
模塊可以通過一個jump表來訪問內(nèi)核的函數(shù)。有了這個jump表,模塊就可以和內(nèi)核保持相互獨立,而不需要依賴于內(nèi)核。當(dāng)內(nèi)核需要升級時,只要jump表的結(jié)構(gòu)不變化,則只需要改變內(nèi)核的代碼,而不需要重新編譯模塊的代碼。
熱門點擊
- AOA定位算法
- 應(yīng)用層中的數(shù)據(jù)融合
- 無線傳感器網(wǎng)絡(luò)的基本概念
- REF引腳端的驅(qū)動
- 模塊交互
- WH130-2、WH125、WH155、WH
- 精密定位電路
- WH10、WH06型預(yù)調(diào)合成碳膜電位器
推薦技術(shù)資料
- FU-19推挽功放制作
- FU-19是國產(chǎn)大功率發(fā)射雙四極功率電二管,EPL20... [詳細]
- 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è)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究