色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是 Linux 內(nèi)核模塊?

Linux愛好者 ? 來源:YXQ ? 2019-08-09 17:01 ? 次閱讀

lsmod 命令能夠告訴你當(dāng)前系統(tǒng)上加載了哪些內(nèi)核模塊,以及關(guān)于使用它們的一些有趣的細(xì)節(jié)。

什么是 Linux 內(nèi)核模塊?

內(nèi)核模塊是可以根據(jù)需要加載到內(nèi)核中或從內(nèi)核中卸載的代碼塊,因此無需重啟就可以擴(kuò)展內(nèi)核的功能。事實(shí)上,除非用戶使用類似 lsmod 這樣的命令來查詢模塊信息,否則用戶不太可能知道內(nèi)核發(fā)生的任何變化。

需要知道的重要一點(diǎn)是,在你的 Linux 系統(tǒng)上總會(huì)有很多可用的模塊,并且如果你可以深入其中了解到很多細(xì)節(jié)。

lsmod 的主要用途之一是在系統(tǒng)不能正常工作時(shí)檢查模塊。然而,大多數(shù)情況下,模塊會(huì)根據(jù)需要加載的,而且用戶不需要知道它們?nèi)绾芜\(yùn)作。

顯示內(nèi)核模塊

顯示內(nèi)核模塊最簡單的方法是使用 lsmod 命令。雖然這個(gè)命令包含了很多細(xì)節(jié),但輸出卻是非常用戶友好。

$ lsmodModule                  Size  Used bysnd_hda_codec_realtek 114688  1snd_hda_codec_generic  77824  1 snd_hda_codec_realtekledtrig_audio          16384  2 snd_hda_codec_generic,snd_hda_codec_realteksnd_hda_codec_hdmi     53248  1snd_hda_intel          40960  2snd_hda_codec         131072  4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel                                ,snd_hda_codec_realteksnd_hda_core           86016  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel                                ,snd_hda_codec,snd_hda_codec_realteksnd_hwdep              20480  1 snd_hda_codecsnd_pcm               102400  4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda                                _coresnd_seq_midi           20480  0snd_seq_midi_event     16384  1 snd_seq_mididcdbas                 20480  0snd_rawmidi            36864  1 snd_seq_midisnd_seq                69632  2 snd_seq_midi,snd_seq_midi_eventcoretemp               20480  0snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidisnd_timer              36864  2 snd_seq,snd_pcmkvm_intel             241664  0kvm                   626688  1 kvm_intelradeon               1454080  10irqbypass              16384  1 kvmjoydev                 24576  0input_leds             16384  0ttm                   102400  1 radeondrm_kms_helper        180224  1 radeondrm                   475136  13 drm_kms_helper,radeon,ttmsnd                    81920  15 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda                                 _codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd                                 _hda_codec_realtek,snd_timer,snd_pcm,snd_rawmidii2c_algo_bit           16384  1 radeonfb_sys_fops            16384  1 drm_kms_helpersyscopyarea            16384  1 drm_kms_helperserio_raw              20480  0sysfillrect            16384  1 drm_kms_helpersysimgblt              16384  1 drm_kms_helpersoundcore              16384  1 sndmac_hid                16384  0sch_fq_codel           20480  2parport_pc             40960  0ppdev                  24576  0lp                     20480  0parport                53248  3 parport_pc,lp,ppdevip_tables              28672  0x_tables               40960  1 ip_tablesautofs4                45056  2raid10                 57344  0raid456               155648  0async_raid6_recov      24576  1 raid456async_memcpy           20480  2 raid456,async_raid6_recovasync_pq               24576  2 raid456,async_raid6_recovasync_xor              20480  3 async_pq,raid456,async_raid6_recovasync_tx               20480  5 async_pq,async_memcpy,async_xor,raid456,async_raid6_re                                covxor                    24576  1 async_xorraid6_pq              114688  3 async_pq,raid456,async_raid6_recovlibcrc32c              16384  1 raid456raid1                  45056  0raid0                  24576  0multipath              20480  0linear                 20480  0hid_generic            16384  0psmouse               151552  0i2c_i801               32768  0pata_acpi              16384  0lpc_ich                24576  0usbhid                 53248  0hid                   126976  2 usbhid,hid_generice1000e                245760  0floppy                 81920  0

在上面的輸出中:

Module顯示每個(gè)模塊的名稱

Size顯示每個(gè)模塊的大小(并不是它們占的內(nèi)存大小)

Used by顯示每個(gè)模塊被使用的次數(shù)和使用它們的模塊

顯然,這里有很多模塊。加載的模塊數(shù)量取決于你的系統(tǒng)和版本以及正在運(yùn)行的內(nèi)容。我們可以這樣計(jì)數(shù)

$ lsmod | wc -l67

要查看系統(tǒng)中可用的模塊數(shù)(不止運(yùn)行當(dāng)中的),試試這個(gè)命令:

$ modprobe -c | wc -l41272

與內(nèi)核模塊相關(guān)的其他命令

Linux 提供了幾條用于羅列、加載及卸載、測(cè)試,以及檢查模塊狀態(tài)的命令。

depmod—— 生成modules.dep和映射文件

insmod—— 一個(gè)往 Linux 內(nèi)核插入模塊的程序

lsmod—— 顯示 Linux 內(nèi)核中模塊狀態(tài)

modinfo—— 顯示 Linux 內(nèi)核模塊信息

modprobe—— 添加或移除 Linux 內(nèi)核模塊

rmmod—— 一個(gè)從 Linux 內(nèi)核移除模塊的程序

顯示內(nèi)置的內(nèi)核模塊

正如前文所說,lsmod 命令是顯示內(nèi)核模塊最方便的命令。然而,也有其他方式可以顯示它們。modules.builtin 文件中列出了所有構(gòu)建在內(nèi)核中的模塊,在 modprobe 命令嘗試添加文件中的模塊時(shí)會(huì)使用它。注意,以下命令中的$(uname -r)提供了內(nèi)核版本的名稱。

$ more /lib/modules/$(uname -r)/modules.builtin | head -10kernel/arch/x86/crypto/crc32c-intel.kokernel/arch/x86/events/intel/intel-uncore.kokernel/arch/x86/platform/intel/iosf_mbi.kokernel/mm/zpool.kokernel/mm/zbud.kokernel/mm/zsmalloc.kokernel/fs/binfmt_script.kokernel/fs/mbcache.kokernel/fs/configfs/configfs.kokernel/fs/crypto/fscrypto.ko

你可以使用 modinfo 獲得一個(gè)模塊的更多細(xì)節(jié),雖然沒有對(duì)模塊提供的服務(wù)的簡單說明。下面輸出內(nèi)容中省略了冗長的簽名。

$ modinfo floppy | head -16filename:       /lib/modules/5.0.0-13-generic/kernel/drivers/block/floppy.koalias:          block-major-2-*license:        GPLauthor:         Alain L. Knaffsrcversion:     EBEAA26742DF61790588FD9alias:          acpi*:PNP0700:*alias:          pnp:dPNP0700*depends:retpoline:      Yintree:         Yname:           floppyvermagic:       5.0.0-13-generic SMP mod_unloadsig_id:         PKCS#7signer:sig_key:sig_hashalgo:   md4

你可以使用 modprobe 命令加載或卸載模塊。使用下面這條命令,你可以找到特定模塊關(guān)聯(lián)的內(nèi)核對(duì)象:

$ find /lib/modules/$(uname -r) -name floppy*/lib/modules/5.0.0-13-generic/kernel/drivers/block/floppy.ko

如果你想要加載模塊,你可以使用這個(gè)命令:

$ sudo modprobe floppy

總結(jié)

很明顯,內(nèi)核模塊的加載和卸載非常重要。它使得 Linux 系統(tǒng)比使用通用內(nèi)核運(yùn)行時(shí)更加靈活和高效。這同樣意味著你可以進(jìn)行重大更改而無需重啟,例如添加硬件。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11320

    瀏覽量

    209833
  • 內(nèi)核模塊
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    3099

原文標(biāo)題:深入學(xué)習(xí) Linux 內(nèi)核模塊

文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux 內(nèi)核模塊工作原理及內(nèi)核模塊編譯案例

    一個(gè)內(nèi)核模塊至少包含兩個(gè)函數(shù),模塊被加載時(shí)執(zhí)行的初始化函數(shù)init_module()和模塊被卸載時(shí)執(zhí)行的結(jié)束函數(shù)cleanup_module()。
    發(fā)表于 09-23 09:39 ?2519次閱讀
    <b class='flag-5'>Linux</b> <b class='flag-5'>內(nèi)核模塊</b>工作原理及<b class='flag-5'>內(nèi)核模塊</b>編譯案例

    詳解Linux內(nèi)核模塊的編寫方法

    Linux 系統(tǒng)為應(yīng)用程序提供了功能強(qiáng)大且容易擴(kuò)展的 API,但在某些情況下,這還遠(yuǎn)遠(yuǎn)不夠。與硬件交互或進(jìn)行需要訪問系統(tǒng)中特權(quán)信息的操作時(shí),就需要一個(gè)內(nèi)核模塊
    的頭像 發(fā)表于 05-11 08:55 ?3752次閱讀

    Linux內(nèi)核模塊間通訊方法

    Linux內(nèi)核模塊間通訊方法非常的多,最便捷的方法莫過于函數(shù)或變量符號(hào)導(dǎo)出,然后直接調(diào)用。默認(rèn)情況下,模塊模塊之間、模塊
    發(fā)表于 06-07 16:23 ?2584次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核模塊</b>間通訊方法

    Linux內(nèi)核模塊有什么用?

    內(nèi)核LINUX內(nèi)核Linux開發(fā)
    jf_97106930
    發(fā)布于 :2022年08月26日 19:45:17

    Linux內(nèi)核模塊有什么用?

    Linux
    學(xué)習(xí)電子知識(shí)
    發(fā)布于 :2023年02月25日 22:19:56

    Linux內(nèi)核模塊程序結(jié)構(gòu)

    Linux設(shè)備驅(qū)動(dòng)會(huì)以內(nèi)核模塊的形式出現(xiàn),因此,學(xué)會(huì)編寫Linux內(nèi)核模塊編程是學(xué)習(xí)Linux設(shè)備驅(qū)動(dòng)的先決條件。一個(gè)
    發(fā)表于 05-27 09:36

    Linux內(nèi)核模塊簡介

    Linux內(nèi)核模塊簡介http://bbs.edu118.com/forum.php?mod=viewthread&tid=388&fromuid=204(出處: 信盈達(dá)IT技術(shù)社
    發(fā)表于 08-22 09:22

    Linux內(nèi)核模塊與應(yīng)用程序的對(duì)比

    用戶態(tài)程序Linux內(nèi)核模塊運(yùn)行用戶空間 內(nèi)核空間 入口main() module_init()指定; 出口無 module_exit()指定; 編譯gcc –cMakefile 連接
    發(fā)表于 07-03 03:15

    Xilinx是否有可以在PCI Express根端口主機(jī)PC上運(yùn)行的Linux內(nèi)核模塊驅(qū)動(dòng)程序?

    我們有一個(gè)基于ZYNQ XC7Z030全定制SOC的定制板。該板具有用于PCI Express的7系列FPGA集成模塊。Xilinx是否有可以在PCI Express根端口主機(jī)PC上運(yùn)行的Linux內(nèi)核模塊驅(qū)動(dòng)程序,以與上述PC
    發(fā)表于 08-05 14:13

    Linux內(nèi)核模塊的相關(guān)資料分享

    這里給出一個(gè)Linux內(nèi)核模塊的最簡單的示例程序,當(dāng)然,真實(shí)的驅(qū)動(dòng)程序要比這個(gè)復(fù)雜。#include #include static int xxx_init(void){ printk(KERN_INFO "Hello Linux
    發(fā)表于 12-20 07:29

    如何去實(shí)現(xiàn)一種Linux內(nèi)核模塊編程呢

    Linux內(nèi)核模塊編程 就職于國內(nèi)一家半導(dǎo)體公司,擔(dān)任高級(jí)系統(tǒng)軟件工程師職位...
    發(fā)表于 12-23 07:52

    Linux設(shè)備驅(qū)動(dòng)開發(fā)詳解》第4章、Linux內(nèi)核模塊

    Linux設(shè)備驅(qū)動(dòng)開發(fā)詳解》第4章、Linux內(nèi)核模塊
    發(fā)表于 10-27 14:15 ?0次下載
    《<b class='flag-5'>Linux</b>設(shè)備驅(qū)動(dòng)開發(fā)詳解》第4章、<b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核模塊</b>

    如何在Petalinux創(chuàng)建Linux內(nèi)核模塊

    --enable”,能創(chuàng)建Linux內(nèi)核模塊,包括c源代碼文件,Makefile,Yocto的bb文件。相關(guān)文件放在目錄“ project-spec / meta-user / recipes-modules”中
    的頭像 發(fā)表于 03-02 11:10 ?4385次閱讀

    Linux內(nèi)核模塊簡介

    Linux系統(tǒng)內(nèi)核按體積和功能的不同,可以分為兩種:微內(nèi)核與單內(nèi)核。 微內(nèi)核,體積小,包含的功能也少,只負(fù)責(zé)進(jìn)行進(jìn)程調(diào)度、進(jìn)程通信、底
    發(fā)表于 01-17 09:57 ?1次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核模塊</b>簡介

    Linux內(nèi)核模塊參數(shù)傳遞與sysfs文件系統(tǒng)

    函數(shù)傳參的內(nèi)核傳參機(jī)制,編寫內(nèi)核程序時(shí)只要實(shí)現(xiàn)傳參接口,用戶在加載內(nèi)核模塊時(shí)即可傳入指定參數(shù),使得內(nèi)核模塊更加靈活。
    發(fā)表于 06-07 16:23 ?2161次閱讀
    主站蜘蛛池模板: 国产高清-国产av| 精品国产乱码久久久人妻| 99九九99九九九视频精品| 69久久国产精品热88人妻| 99精品在线观看| 超碰 无码 中文字幕| 国产精品久久久久久久久久免费 | 男男被强bl高h文| 欧美性喷潮xxxx| 十七岁日本免费完整版BD | 九九久久国产精品免费热6| 快播理论片| 人人澡人人擦人人免费| 忘忧草在线社区WWW日本直播| 亚洲乱亚洲乱妇在线观看| 1973性农场未删减版| 成人精品视频网站| 国产中文字幕免费观看| 快插我我好湿啊公交车上做| 轻点灬大ji巴太粗太双性高h| 无码一区国产欧美在线资源| 一级大乳奶| 被滋润的艳妇疯狂呻吟白洁老七| 国产强奷伦奷片| 美女被C污黄网站免费观看| 日日干夜夜啪蕉视频| 亚洲欧美一区二区三区久久| 99久久精品国产免费| 国产精品高清m3u8在线播放| 久久日韩精品无码一区| 日本888 xxxx| 亚洲色视在线观看视频| 9LPORM原创自拍达人| 国产学生无码中文视频一区| 蜜柚影院在线观看免费高清中文| 涩涩网站在线看| 在线 无码 中文 强 乱| 粗暴玩烂货调教| 久久久国产精品免费A片蜜芽广| 日本无码人妻精品一区二区视频| 亚洲欧美中文在线一区|