成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深入理論講解Linux sysfs系統(tǒng)屬性

運維 系統(tǒng)運維
因為模塊是Linux sysfs系統(tǒng)內(nèi)核驅(qū)動編程的最佳選擇,而一個模塊有可能提供多個Linux sysfs系統(tǒng)驅(qū)動程序,因而在未知一個設(shè)備在用哪一個驅(qū)動的情況下可以先從 /sys/module/ 查找相應(yīng)模塊的情況。

Linux sysfs系統(tǒng)經(jīng)過長時間的發(fā)展,很多用戶都很了解Linux sysfs系統(tǒng)了,這里我發(fā)表一下個人理解,和大家討論討論。Linux sysfs系統(tǒng)下具有使用 SCSI 總線連接的主機上,與 PCI類似的是也采用四個號碼作為一組來描述一個設(shè)備,其中位于最頂層的是scsi_host。以社區(qū)支持的方式開發(fā)Linux發(fā)行版Fedora Core Linux,而Red Hat公司原來Red Hat Linux的開發(fā)團隊也將繼續(xù)參與這一發(fā)行版本的開發(fā)工作。Red Hat公司把Fedora Project看作一個新技術(shù)的開發(fā)園地,鼓勵有興趣的自由軟件開發(fā)人員參與此項項目的開發(fā),希望這一發(fā)行版本真正成為以自由軟件開發(fā)為模式的操作系統(tǒng)。

我們從設(shè)備類別 /class/為起點來探索:
# ls -lU /sys/class/scsi_host總計 0
lrwxrwxrwx 1 root root 0 12-13 01:59 host0 -> \
../../devices/pci0000:00/0000:00:02.5/host0/scsi_host/host0
lrwxrwxrwx 1 root root 0 12-13 01:59 host1 -> \
../../devices/pci0000:00/0000:00:02.5/host1/scsi_host/host1

注意這是 2.6.27 內(nèi)核的最新變化,在 /sys/class/ 下的都改為符號鏈接,真實的 kobject 都存在于 /sys/devices/ 中;我們這里探索其中的 host0 這個 SCSI 控制器:
# readlink -f /sys/class/scsi_host/host0
/sys/devices/pci0000:00/0000:00:02.5/host0/scsi_host/host0
# ls -lU /sys/devices/pci0000:00/0000:00:02.5/host0/scsi_host/host0
總計 0
-rw-r--r-- 1 root root 4096 12-13 02:02 uevent
lrwxrwxrwx 1 root root    0 12-13 02:02 subsystem -> ../../../../../../class/scsi_host
lrwxrwxrwx 1 root root    0 12-13 02:02 device -> ../../../host0
-r--r--r-- 1 root root 4096 12-13 02:02 unique_id
-r--r--r-- 1 root root 4096 12-13 02:02 host_busy
-r--r--r-- 1 root root 4096 12-13 02:02 cmd_per_lun
-r--r--r-- 1 root root 4096 12-13 02:02 can_queue
-r--r--r-- 1 root root 4096 12-13 02:02 sg_tablesize
-r--r--r-- 1 root root 4096 12-13 02:02 unchecked_isa_dma
-r--r--r-- 1 root root 4096 12-13 02:02 proc_name
--w------- 1 root root 4096 12-13 02:02 scan
-rw-r--r-- 1 root root 4096 12-13 02:02 state
-rw-r--r-- 1 root root 4096 12-13 02:02 supported_mode
-rw-r--r-- 1 root root 4096 12-13 02:02 active_mode
-r--r--r-- 1 root root 4096 12-13 02:02 prot_capabilities
-r--r--r-- 1 root root 4096 12-13 02:02 prot_guard_type
drwxr-xr-x 2 root root    0 12-13 02:02 power


對這些屬性文件解釋如下:
有四個 SCSI 特有的可寫參數(shù): scan,state,supported_mode,active_mode;可以向其中寫入不同的參數(shù)來控制此 SCSI 控制器的各種狀態(tài);
其它一些可讀屬性用于讀取這個 SCSI 控制器的一些當(dāng)前值;
其中的 scan 屬性文件在調(diào)試一些 SCSI 硬件驅(qū)動時很有用,它是只寫的,可以寫入三個至四個以空格分開的整數(shù),用于分別指定對應(yīng)的 host, channel, id, lun 進行重新搜索。且這個 scan 屬性支持以"-"作為通配符,如以下命令可以執(zhí)行讓整個 scsi_host 進行重新搜索,這個功能用于調(diào)試某些對熱挺拔實現(xiàn)不完善的 SCSI 驅(qū)動程序很有用:
# echo '- - -' >/sys/devices/pci0000:00/0000:00:02.5/host0/scsi_host/host0/scan

內(nèi)核模塊中的 Linux sysfs系統(tǒng)屬性文件

以一個 8139too 模塊為例解釋在這個 kboject 下每一個屬性的用途;
# find /sys/module/8139too/ -ls
  6408    0 -r--r--r--   1 root     root         4096 12月 13 02:17 \
/sys/module/8139too/version
  6412    0 drwxr-xr-x   2 root     root            0 12月 13 02:17 \
/sys/module/8139too/sections
  6433    0 drwxr-xr-x   2 root     root            0 12月 13 02:17 \
/sys/module/8139too/notes
  6434    0 -r--r--r--   1 root     root           36 12月 13 02:17 \
/sys/module/8139too/notes/.note.gnu.build-id
  6486    0 drwxr-xr-x   2 root     root            0 12月 13 02:17 \
/sys/module/8139too/drivers
  6487    0 lrwxrwxrwx   1 root     root            0 12月 13 02:17 \
/sys/module/8139too/drivers/pci:8139too -> ../../../bus/pci/drivers/8139too

其中的屬性文件都是只讀的,用于提供信息。從 version, srcversion 上可以了解到這個模塊所聲明的版本號,源碼版本號, refcnt 是模塊引用計數(shù), sections 屬性組中有一些模塊加載至內(nèi)存的相應(yīng)節(jié)信息, drivers/ 目錄中是對所提供的驅(qū)動的鏈接;

因為模塊是Linux sysfs系統(tǒng)內(nèi)核驅(qū)動編程的最佳選擇,而一個模塊有可能提供多個Linux sysfs系統(tǒng)驅(qū)動程序,因而在未知一個設(shè)備在用哪一個驅(qū)動的情況下可以先從 /sys/module/ 查找相應(yīng)模塊的情況,再從 drivers/ 發(fā)現(xiàn)出真正的驅(qū)動程序。或者也可以完全反過來利用這些信息,先用 lspci/lshw 等工具找到 /sys/devices/ 下的設(shè)備節(jié)點,再從其設(shè)備的 driver 鏈接找到 /sys/bus/*/drivers/ 下的 device_driver, 再從 device_driver 下的 module 鏈接找到 /sys/module/*/,這樣就可以得到已加載模塊中空間是哪一個模塊在給一個設(shè)備提供驅(qū)動程序。

更多 Linux sysfs系統(tǒng)屬性文件

以上所舉的例子僅僅是一些常見的 Linux sysfs系統(tǒng)屬性用法,實際的系統(tǒng)中還常常有很多其它的從未見過的 Linux sysfs系統(tǒng)屬性,因此只有舉例是不夠的,即使維護了一份 Linux sysfs系統(tǒng)屬性用法參考大全也不夠,未來的內(nèi)核版本還會出現(xiàn)新的 Linux sysfs系統(tǒng)屬性,因此還必須了解 Linux 內(nèi)核代碼以找到實現(xiàn)這些屬性的代碼位置,以學(xué)會在沒有相應(yīng)屬性文檔的情況從內(nèi)核源代碼來分析其 Linux sysfs系統(tǒng)屬性功能。

【編輯推薦】

  1. 輕松在Linux操作系統(tǒng)中找回遺失的root密碼
  2. 為你分析Linux操作系統(tǒng)和Windows系統(tǒng)
  3. 闡述Linux操作系統(tǒng)安裝與認識支援的硬體
  4. 完成Linux漢化輕松應(yīng)用Linux
  5. Linux技術(shù)受風(fēng)河與NEC垂青
責(zé)任編輯:佚名 來源: CSDN
相關(guān)推薦

2023-02-10 08:11:43

Linux系統(tǒng)調(diào)用

2009-12-22 13:36:39

Linux Sysfs

2011-01-25 10:27:12

Linux 文件系統(tǒng)屬

2009-12-22 14:08:38

2024-03-28 09:36:29

2017-01-13 09:54:52

2023-09-18 11:34:17

Linux系統(tǒng)

2014-11-27 15:32:31

openstacknetworkovs

2009-12-22 11:21:11

2009-12-22 13:05:15

Linux sysfs

2022-11-09 08:12:07

2022-09-01 08:08:35

Android移動操作系統(tǒng)

2009-12-16 13:11:13

Fedora操作系統(tǒng)

2009-12-22 13:15:59

Linux ueven

2013-06-20 10:25:56

2018-09-12 15:48:35

ext4Linux文件系統(tǒng)

2021-08-31 10:32:11

LinuxPage Cache命令

2009-12-18 18:10:55

Fedora proc

2021-05-31 07:50:59

Linux文件系統(tǒng)

2018-04-16 11:04:23

HBaseRegion Serv數(shù)據(jù)庫
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 日本在线视频不卡 | 一区二区三区欧美大片 | 国产99久久精品 | 日韩电影一区二区三区 | 午夜影院在线观看版 | 亚洲啪啪 | 国产丝袜一区二区三区免费视频 | 精品粉嫩aⅴ一区二区三区四区 | 欧美日韩国产一区 | 国产精品一区二区视频 | 成人小视频在线 | 在线免费看91 | 久久国产精品偷 | 国产精品欧美一区喷水 | 成人av免费 | 欧美日韩三区 | 亚洲丝袜天堂 | 国产精品91网站 | 精品一二三区在线观看 | 欧美日韩一区二区三区四区五区 | 欧美理论片在线观看 | 日韩中文欧美 | 色婷婷综合久久久中文字幕 | 午夜在线观看视频 | 欧美中文字幕一区二区三区亚洲 | 中文字幕在线一 | 久久久久久黄 | 免费网站在线 | 插插宗合网 | 91精品国产91久久久久久最新 | 日本中文字幕日韩精品免费 | 国产精品成人在线 | 美女视频黄的 | 青青草精品| 日韩中文字幕视频在线 | aaaa一级毛片 | 久久精品亚洲一区二区三区浴池 | 五月婷婷中文 | 午夜三区| 国产精品国色综合久久 | 国产高清美女一级a毛片久久w |