sysfs

위키百科, 우리 모두의 百科事典.

sysfs 리눅스 커널 이 提供하는 假想 파일 시스템 의 하나로서, 假想 파일 을 통해 多樣한 커널 下位 시스템, 하드웨어 裝置, 또 커널 裝置 모델에서 使用者 空間 에 이르는 關聯 裝置 드라이버 에 對한 情報를 내보낸다. 다양한 裝置와 커널 下位 시스템의 情報를 提供하는 일뿐 아니라, 내보낸 假想 파일들은 이들의 構成에도 使用된다.

sysfs는 BSD 運營 體制 에서 볼 수 있는 sysctl 構造와 비슷한 機能을 提供하며, 差異點으로는 sysfs가 目的에 따라 만들어진 커널 매커니즘이 아닌 假想 파일 시스템으로 具現되어 있다는 것이다.

歷史 [ 編輯 ]

버전 2.5 開發 中 리눅스 드라이버 모델이 導入되면서 버전 2.4의 短點 몇 가지를 修正하였다:

  • 統一된 方式으로 表現되는 드라이버 裝置 關係가 存在하지 않았다.
  • 包括的인 핫플러그 構造가 없었다.
  • procfs 에 프로세스와 無關한 너무 많은 情報가 包含되어 있었다.

sysfs는 裝置 트리 에 表現되는 情報를 내보낼 目的으로 設計되었으며 더 以上 procfs에 過度한 情報를 包含하지 않는다. 패트릭 某첼(Patrick Mochel)李 作成하였다. [1] [2] 나중에 摩尼視 소니(Maneesh Soni)가 大型 시스템에서 메모리 使用量을 줄이기 爲해 sysfs 補助 記憶 패치를 作成하였다.

버전 2.5 開發의 이듬해에 드라이버 모델과, 過去에는 ddfs로 불리던 driverfs의 下部 構造的 機能들이 다른 下位 시스템에도 有用하다는 것이 立證되기 始作하였다. [3] [4] 重點的인 오브젝트 構造를 提供하기 爲해 kobjects 가 開發되었으며 下位 시스템의 本質을 다 理解하는 것은 不可能하다는 것을 表現하기 위해 driverfs는 sysfs로 이름이 바뀌었다.

sysfs는 /sys 라는 마운트 地點 아래에 마운트된다.

支援 버스 [ 編輯 ]

PCI
PCI 裝置의 情報를 내보낸다.
USB
USB 裝置와 USB 호스트를 둘 다 包含한다.
S/390 버스
S/390 構造는 어느 곳에서도 볼 수 없는 裝置를 包含하고 있어서 特殊 버스가 만들어졌다:
  • css : 下位 채널들을 包含한다. (現在 提供되는 唯一한 드라이버는 入出力 下位 채널을 위해 存在함)
  • ccw : 채널 附着 裝置들을 包含한다. ( CCW )로 驅動)
  • ccwgroup : 使用者가 만들어 ccw 裝置를 이루는 人工 裝置들. 2.4 chandev 機能 一部를 代替한다.
  • iucv : VM의 IUCV 인터페이스를 使用하는 netiucv 裝置와 같은 人工 裝置들.

sysfs와 使用者 空間 [ 編輯 ]

sysfs는 여러 유틸리티들이 하드웨어 및 이에 連結되는 드라이버( 커널 모듈 , 例를 들어 udev HAL )의 情報에 接近하는데 쓰인다. 過去에 procfs 를 통해 蒐集된 情報에 接近하기 위해 스크립트가 作成되며 一部 스크립트들은 裝置 드라이버와 裝置를 이들의 屬性을 통해 構成한다.

같이 보기 [ 編輯 ]

各州 [ 編輯 ]

  1. Torvalds, Linus (2002年 10月 18日). “Linux v2.5.44 - and offline for a week” .  
  2. Torvalds, Linus (2002年 11月 4日). “Linux v2.5.46” .  
  3. Mochel, Patrick (2001年 10月 17日). “[RFC] New Driver Model for 2.5” .  
  4. Jansen, Tim (2001年 11月 1日). “Re: [PATCH] 2.5 PROPOSAL: Replacement for current /proc of shit.” .  

外部 링크 [ 編輯 ]