module

module

module,意思是宇宙飛船的分離艙。n. [計] 模組;組件;模數。[網路] 模組;模;模組。[專業] 模組 [計算機科學技術];模組 [電子、通信與自動控制技術];構件 [農業科學]。

基本介紹

  • 外文名:module
  • 發音: [ 'mɔdju:l ]
  • 簡介:宇宙飛船的分離艙
  • 例句:evel programs or modules.
單詞詞義,例句用法,英英解釋,同名軟體,

單詞詞義

module: [ 'mɔdju:l ]
1.[計算機] 模組
n. 組件
2. 單元【課程學習單元
a module in mathematics數學課的一個單元
3.宇宙飛船的分離艙

例句用法

1. In software engineering, an individual unit or module that is utilized by higher-level programs or modules.
軟體工程中,指較高一級程式或模組使用的一個單元或模組。
2. Object repository support for creating shared, reusable form and data module.
用於創建共享、可重用窗體和數據模組的對象儲存庫支持。
3. The definition of a global symbol that is not explicitly available for reference by modules linked with the module in which the definition occurs.
一種全局符號定義,它不能被與定義該全局符號的模組相連結的其它模組直接引用。
4. My desk is my command module.
我的書桌就是我的主要工作場所。

英英解釋

名詞module:
1. one of the inherent cognitive or perceptual powers of the mind
同義詞:faculty, mental faculty
2. detachable compartment of a spacecraft
3. computer circuit consisting of an assembly of electronic components (as of computer hardware)
4. a self-contained component (unit or item) that is used in combination with other components

同名軟體

Linux modules是linux 2.0版本以後都支持模組化,因為核心中的一部分常駐在記憶體中,(如最常使用的進程,如scheduler等),但是其它的進程只是在需要的時候才被載入。如MS-DOS檔案系統只有當mount此類系統的時候才需要,這種按需載入,就是模組。它能使核心保持較小的體積,雖然可以把所有的東東都放在核心中,這樣的話,我們就不需要模組了,但是這樣通常是有特殊的用途(所有要運行的進程都預先知道的情況)。
模組另一個優點是核心可以動態的載入、卸載它們(或者自動地由kerneld守護程式完成)。
Writing, Installing, and Removing Modules
WRiting Modules:
除了它們運行在核心空間中之外,模組與其它程式類似。所以,必須定義MODULE並且包含頭檔案module.h以及其它的一些核心頭檔案。模組即可以很簡單也可以很複雜。
一般的模組格式如下:
#define MODULE#include<linux/module.h>    /*...otherrequiredheaderfiles...*/    /**...moduledeclarationsandfunctions...*/intinit_module(){    /*codekernelwillcallwheninstallingmodule*/}    voidcleanup_module(){    /*codekernelwillcallwhenremovingmodule*/}
使用核心源碼的模組在用gcc編譯時,必須使用如下的選項:
-I/usr/src/linux/include
注意並不是所有核心中的變數都被導出供模組使用的,即使代碼中用extern聲明了。在/proc/ksyms檔案或者程式ksyms中顯示了被導出的符號。linux核心使用使用EXPORT_SYMBOL(x)宏來不僅導出符號,而且也導出版本號(version number)。如果是用戶自己定義的變數,使用EXPORT_SYMBOL_NOVERS(x)宏。否則的話linker不會在kernel symbol table中保留此變數。可以使用EXPORT_NO_SYMBOLS宏不導出變數,預設情況是模組導出所有的變數。
InstallingandRemovingModules:
必須是超級用戶才可以的。使用insmod來安裝一個模組:
/sbin/insmodmodule_name
rmmod命令移除一個已經安裝了的模組,以及任何此模組所導出的引用。
/sbin/rmmodmodule_name
使用lsmod列出所有安裝了的模組。
Example:
simple_module.c
/*simple_module.c**Thisprogramprovidesanexampleofhowtoinstallatrivialmodule*intotheLinuxkernel.Allthemoduledoesisputamessageinto*thelogfilewhenitisinstalledandremoved.**/#defineMODULE#include<linux/module.h>/*kernel.hcontainstheprintkfunction*/#include<linux/kernel.h>/*init_module*kernelcallsthisfunctionwhenitloadsthemodule*/intinit_module(){printk("<1>Thesimplemoduleinstalleditselfproperly./n");return0;}/*init_module*//*cleanup_module*thekernelcallsthisfunctionwhenitremovesthemodule*/voidcleanup_moudle(){printk("<1>Thesimplemoduleisnowuninstalled./n");}/*cleanup_module*/ThisistheMakefile:#Makefileforsimple_moduleCC=gcc-I/usr/src/linux/include/configCFLAGS=-O2-D__KERNEL__-Wallsimple_module.o:simple_module.cinstall:/sbin/insmodsimple_moduleremove:/sbin/rmmodsimple_module

相關詞條

熱門詞條

聯絡我們