Linux之核心模組

2021-09-20 22:20:17 字數 1145 閱讀 5611

linux核心採用的是模組化技術,這樣保證了核心的可維護性和可擴充套件性。模組化設計允許我們在需要時才將某個模組載入到核心,實現動態核心的調整。

linux核心模組的命名方式通常為「模組名稱.ko」,在centos 7中核心模組被集中儲存在/lib/modules目錄下。

對核心模組的基本操作:

1 檢視核心模組:

[root@test modules]# lsmod | head

module size used by

tcp_diag 693 0 

inet_diag 7882 1 tcp_diag

ip_vs_wrr 1639 0 

ip_vs 103551 2 ip_vs_wrr

libcrc32c 841 1 ip_vs

ip6t_reject 3731 2 

nf_conntrack_ipv6 6588 3 

nf_defrag_ipv6 16175 1 nf_conntrack_ipv6

xt_state 1064 3 

輸出的三列資訊,分別是核心模組的名稱、占用記憶體大小、是否被使用,如果第三列為0,則該模組可以隨時解除安裝,否則無法被解除安裝。

2 動態載入和解除安裝核心模組;

[root@test modules]# modprobe ip_vs

[root@test modules]# lsmod | grep ip_vs #檢視模組是否載入成功

ip_vs_wrr 1639 0 

ip_vs 103551 2 ip_vs_wrr

3 動態解除安裝模組:

[root@test modules]# modprobe -r ip_vs

4 檢視核心模組資訊:、

[root@test modules]# modinfo ip_vs

filename: /lib/modules/2.6.32-696.el6.i686/kernel/net/netfilter/ipvs/ip_vs.ko

license: gpl

srcversion: 0fb85919d62c4255e412e5c

5 如果要永久性載入模組,可以這樣做:

[root@test modules]# echo "modinfo ip_vs" >> /etc/rc.d/rc.local

Linux 核心模組之hello world

linux系統核心執行於乙個單獨的保護區中,但是執行核心在執行時動態的新增或者刪除 這些 包括了相關的資料 函式入口 出口並被組合在乙個單一的二進位制映象中,即可裝載核心模組,簡稱為模組。乙個最簡單的模組組建過程如下 hello world 模組原始碼 include include include...

Linux核心模組

核心模組 在整個啟動的過程中,是否能成功的驅動我們主句的硬體裝置,是核心完成的工作,而核心一般都是壓縮文件,在使用之前核心之前必須要將核心減壓到的記憶體中。為了應對日新月異的硬體,目前核心都具有可讀取模組化驅動程式的功能,也就是所謂的 modules模組化 所謂模組化。核心與核心模組放在 核心 bo...

Linux核心模組

1 核心模組註冊登出 塊載入函式有返回值,模組解除安裝函式無返回值。兩者都是無參函式,載入函式用 init修飾,解除安裝函式用 exit修飾。define init attribute section init.text define exit atrribute section exit,text...