Dalam Linux, modul ialah satu cara untuk menambah pemacu peranti, sistem fail dan komponen lain pada kernel Linux Ia adalah koleksi fungsi dan jenis data yang boleh disusun sebagai program yang berdiri sendiri boleh secara statik Atau muatkan secara dinamik ke dalam ruang kernel.
Persekitaran pengendalian tutorial ini: sistem linux7.3, komputer Dell G3.
Modul ialah cara untuk menambah pemacu peranti, sistem fail dan komponen lain pada kernel Linux. Ia tidak memerlukan penyusunan semula kernel atau memulakan semula sistem. Untuk kernel, perkara yang perlu ditangani ialah pemuatan dan pemunggahan modul dan kebergantungan antara modul. Kerana modul berjalan dalam ruang kernel, modul mesti menggunakan fungsi yang disediakan oleh kernel Kita juga boleh menggunakan modul untuk memanggil fungsi kernel yang sepadan, iaitu kaedah pengaturcaraan mod kernel. Intipati fail modul ialah fail binari yang boleh dipindahkan, biasanya dalam bentuk *.ko.
Modul Linux boleh dimuatkan ke dalam ruang kernel melalui kaedah statik atau dinamik merujuk kepada pemuatan semasa proses permulaan kernel merujuk kepada pemuatan pada bila-bila masa semasa kernel sedang berjalan. Apabila modul dimuatkan ke dalam kernel, ia menjadi sebahagian daripada kod kernel. Apabila modul dimuatkan ke dalam sistem, sistem mengubah suai jadual simbol dalam kernel dan menambah sumber dan simbol yang disediakan oleh modul yang baru dimuatkan pada jadual simbol kernel untuk memudahkan komunikasi antara modul.
Komposisi modul
Modul kernel Linux terutamanya terdiri daripada bahagian berikut:
Fungsi pemuatan modul ( Diperlukan): Apabila modul kernel dimuatkan melalui arahan insmod, fungsi pemuatan modul akan dilaksanakan secara automatik oleh kernel untuk menyelesaikan kerja permulaan yang berkaitan dengan modul ini; modul dipunggah melalui perintah rmmod , fungsi pemunggahan modul akan dilaksanakan secara automatik oleh kernel, melengkapkan fungsi yang bertentangan dengan fungsi pemuatan modul; menerangkan kebenaran modul kernel, jika tidak Mengisytiharkan LESEN, anda akan menerima amaran pencemaran kernel apabila modul dimuatkan.
Parameter modul (pilihan): Parameter modul ialah nilai yang boleh dihantar ke modul apabila ia dimuatkan dengan pembolehubah global di dalam modul
Simbol eksport modul (. pilihan) ): Modul kernel boleh mengeksport simbol (simbol, sepadan dengan fungsi atau pembolehubah), supaya modul lain boleh menggunakan pembolehubah atau fungsi dalam modul ini;
Contoh modul:
Makefile yang sepadan dengan modul:Cadangan berkaitan: "
Tutorial Video Linux//内核头文件 #include<linux/module.h> #include<linux/kernel.h> #include<linux/init.h> //加载函数 static int __init init_hello_module(void){ //内核打印函数,linux系统使用dmesg命令可以查看打印信息 printk(KERN_INFO "Hello World\n"); return 0; } //卸载函数 static void __exit exit_hello_module(void){ printk(KERN_INFO "Exit the Hello world Module!\n"); } module_init(init_hello_module); module_exit(exit_hello_module); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Eric"); MODULE_VERSION("v0.1"); MODULE_DESCRIPTION("TEST FOR MODULE");
Atas ialah kandungan terperinci Apakah maksud modul linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!