Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

章 22. 給​​​​​​​ IBM System z 使​​​​​​​用​​​​​​​者​​​​​​​的​​​​​​​額​​​​​​​外​​​​​​​資​​​​​​​訊​​​​​​​

22.1. sysfs 檔​​​​​​​案​​​​​​​系​​​​​​​統​​​​​​​

Linux 2.6 核​​​​​​​心​​​​​​​加​​​​​​​入​​​​​​​了​​​​​​​ sysfs 檔​​​​​​​案​​​​​​​系​​​​​​​統​​​​​​​,它​​​​​​​可​​​​​​​說​​​​​​​是​​​​​​​proc、​​​​​​​devfs、​​​​​​​與​​​​​​​ devpty 的​​​​​​​集​​​​​​​合​​​​​​​。​​​​​​​sysfs 檔​​​​​​​案​​​​​​​系​​​​​​​統​​​​​​​列​​​​​​​舉​​​​​​​了​​​​​​​連​​​​​​​到​​​​​​​系​​​​​​​統​​​​​​​的​​​​​​​裝​​​​​​​置​​​​​​​與​​​​​​​匯​​​​​​​流​​​​​​​排​​​​​​​,整​​​​​​​合​​​​​​​到​​​​​​​一​​​​​​​個​​​​​​​階​​​​​​​層​​​​​​​性​​​​​​​的​​​​​​​檔​​​​​​​案​​​​​​​系​​​​​​​統​​​​​​​下​​​​​​​,可​​​​​​​以​​​​​​​從​​​​​​​ user space(使​​​​​​​用​​​​​​​者​​​​​​​空​​​​​​​間​​​​​​​)存​​​​​​​取​​​​​​​。​​​​​​​sysfs 檔​​​​​​​案​​​​​​​系​​​​​​​統​​​​​​​用​​​​​​​來​​​​​​​處​​​​​​​理​​​​​​​之​​​​​​​前​​​​​​​位​​​​​​​於​​​​​​​ /proc/ 目​​​​​​​錄​​​​​​​中​​​​​​​的​​​​​​​裝​​​​​​​置​​​​​​​與​​​​​​​驅​​​​​​​動​​​​​​​程​​​​​​​式​​​​​​​特​​​​​​​定​​​​​​​選​​​​​​​項​​​​​​​,同​​​​​​​時​​​​​​​包​​​​​​​括​​​​​​​了​​​​​​​之​​​​​​​前​​​​​​​ devfs 所​​​​​​​提​​​​​​​供​​​​​​​的​​​​​​​動​​​​​​​態​​​​​​​裝​​​​​​​置​​​​​​​功​​​​​​​能​​​​​​​。​​​​​​​早​​​​​​​期​​​​​​​的​​​​​​​ sysfs 中​​​​​​​,許​​​​​​​多​​​​​​​驅​​​​​​​動​​​​​​​程​​​​​​​式​​​​​​​與​​​​​​​工​​​​​​​具​​​​​​​程​​​​​​​式​​​​​​​還​​​​​​​使​​​​​​​用​​​​​​​較​​​​​​​老​​​​​​​的​​​​​​​ proc 項​​​​​​​目​​​​​​​;但​​​​​​​可​​​​​​​以​​​​​​​確​​​​​​​知​​​​​​​的​​​​​​​是​​​​​​​,將​​​​​​​來​​​​​​​會​​​​​​​走​​​​​​​向​​​​​​​ sysfs。​​​​​​​
sysfs 檔​​​​​​​案​​​​​​​系​​​​​​​統​​​​​​​掛​​​​​​​載​​​​​​​在​​​​​​​ /sys/ 之​​​​​​​下​​​​​​​,其​​​​​​​中​​​​​​​的​​​​​​​目​​​​​​​錄​​​​​​​將​​​​​​​連​​​​​​​接​​​​​​​到​​​​​​​系​​​​​​​統​​​​​​​的​​​​​​​裝​​​​​​​置​​​​​​​分​​​​​​​成​​​​​​​多​​​​​​​種​​​​​​​項​​​​​​​目​​​​​​​。​​​​​​​/sysfs/ 子​​​​​​​目​​​​​​​錄​​​​​​​包​​​​​​​括​​​​​​​了​​​​​​​:
  1. /devices/ 目​​​​​​​錄​​​​​​​
    這​​​​​​​目​​​​​​​錄​​​​​​​包​​​​​​​括​​​​​​​了​​​​​​​ /css0/ 目​​​​​​​錄​​​​​​​,其​​​​​​​子​​​​​​​目​​​​​​​錄​​​​​​​顯​​​​​​​示​​​​​​​了​​​​​​​所​​​​​​​有​​​​​​​ Linux 核​​​​​​​心​​​​​​​偵​​​​​​​測​​​​​​​到​​​​​​​的​​​​​​​所​​​​​​​有​​​​​​​子​​​​​​​通​​​​​​​道​​​​​​​(subchannel)。​​​​​​​所​​​​​​​有​​​​​​​子​​​​​​​通​​​​​​​道​​​​​​​目​​​​​​​錄​​​​​​​都​​​​​​​以​​​​​​​ 0.0.nnnn 格​​​​​​​式​​​​​​​顯​​​​​​​示​​​​​​​,其​​​​​​​中​​​​​​​ nnnn 是​​​​​​​十​​​​​​​六​​​​​​​位​​​​​​​元​​​​​​​的​​​​​​​子​​​​​​​通​​​​​​​道​​​​​​​數​​​​​​​值​​​​​​​,從​​​​​​​ 0000 到​​​​​​​ ffff。​​​​​​​子​​​​​​​通​​​​​​​道​​​​​​​目​​​​​​​錄​​​​​​​包​​​​​​​括​​​​​​​了​​​​​​​狀​​​​​​​態​​​​​​​檔​​​​​​​案​​​​​​​,其​​​​​​​它​​​​​​​目​​​​​​​錄​​​​​​​則​​​​​​​顯​​​​​​​示​​​​​​​了​​​​​​​真​​​​​​​正​​​​​​​的​​​​​​​裝​​​​​​​置​​​​​​​。​​​​​​​裝​​​​​​​置​​​​​​​目​​​​​​​錄​​​​​​​的​​​​​​​格​​​​​​​式​​​​​​​為​​​​​​​ 0.0.xxxx,其​​​​​​​中​​​​​​​ xxxx 是​​​​​​​裝​​​​​​​置​​​​​​​的​​​​​​​單​​​​​​​位​​​​​​​位​​​​​​​址​​​​​​​。​​​​​​​/devices/ 目​​​​​​​錄​​​​​​​也​​​​​​​包​​​​​​​括​​​​​​​了​​​​​​​裝​​​​​​​置​​​​​​​的​​​​​​​狀​​​​​​​態​​​​​​​資​​​​​​​訊​​​​​​​,以​​​​​​​及​​​​​​​設​​​​​​​定​​​​​​​的​​​​​​​選​​​​​​​項​​​​​​​。​​​​​​​
  2. /bus/ 目​​​​​​​錄​​​​​​​
    這​​​​​​​包​​​​​​​含​​​​​​​了​​​​​​​ /ccw/ 與​​​​​​​ /ccwgroup/ 子​​​​​​​目​​​​​​​錄​​​​​​​。​​​​​​​CCW 裝​​​​​​​置​​​​​​​要​​​​​​​通​​​​​​​過​​​​​​​通​​​​​​​道​​​​​​​指​​​​​​​令​​​​​​​集​​​​​​​存​​​​​​​取​​​​​​​。​​​​​​​/ccw/ 目​​​​​​​錄​​​​​​​中​​​​​​​的​​​​​​​裝​​​​​​​置​​​​​​​只​​​​​​​佔​​​​​​​用​​​​​​​主​​​​​​​機​​​​​​​通​​​​​​​道​​​​​​​子​​​​​​​系​​​​​​​統​​​​​​​的​​​​​​​一​​​​​​​個​​​​​​​子​​​​​​​通​​​​​​​道​​​​​​​。​​​​​​​CCW 群​​​​​​​組​​​​​​​裝​​​​​​​置​​​​​​​也​​​​​​​通​​​​​​​過​​​​​​​通​​​​​​​道​​​​​​​指​​​​​​​令​​​​​​​集​​​​​​​存​​​​​​​取​​​​​​​,但​​​​​​​使​​​​​​​用​​​​​​​每​​​​​​​個​​​​​​​裝​​​​​​​置​​​​​​​的​​​​​​​多​​​​​​​個​​​​​​​子​​​​​​​通​​​​​​​道​​​​​​​。​​​​​​​舉​​​​​​​例​​​​​​​來​​​​​​​說​​​​​​​,一​​​​​​​組​​​​​​​ 3390-3 DASD 裝​​​​​​​置​​​​​​​使​​​​​​​用​​​​​​​一​​​​​​​個​​​​​​​子​​​​​​​通​​​​​​​道​​​​​​​;而​​​​​​​一​​​​​​​張​​​​​​​ OSA 介​​​​​​​面​​​​​​​卡​​​​​​​的​​​​​​​單​​​​​​​組​​​​​​​ QDIO 網​​​​​​​路​​​​​​​連​​​​​​​接​​​​​​​,卻​​​​​​​使​​​​​​​用​​​​​​​了​​​​​​​三​​​​​​​個​​​​​​​子​​​​​​​通​​​​​​​道​​​​​​​。​​​​​​​/ccw/ 與​​​​​​​ /ccwgroup/ 目​​​​​​​錄​​​​​​​都​​​​​​​包​​​​​​​括​​​​​​​了​​​​​​​裝​​​​​​​置​​​​​​​與​​​​​​​驅​​​​​​​動​​​​​​​程​​​​​​​式​​​​​​​的​​​​​​​子​​​​​​​目​​​​​​​錄​​​​​​​:
    /devices/ 目​​​​​​​錄​​​​​​​包​​​​​​​括​​​​​​​了​​​​​​​指​​​​​​​向​​​​​​​ /sys/devices/css0/ 裝​​​​​​​置​​​​​​​目​​​​​​​錄​​​​​​​的​​​​​​​連​​​​​​​結​​​​​​​(symbolic link)。​​​​​​​
    /drivers/ 目​​​​​​​錄​​​​​​​則​​​​​​​包​​​​​​​括​​​​​​​目​​​​​​​前​​​​​​​系​​​​​​​統​​​​​​​載​​​​​​​入​​​​​​​的​​​​​​​裝​​​​​​​置​​​​​​​之​​​​​​​所​​​​​​​有​​​​​​​驅​​​​​​​動​​​​​​​程​​​​​​​式​​​​​​​,每​​​​​​​個​​​​​​​驅​​​​​​​動​​​​​​​程​​​​​​​式​​​​​​​各​​​​​​​有​​​​​​​一​​​​​​​個​​​​​​​目​​​​​​​錄​​​​​​​。​​​​​​​dasd、​​​​​​​console、​​​​​​​qeth 與​​​​​​​ zfcp 驅​​​​​​​動​​​​​​​程​​​​​​​式​​​​​​​的​​​​​​​目​​​​​​​錄​​​​​​​也​​​​​​​位​​​​​​​於​​​​​​​此​​​​​​​。​​​​​​​/driver/ 目​​​​​​​錄​​​​​​​包​​​​​​​括​​​​​​​了​​​​​​​裝​​​​​​​置​​​​​​​驅​​​​​​​動​​​​​​​程​​​​​​​式​​​​​​​的​​​​​​​設​​​​​​​定​​​​​​​,以​​​​​​​及​​​​​​​指​​​​​​​向​​​​​​​使​​​​​​​用​​​​​​​該​​​​​​​驅​​​​​​​動​​​​​​​程​​​​​​​式​​​​​​​的​​​​​​​裝​​​​​​​置​​​​​​​之​​​​​​​連​​​​​​​結​​​​​​​(位​​​​​​​於​​​​​​​ /sys/devices/css0/ 目​​​​​​​錄​​​​​​​中​​​​​​​)。​​​​​​​
  3. /class/ 目​​​​​​​錄​​​​​​​
    其​​​​​​​中​​​​​​​包​​​​​​​括​​​​​​​了​​​​​​​許​​​​​​​多​​​​​​​子​​​​​​​目​​​​​​​錄​​​​​​​,將​​​​​​​性​​​​​​​質​​​​​​​相​​​​​​​同​​​​​​​的​​​​​​​裝​​​​​​​置​​​​​​​,例​​​​​​​如​​​​​​​ ttys、​​​​​​​SCSI 磁​​​​​​​帶​​​​​​​機​​​​​​​、​​​​​​​網​​​​​​​路​​​​​​​裝​​​​​​​置​​​​​​​、​​​​​​​與​​​​​​​其​​​​​​​它​​​​​​​雜​​​​​​​項​​​​​​​裝​​​​​​​置​​​​​​​等​​​​​​​,放​​​​​​​在​​​​​​​一​​​​​​​起​​​​​​​。​​​​​​​
  4. /block/ 目​​​​​​​錄​​​​​​​
    這​​​​​​​目​​​​​​​錄​​​​​​​中​​​​​​​的​​​​​​​子​​​​​​​目​​​​​​​錄​​​​​​​,分​​​​​​​別​​​​​​​為​​​​​​​系​​​​​​​統​​​​​​​上​​​​​​​各​​​​​​​別​​​​​​​的​​​​​​​ block device(區​​​​​​​塊​​​​​​​裝​​​​​​​置​​​​​​​):大​​​​​​​部​​​​​​​分​​​​​​​是​​​​​​​磁​​​​​​​碟​​​​​​​類​​​​​​​的​​​​​​​裝​​​​​​​置​​​​​​​,例​​​​​​​如​​​​​​​實​​​​​​​體​​​​​​​ DASD、​​​​​​​loopback 裝​​​​​​​置​​​​​​​、​​​​​​​以​​​​​​​及​​​​​​​軟​​​​​​​體​​​​​​​ RAID block device 等​​​​​​​等​​​​​​​。​​​​​​​拿​​​​​​​較​​​​​​​早​​​​​​​的​​​​​​​ Linux 系​​​​​​​統​​​​​​​與​​​​​​​使​​​​​​​用​​​​​​​ sysfs 的​​​​​​​系​​​​​​​統​​​​​​​比​​​​​​​較​​​​​​​,後​​​​​​​者​​​​​​​明​​​​​​​顯​​​​​​​需​​​​​​​要​​​​​​​需​​​​​​​要​​​​​​​用​​​​​​​ sysfs 名​​​​​​​稱​​​​​​​來​​​​​​​指​​​​​​​向​​​​​​​裝​​​​​​​置​​​​​​​。​​​​​​​在​​​​​​​ 2.4 核​​​​​​​心​​​​​​​的​​​​​​​作​​​​​​​業​​​​​​​系​​​​​​​統​​​​​​​裡​​​​​​​,zFCP 驅​​​​​​​動​​​​​​​程​​​​​​​式​​​​​​​會​​​​​​​傳​​​​​​​到​​​​​​​裝​​​​​​​置​​​​​​​位​​​​​​​址​​​​​​​中​​​​​​​;但​​​​​​​在​​​​​​​ 2.6 核​​​​​​​心​​​​​​​中​​​​​​​,驅​​​​​​​動​​​​​​​程​​​​​​​式​​​​​​​會​​​​​​​以​​​​​​​ 0.0.1600 傳​​​​​​​送​​​​​​​。​​​​​​​