Di Linux, modul kernel ialah soket yang disediakan oleh kernel Linux kepada dunia luar; digunakan oleh kernel atau modul kernel lain.
Persekitaran pengendalian tutorial ini: sistem linux7.3, komputer Dell G3.
Modul kernel ialah soket yang disediakan oleh kernel Linux kepada dunia luar Nama penuhnya ialah modul kernel boleh dimuatkan secara dinamik (Modul Kernel Boleh Dimuat, LKM ). Kami memanggilnya sebagai modul. Sebab mengapa kernel Linux menyediakan mekanisme modul adalah kerana ia adalah kernel monolitik. Kelebihan terbesar teras tunggal adalah kecekapan tinggi kerana semuanya disepadukan bersama, tetapi kelemahannya ialah kebolehskalaan dan kebolehselenggaraannya agak lemah.
Modul ialah program dengan fungsi bebas Ia boleh disusun secara bebas, tetapi tidak boleh dijalankan secara bebas. Ia dipautkan kepada kernel semasa runtime dan berjalan dalam ruang kernel sebagai sebahagian daripada kernel, yang berbeza daripada proses yang dijalankan dalam ruang pengguna. Modul biasanya terdiri daripada satu set fungsi dan struktur data yang melaksanakan sistem fail, pemacu atau fungsi kernel peringkat atas yang lain.
Ringkasnya, modul ialah blok kod yang menyediakan fungsi untuk kernel (dalam erti kata lain, kernel juga merupakan modul) atau modul kernel lain.
Modul kernel sistem Linux ialah blok kod yang boleh dimuatkan ke dalam atau dipunggah daripada kernel mengikut keperluan, jadi kefungsian kernel boleh dilanjutkan tanpa dimulakan semula. Tetapi melainkan pengguna menggunakan arahan seperti lsmod untuk menanyakan maklumat modul, tidak mungkin pengguna akan mengetahui tentang sebarang perubahan pada kernel.
Terdapat banyak modul yang tersedia pada sistem Linux, dan anda boleh mempelajari banyak butiran jika anda mempelajarinya. Salah satu kegunaan utama alat sistem Linux lsmod adalah untuk menyemak modul apabila sistem tidak berfungsi dengan betul.
1. Paparkan modul kernel
Cara paling mudah untuk memaparkan modul kernel adalah dengan menggunakan arahan lsmod. Walaupun arahan ini mengandungi banyak butiran, outputnya sangat mesra pengguna, umumnya dalam output:
1) Modul memaparkan nama setiap modul
2) Saiz memaparkan saiz setiap modul Saiz, bukan saiz memori yang mereka duduki
3) Digunakan dengan memaparkan bilangan kali setiap modul digunakan dan modul yang menggunakannya
Bilangan modul yang dimuatkan bergantung pada sistem dan versi yang digunakan dan Untuk menyemak bilangan modul yang tersedia dalam sistem untuk menjalankan kandungan, bukan sahaja yang sedang berjalan, anda boleh menggunakan arahan operasi ini:
1) $ modprobe -c | wc –l
2) 41272
2. Perintah lain yang berkaitan dengan modul kernel
Sistem Linux menyediakan beberapa arahan untuk menyenaraikan, memuatkan dan memunggah, menguji dan menyemak status modul.
1) depmod - jana modul.dep dan fail pemetaan
2) insmod - program yang memasukkan modul ke dalam kernel Linux
3) lsmod - memaparkan status Modul Linux dalam kernel
4) modinfo - Paparkan maklumat modul kernel Linux
5) modprobe - Tambah atau alih keluar modul kernel Linux
6) rmmod - Program untuk mengalih keluar modul daripada kernel Linux
3. Paparkan modul kernel terbina dalam
Seperti yang disebutkan oleh editor sebelum ini, arahan lsmod ialah arahan yang paling mudah untuk memaparkan modul kernel . Walau bagaimanapun, terdapat cara lain untuk memaparkannya. Semua modul terbina dalam kernel disenaraikan dalam fail modules.builtin, yang digunakan apabila arahan modprobe cuba menambah modul dalam fail.
Pengguna boleh menggunakan modinfo untuk mendapatkan butiran lanjut tentang modul, walaupun tiada penerangan ringkas tentang perkhidmatan yang disediakan oleh modul, dan juga boleh menggunakan arahan modprobe untuk memuatkan atau memunggah modul. Gunakan arahan berikut untuk mencari objek kernel yang dikaitkan dengan modul tertentu:
1)$ find /lib/modules/$(uname -r) -name floppy* 2)/lib/modules/5.0.0-13-generic/kernel/drivers/block/floppy.ko
Jika anda ingin memuatkan modul, anda boleh menggunakan arahan ini: $ sudo modprobe floppy.
Jelas sekali, pemuatan dan pemunggahan modul kernel adalah sangat penting. Ia menjadikan sistem Linux lebih fleksibel dan cekap berbanding apabila dijalankan dengan kernel tujuan umum. Ini juga bermakna pengguna boleh membuat perubahan besar tanpa but semula, seperti menambah perkakasan.
Cadangan berkaitan: "Tutorial Video Linux"
Atas ialah kandungan terperinci Apakah modul kernel dalam linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!