sysfs
sysfs는 리눅스 커널이 제공하는 가상 파일 시스템의 하나로서, 가상 파일을 통해 다양한 커널 하위 시스템, 하드웨어 장치, 또 커널 장치 모델에서 사용자 공간에 이르는 관련 장치 드라이버에 대한 정보를 내보낸다. 다양한 장치와 커널 하위 시스템의 정보를 제공하는 일뿐 아니라, 내보낸 가상 파일들은 이들의 구성에도 사용된다.
sysfs는 BSD 운영 체제에서 볼 수 있는 sysctl 구조와 비슷한 기능을 제공하며, 차이점으로는 sysfs가 목적에 따라 만들어진 커널 매커니즘이 아닌 가상 파일 시스템으로 구현되어 있다는 것이다.
역사
편집버전 2.5 개발 중 리눅스 드라이버 모델이 도입되면서 버전 2.4의 단점 몇 가지를 수정하였다:
sysfs는 장치 트리에 표현되는 정보를 내보낼 목적으로 설계되었으며 더 이상 procfs에 과도한 정보를 포함하지 않는다. 패트릭 모첼(Patrick Mochel)이 작성하였다.[1][2] 나중에 마니시 소니(Maneesh Soni)가 대형 시스템에서 메모리 사용량을 줄이기 위해 sysfs 보조 기억 패치를 작성하였다.
버전 2.5 개발의 이듬해에 드라이버 모델과, 과거에는 ddfs로 불리던 driverfs의 하부 구조적 기능들이 다른 하위 시스템에도 유용하다는 것이 입증되기 시작하였다.[3][4] 중점적인 오브젝트 구조를 제공하기 위해 kobjects가 개발되었으며 하위 시스템의 본질을 다 이해하는 것은 불가능하다는 것을 표현하기 위해 driverfs는 sysfs로 이름이 바뀌었다.
sysfs는 /sys
라는 마운트 지점 아래에 마운트된다.
지원 버스
편집sysfs와 사용자 공간
편집sysfs는 여러 유틸리티들이 하드웨어 및 이에 연결되는 드라이버(커널 모듈, 예를 들어 udev나 HAL)의 정보에 접근하는데 쓰인다. 과거에 procfs를 통해 수집된 정보에 접근하기 위해 스크립트가 작성되며 일부 스크립트들은 장치 드라이버와 장치를 이들의 속성을 통해 구성한다.
같이 보기
편집각주
편집- ↑ Torvalds, Linus (2002년 10월 18일). “Linux v2.5.44 - and offline for a week”.
- ↑ Torvalds, Linus (2002년 11월 4일). “Linux v2.5.46”.
- ↑ Mochel, Patrick (2001년 10월 17일). “[RFC] New Driver Model for 2.5”.
- ↑ Jansen, Tim (2001년 11월 1일). “Re: [PATCH] 2.5 PROPOSAL: Replacement for current /proc of shit.”.
외부 링크
편집- (영어) Driver model overview from the LWN porting to 2.6 series
- (영어) kobjects and sysfs from the LWN porting to 2.6 series
- (영어) Ramfs
- (영어) The sysfs Filesystem, OLS'05
- (영어) Documentation/filesystems/sysfs.txt Linux kernel documentation for sysfs