Rumah >Tutorial sistem >LINUX >Terokai misteri modul kernel Linux

Terokai misteri modul kernel Linux

WBOY
WBOYke hadapan
2024-02-14 17:10:17751semak imbas

Dalam sistem pengendalian Linux, kernel adalah bahagian teras, yang mengawal interaksi antara perkakasan dan perisian komputer. Modul kernel ialah konsep penting dalam kernel. Ia boleh dimuatkan secara dinamik ke dalam kernel semasa runtime, dengan itu memanjangkan fungsi kernel. Dalam artikel ini, kami akan mendalami cara modul kernel Linux berfungsi dan terdiri daripada, dan menerangkan cara menulis anda sendiri.

Reka bentuk modular kernel Linux

1 Reka bentuk kernel Linux: kernel tunggal, modular (pemuatan dan pemunggahan dinamik)

(1) Linux: reka bentuk kernel tunggal, tetapi menggunakan sepenuhnya kelebihan reka bentuk sistem mikrokernel memperkenalkan mekanisme modular kepada inti
(2) Komponen inti:
Kernel: Inti kernel, biasanya dalam format bzImage, biasanya terletak dalam direktori /boot, bernama vmlinuz-VERSION-release
Fail ini tidak akan digunakan lagi selepas sistem dimulakan, kerana ia telah dimuatkan ke dalam memori dan diletakkan di bawah /boot untuk pengurusan yang mudah
Objek kernel: Modul kernel, biasanya diletakkan dalam /lib/modules/VERSION-release/
Modul kernel dan versi teras kernel mesti sepadan dengan ketat

2. Modul kernel: kompilasi mod pemilihan

[ ]: N, jangan susun bahagian ini
[M]: Modul, disusun secara modular, boleh dimuatkan sementara, mengambil ruang cakera, tidak menempati ruang kernel
[*]: Y, disusun ke dalam inti kernel, boleh dipanggil terus

3.ramdisk: Fail tambahan, tidak perlu, ia bergantung kepada sama ada kernel boleh terus memacu peranti di mana rootfs berada

ramdisk: Versi ringkas sistem fail akar Pemacu yang tersedia adalah seperti berikut:
Pemacu peranti sasaran, seperti pemacu peranti SCSI
Pemacu peranti logik, seperti pemacu peranti LVM;
Sistem fail, seperti sistem fail xfs;

Perintah pemerolehan dan pengurusan maklumat modul kernel

1.ldd: Cetak fail perpustakaan yang bergantung pada aplikasi binari - cetak kebergantungan perpustakaan kongsi

Format: ldd [PILIHAN]… FAIL…

Paparan:
1) Nama fail perpustakaan bergantung => Laluan fail perpustakaan bergantung (sepadan dengan titik pemetaan pautan simbolik pemuatan memori)
2) Masuk ke seluruh perpustakaan panggilan sistem

linux-vdso.so.1 => (0x00007fff293fe000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0228073000)

Terokai misteri modul kernel Linux

2.uname: Pemerolehan maklumat kernel -cetak maklumat sistem

Format: uname [PILIHAN]…

uname -a: Paparkan semua maklumat kernel
uname -v: Nombor versi terkumpul kernel
uname -r: nombor keluaran kernel
uname -n: nama hos

Terokai misteri modul kernel Linux

3.lsmod: Senaraikan modul kernel

Inti yang dipaparkan berasal daripada /proc/modules

Nama modul, saiz, bilangan kali disebut dan perkara yang disebut oleh

Terokai misteri modul kernel Linux

Arahan 4.modinfo: Paparkan maklumat terperinci modul yang ditentukan

Format: modinfo [medan-F] [-k kernel] [nama modul|nama fail…] -k kernel: Untuk menanyakan maklumat modul pada kernel lain apabila berbilang kernel wujud bersama

Medan -F: Hanya paparkan maklumat tentang medan yang ditentukan
-n: Paparkan laluan fail;
Paparkan maklumat yang berkaitan dengan membaca data asal fail /lib/modules/######/*

Terokai misteri modul kernel Linux Kandungan paparan: nama fail, protokol, perihalan, pengarang, alias, nombor versi yang berkenaan dengan RHEL, modul bergantung, unit tandatangan, tandatangan, algoritma penyulitan

Terokai misteri modul kernel Linux

5.modprobe: menyedari pemuatan dan pemunggahan modul, dan juga memasang modul bergantung

Format: modprobe [-r] module_name

Pemuatan dinamik modul: modprobe module_name
Nyahpasang dinamik: modprobe -r module_name
Nota: Jangan nyahpasang modul yang dimuatkan secara lalai

Terokai misteri modul kernel Linux

6.depmod:- Hasilkan modul.dep dan fail peta

Alat untuk menjana fail pergantungan modul kernel dan fail pemetaan maklumat sistem;

7.insmod, rmmod: memuatkan dan memunggah modul, kebergantungan modul tidak boleh diselesaikan secara automatik

insmod [nama fail] [pilihan modul…] nama fail: laluan fail fail modul

rmmod [nama_modul]

pengurusan fail ramdisk

1.mkinitrd(CentOS 5): Buat semula fail ramdisk untuk kernel yang sedang digunakan

# mkinitrd [PILIHAN…] [] –dengan=: Sebagai tambahan kepada modul lalai, modul yang perlu dimuatkan ke dalam initramfs

–pramuat=: Modul yang disediakan oleh initramfs memerlukan modul pramuat
Contoh: ~]# mkinitrd /boot/initramfs-(uname -r)

2.dracut(CentOS 6/7, serasi dengan 5): – alat tahap rendah untuk menjana imej initramfs

# dracut [PILIHAN…] [ []] Contoh: ~]# dracut /boot/initramfs-(uname -r)

Sistem fail pseudo output maklumat kernel

1./proc: Antara muka keluaran untuk status kernel dan maklumat statistik juga menyediakan antara muka konfigurasi, /proc/sys

(1) parameter:
Baca sahaja: output maklumat; contohnya /proc/#/, memproses maklumat berkaitan
Terokai misteri modul kernel Linux
Boleh ditulis: Pengguna boleh menentukan "nilai baharu" untuk mengkonfigurasi fungsi atau ciri tertentu bagi kernel; Format: /proc/sys: net/ipv4/ip_forward adalah bersamaan dengan net.ipv4.ip_forward

Terokai misteri modul kernel Linux
(2) Cara mengubah suai parameter 1) arahan sysctl
Digunakan khas untuk melihat atau menetapkan nilai parameter dalam direktori /proc/sys [options] [variable[=value]]; Lihat: #sysctl -a; #sysctl variable
Ubah suai nilainya: # sysctl -w variable=value
2) Arahan sistem fail (kucing, gema)
Semak: # kucing /proc/sys/PATH/TO/SOME_KERNEL_FILE
Tetapan: # echo “VALUE” > /proc/sys/PATH/TO/SOME_KERNEL_FILE
3) Fail konfigurasi: /etc/sysctl.conf, /etc/sysctl.d/
.conf
Kaedah berkesan serta-merta: sysctl -p [/PATH/TO/CONFIG_FILE]

(3) Parameter kernel penting net.ipv4.ip_forward: pemajuan teras;
vm.drop_caches:
kernel.hostname: nama hos;
net.ipv4.icmp_echo_ignore_all: Abaikan semua operasi ping;

2./sys direktori: diperkenalkan selepas versi Kernel 2.6

Sistem fail sys: Mengeluarkan maklumat atribut yang berkaitan bagi setiap peranti perkakasan yang diiktiraf oleh kernel, dan juga mempunyai parameter boleh tetap kernel untuk ciri perkakasan

Mengubah suai parameter ini boleh menyesuaikan ciri kerja peranti perkakasan



udev: Cipta fail peranti untuk setiap peranti perkakasan atas permintaan dengan membaca maklumat peranti perkakasan dalam direktori /sys; udev ialah program ruang pengguna; Apabila udev mencipta fail peranti untuk peranti, ia akan membaca fail peraturan yang dipratakrifkanTerokai misteri modul kernel Linux Secara umumnya dalam direktori /etc/udev/rules.d/ dan direktori /usr/lib/udev/rules.d/

Untuk meringkaskan, modul kernel ialah bahagian yang sangat penting dalam kernel Linux, yang boleh menyediakan kernel dengan fungsi sambungan yang kaya dan membantu pengguna menyesuaikan diri dengan perkakasan atau senario aplikasi tertentu dengan lebih baik. Apabila menggunakan modul kernel, anda perlu berhati-hati agar tidak merosakkan kestabilan dan keselamatan kernel Adalah disyorkan untuk menggunakan dan menulis modul kernel hanya apabila perlu. Saya percaya bahawa kandungan artikel ini boleh membantu pembaca memahami dan menggunakan modul kernel Linux dengan lebih baik.

Atas ialah kandungan terperinci Terokai misteri modul kernel Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:lxlinux.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam