最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux內(nèi)核設(shè)備驅(qū)動(dòng)之proc文件系統(tǒng)筆記整理

 更新時(shí)間:2018年12月17日 10:59:18   作者:Engineer-Bruce_Yang  
今天小編就為大家分享一篇關(guān)于Linux內(nèi)核設(shè)備驅(qū)動(dòng)之proc文件系統(tǒng)筆記整理,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
/*****************
 * proc文件系統(tǒng)
 *****************/

(1)/proc文件系統(tǒng)的特點(diǎn)和/proc文件的說(shuō)明

/proc文件系統(tǒng)是一種特殊的、由軟件創(chuàng)建的文件系統(tǒng),內(nèi)核使用它向外界導(dǎo)出信息,/proc系統(tǒng)只存在內(nèi)存當(dāng)中,而不占用外存空間。

/proc下面的每個(gè)文件都綁定于一個(gè)內(nèi)核函數(shù),用戶讀取文件時(shí),該函數(shù)動(dòng)態(tài)地生成文件的內(nèi)容。也可以通過(guò)寫(xiě)/proc文件修改內(nèi)核參數(shù)

/proc目錄下的文件分析  /proc/$pid 關(guān)于進(jìn)程$pid的信息目錄。每個(gè)進(jìn)程在/proc 下有一個(gè)名為其進(jìn)程號(hào)的目錄。例:$>strings -f /proc/[0-9]*/cmdline

  • /proc/cmdline  內(nèi)核啟動(dòng)的命令行
  • /proc/cpuinfo  處理器信息,如類型、制造商、型號(hào)和性能。 
  • /proc/devices  列出字符和塊設(shè)備的主設(shè)備號(hào),以及分配到這些設(shè)備號(hào)的設(shè)備名稱
  • /proc/dma  顯示當(dāng)前使用的DMA通道。 
  • /proc/filesystems  列出了可供使用的文件系統(tǒng)類型,通常是編入內(nèi)核的文件系統(tǒng)類型,但可以通過(guò)模塊加入新的類型
  • /proc/interrupts  顯示使用的中斷號(hào),中斷名稱,以及這些中斷從系統(tǒng)啟動(dòng)后產(chǎn)生的次數(shù)
  • /proc/ioports  當(dāng)前使用的I/O端口。 
  • /proc/kallsyms  內(nèi)核符號(hào)表。安裝新的模塊后,會(huì)在這里體現(xiàn)出來(lái) 
  • /proc/kcore  系統(tǒng)物理內(nèi)存映象。與物理內(nèi)存大小完全一樣,但不實(shí)際占用這么多內(nèi)存;(記住:除非拷貝到文件中,/proc下沒(méi)有任何東西占用任何磁盤(pán)空間) 
  • /proc/kmsg  內(nèi)核輸出的消息。也被送到syslog。 
  • /proc/loadavg  系統(tǒng)的平均負(fù)載,前3個(gè)是過(guò)去1分鐘,5分鐘,15分鐘的負(fù)載,然后是正在運(yùn)行的任務(wù)數(shù)和總?cè)蝿?wù)數(shù),最后是上次運(yùn)行的進(jìn)程號(hào)
  • /proc/meminfo  存儲(chǔ)器使用信息,包括物理內(nèi)存和swap。 
  • /proc/modules  當(dāng)前加載了哪些核心模塊。 
  • /proc/partitions  系統(tǒng)當(dāng)前掛載硬盤(pán)的分區(qū)信息
  • /proc/pci  系統(tǒng)的pci總線信息
  • /proc/net  網(wǎng)絡(luò)協(xié)議狀態(tài)信息。 
  • /proc/self  到查看/proc的程序的進(jìn)程目錄的符號(hào)連接。當(dāng)2個(gè)進(jìn)程查看/proc時(shí),是不同的連接。這主要便于程序得到它自己的進(jìn)程目錄。
  • /proc/slabinfo  系統(tǒng)中slab緩存的分配信息
  • /proc/stat  系統(tǒng)的一些狀態(tài)信息
  • /proc/swaps  系統(tǒng)采用的交換區(qū)信息
  • /proc/sysrq-trigger  用于啟動(dòng)sysRq鍵  $>echo 1 > sysrq-trigger
  • /proc/uptime  系統(tǒng)啟動(dòng)的時(shí)間長(zhǎng)度和空閑的時(shí)間長(zhǎng)度。供uptime使用
  • /proc/version  內(nèi)核版本

(2)自行實(shí)現(xiàn)一個(gè)/proc文件

需包含頭文件<linux/proc_fs.h>,函數(shù)定義在/fs/proc/generic.c

a.在/proc下創(chuàng)建文件

調(diào)用create_proc_read_entry在/proc下創(chuàng)建新的文件

struct proc_dir_entry *create_proc_read_entry(
    const char *name,
    mode_t mode, 
    struct proc_dir_entry *base,
    read_proc_t *read_proc, 
    void * data)

b.卸載/proc下的文件

采用remove_proc_entry卸載proc文件

void remove_proc_entry(
    const char *name, 
    struct proc_dir_entry *parent);

c.定義返回?cái)?shù)據(jù)的函數(shù)

在進(jìn)程讀取/proc文件時(shí),內(nèi)核會(huì)分配一個(gè)內(nèi)存頁(yè)(即PAGE_SIZE個(gè)字節(jié)的內(nèi)存塊),驅(qū)動(dòng)將要寫(xiě)的數(shù)據(jù)通過(guò)這個(gè)內(nèi)存頁(yè)返回到用戶空間。

typedef int (read_proc_t)(char *page, char **start, off_t off,
int count, int *eof, void *data);

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • Linux之crontab定時(shí)執(zhí)行腳本方式

    Linux之crontab定時(shí)執(zhí)行腳本方式

    這篇文章主要介紹了Linux之crontab定時(shí)執(zhí)行腳本方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Linux搜索文件和文件夾的四種簡(jiǎn)單方法

    Linux搜索文件和文件夾的四種簡(jiǎn)單方法

    Linux 管理員一天都不能離開(kāi)搜索文件,因?yàn)檫@是他們的日?;顒?dòng),了解一些搜索的東西是不錯(cuò)的,因?yàn)檫@能幫助你在命令行服務(wù)器中工作,這些命令記憶起來(lái)不復(fù)雜,因?yàn)樗鼈兪褂玫氖菢?biāo)準(zhǔn)語(yǔ)法,本文給大家介紹了Linux搜索文件和文件夾的四種簡(jiǎn)單方法,需要的朋友可以參考下
    2025-03-03
  • linux mint 18虛擬機(jī)下設(shè)置1080P分辨率的方法

    linux mint 18虛擬機(jī)下設(shè)置1080P分辨率的方法

    下面小編就為大家?guī)?lái)一篇linux mint 18虛擬機(jī)下設(shè)置1080P分辨率的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • 詳解Linux指令文件覆蓋和文件追加

    詳解Linux指令文件覆蓋和文件追加

    這篇文章主要介紹了Linux指令文件覆蓋和文件追加,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • linux Ubuntu下SSH無(wú)密碼驗(yàn)證配置的方法步驟

    linux Ubuntu下SSH無(wú)密碼驗(yàn)證配置的方法步驟

    這篇文章主要介紹了linux Ubuntu下實(shí)現(xiàn)SSH無(wú)密碼驗(yàn)證配置的方法步驟,文中給出了詳細(xì)的步驟介紹,有需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-02-02
  • Flume環(huán)境部署和配置詳解及案例大全

    Flume環(huán)境部署和配置詳解及案例大全

    flume是一個(gè)分布式、可靠、和高可用的海量日志采集、聚合和傳輸?shù)南到y(tǒng)。支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);同時(shí),F(xiàn)lume提供對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單處理,并寫(xiě)到各種數(shù)據(jù)接受方(比如文本、HDFS、Hbase等)的能力 。
    2014-08-08
  • Linux中進(jìn)程在后臺(tái)可靠運(yùn)行的方法總結(jié)

    Linux中進(jìn)程在后臺(tái)可靠運(yùn)行的方法總結(jié)

    本篇文章主要給大家介紹了Linux中進(jìn)程在后臺(tái)可靠運(yùn)行的方法以及示例代碼分析,一起學(xué)習(xí)參考下吧。
    2017-12-12
  • Linux修改pip和conda緩存路徑的幾種方法

    Linux修改pip和conda緩存路徑的幾種方法

    在 Python 生態(tài)中,pip 和 conda 是兩種常見(jiàn)的軟件包管理工具,它們?cè)诎惭b、更新和卸載軟件包時(shí)都會(huì)使用緩存來(lái)提高效率,適當(dāng)?shù)匦薷乃鼈兊木彺媛窂?不僅可以優(yōu)化存儲(chǔ)管理,還可以在存儲(chǔ)空間有限,本文將詳細(xì)介紹如何修改 pip 和 conda 的緩存路徑
    2025-03-03
  • Linux終端執(zhí)行shell腳本,提示權(quán)限不夠的問(wèn)題及解決

    Linux終端執(zhí)行shell腳本,提示權(quán)限不夠的問(wèn)題及解決

    這篇文章主要介紹了Linux終端執(zhí)行shell腳本,提示權(quán)限不夠的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 詳解linux pwm驅(qū)動(dòng)編寫(xiě)

    詳解linux pwm驅(qū)動(dòng)編寫(xiě)

    這篇文章主要介紹了詳解linux pwm驅(qū)動(dòng)編寫(xiě),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04

最新評(píng)論

宁武县| 顺昌县| 临清市| 南汇区| 郴州市| 稷山县| 丹东市| 根河市| 大港区| 女性| 西城区| 冀州市| 航空| 仙游县| 博兴县| 中阳县| 河池市| 松桃| 武鸣县| 东光县| 东方市| 密云县| 黄石市| 柘荣县| 齐齐哈尔市| 富蕴县| 尚志市| 威海市| 柘荣县| 桦甸市| 闸北区| 巢湖市| 枣阳市| 久治县| 彰武县| 泽普县| 安阳市| 襄垣县| 瑞金市| 洪江市| 荣昌县|