/sys도 /proc과 비슷한 가상 파일시스템이지만 「디바이스·드라이버·하드웨어」에 특화되어 있습니다.
2.6 커널부터 등장한 모던 인터페이스로, /proc의 산만함을 정리한 후속작.
주요 영역.
/sys/block — 블록 디바이스(디스크).
/sys/class — 디바이스 종류별(net·sound·input).
/sys/devices — 실제 하드웨어 트리.
/sys/module — 로드된 커널 모듈.
모두 「디바이스·하드웨어 정보의 정리된 뷰」.
활용.
1) 네트워크 카드 정보.
cat /sys/class/net/eth0/address — MAC 주소.
cat /sys/class/net/eth0/speed — 링크 속도.
2) 배터리.
cat /sys/class/power_supply/BAT0/capacity — 충전 %.
3) CPU 주파수.
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq.
udev와 통합.
디바이스 연결·제거 이벤트가 /sys 변화로 표현되고, udev 데몬이 이를 감지해 /dev에 디바이스 파일 만들고 규칙 실행.
USB 꽂으면 즉시 사용 가능한 게 이 메커니즘.
/proc과의 분담.
/proc은 「프로세스 + 일부 시스템 정보」, /sys는 「디바이스·드라이버」.
둘이 명확하게 분리되어 있지는 않지만, 모던 도구들은 디바이스 정보는 /sys에서 찾는 추세.
한 줄 요약
/sys는 디바이스·드라이버 정보의 가상 파일시스템(2.6 커널~).
/sys/class·devices·module이 주요.
udev와 통합해 디바이스 연결 이벤트 감지.
/proc보다 모던하게 정리.
더 알아볼 것
- udev rules — /etc/udev/rules.d/
- sysfs 표준화 노력
- Linux Device Drivers 책