麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 服務器 > Linux服務器 > 正文

Linux內核設備驅動之proc文件系統筆記整理

2024-09-05 23:05:26
字體:
來源:轉載
供稿:網友
/***************** * proc文件系統 *****************/

(1)/proc文件系統的特點和/proc文件的說明

/proc文件系統是一種特殊的、由軟件創建的文件系統,內核使用它向外界導出信息,/proc系統只存在內存當中,而不占用外存空間。

/proc下面的每個文件都綁定于一個內核函數,用戶讀取文件時,該函數動態地生成文件的內容。也可以通過寫/proc文件修改內核參數

/proc目錄下的文件分析  /proc/$pid 關于進程$pid的信息目錄。每個進程在/proc 下有一個名為其進程號的目錄。例:$>strings -f /proc/[0-9]*/cmdline

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

(2)自行實現一個/proc文件

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

a.在/proc下創建文件

調用create_proc_read_entry在/proc下創建新的文件

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.定義返回數據的函數

在進程讀取/proc文件時,內核會分配一個內存頁(即PAGE_SIZE個字節的內存塊),驅動將要寫的數據通過這個內存頁返回到用戶空間。

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

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲国产高清一区 | 欧产日产国产精品v | 精品一区免费 | 亚洲第一页综合 | 日韩av手机在线免费观看 | 爱福利视频网 | avav在线播放 | 国产88久久久国产精品免费二区 | 亚州综合图片 | 99久久婷婷国产综合精品青牛牛 | 久久久久久久久久网站 | 亚洲精品久久久久www | 黄色av.com| 久久精品亚洲一区二区 | 草草视频免费观看 | 91av网址| 狠狠干天天操 | 亚洲小视频在线观看,com | 黄色免费av网站 | 精品久久久av | 欧美精品一区二区三区在线 | av电影在线免费观看 | 免费h片网站 | 艹男人的日日夜夜 | 国产精品99久久免费观看 | 狠狠久久伊人中文字幕 | 国产精品一区久久久久 | www国产网站 | 欧美囗交| 成人毛片av在线 | 九九热精品在线 | 制服丝袜成人动漫 | 国产成人精品一区在线播放 | 久久午夜国产 | 欧日一级片 | 玩偶姐姐在线观看免费 | 中文字幕亚洲一区二区三区 | 欧美一级电影网站 | 精品国产视频一区二区三区 | 久久精品视频亚洲 | 久久成人精品视频 |