sysfs는 리눅스 커널 2.4에서 /proc 디렉토리 아래에 무질서하게 놓여 있던 디바이스와 관련된 정보들을
리눅스 커널 2.6에서는 sysfs를 이용하여 좀더 체계적으로 표현하기 위해 사용하고 있습니다.

sysfs는 가상 파일 시스템으로 루트 파일 시스템(/)에 sys라는 이름의 디렉토리에 마운트 됩니다.
sysfs도 proc파일 시스템 처럼 파일의 읽기/쓰기/변경 등은 그 권한에 따라 사용자가 이용할 수 있습니다.

또한 sysfs는 하드웨어 구성 정보와 디바이스 드라이버 정보가 통일된 계층으로 보이게 하기 위한 파일 시스템입니다.
이를 위하여, 시스템에서 동작하는 디바이스들의 연결 관계를 출력하기 위해 kobject라는 데이터 구조를 이용합니다.

sysfs는 하드웨어의 핫 플러그도 대응 하며, 핫 플러그 동작에 맞추어 sysfs 내의 해당 파일이 생성/삭제를 구성 할 수 있게 됩니다.

sysfs를 사용하기 위해서는 커널의 CONFIG_SYSFS가 정의 되어 있어야 하며 다음과 같이 mount 하여 사용 합니다.
mount -t sysfs sysfs /sys

다음은 현재 Ubuntu 11.04 버전의 /sys 디렉토리 아래에있는 가장 첫번째 단계의 디렉토리 구성입니다.

/sys
├── block
├── bus
├── class
├── dev
├── devices  
├── firmware
├── fs
├── kernel
├── module
└── power