Linux/리눅스 시스템 관리

리눅스에서 /dev와 /sys 디렉터리

easyfly 2025. 7. 2. 06:10
반응형

리눅스에서 /dev와 /sys 디렉터리는 모두 시스템 장치와 관련되어 있지만, 목적과 사용 방식에 있어 뚜렷한 차이를 지닙니다. 다음은 이 두 디렉터리의 역할과 차이에 대한 상세한 설명입니다.


/dev: 장치 파일 (Device Files)

  • 목적: 하드웨어 장치에 접근하기 위한 장치 파일(device file) 을 저장.
  • 역할:
    • 장치를 파일처럼 취급하여 프로그램이 입출력 작업을 할 수 있도록 인터페이스 제공.
    • 예: /dev/sda, /dev/tty, /dev/null 등.
  • 특징:
    • 실제 파일이 아니라 가상 파일로, 커널이 제공하는 장치 드라이버와 연결됨.
    • udev라는 장치 관리자가 핫플러그(hotplug) 이벤트에 따라 장치 파일을 자동 생성/삭제.
  • 종류:
    • 문자 장치 (Character device): /dev/tty, /dev/random
    • 블록 장치 (Block device): /dev/sda, /dev/loop0

/sys: 시스템 정보 가상 파일 시스템 (sysfs)

  • 목적: 커널 내부 데이터와 하드웨어 정보에 접근하기 위한 구조화된 인터페이스 제공.
  • 역할:
    • 시스템 하드웨어 구성 정보를 계층적으로 보여주며, 장치 상태 조회 및 설정 가능.
    • 예: /sys/class, /sys/block, /sys/devices
  • 특징:
    • 읽기 및 쓰기 가능한 가상 파일 제공.
    • /proc와 유사하지만, /proc이 프로세스 중심이라면 /sys는 장치 중심.
    • udev도 이 정보를 바탕으로 /dev 장치 파일 생성.
  • 사용 예:
  • cat /sys/class/power_supply/BAT0/status # 배터리 상태 확인 echo 'performance' > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor # CPU 동작 모드 설정

차이점 정리

항목 /dev  /sys
주요 목적 장치 파일을 통한 입출력 인터페이스 제공 커널과 장치의 정보 구조 및 제어
생성 방식 udev에 의해 자동 생성 커널이 직접 가상 파일 시스템으로 제공
사용 대상 사용자 및 프로그램의 장치 접근 시스템 관리자, udev, 커널 정보 파악
파일 형태 문자/블록 장치 파일 구조화된 속성 파일 (읽기/쓰기 가능)
접근 예시 /dev/sda, /dev/null /sys/class/net/eth0/statistics

정리

  • /dev: 사용자 공간에서 장치와 상호작용하기 위한 장치 파일 인터페이스.
  • /sys: 커널과 장치 상태 정보를 계층적으로 노출하는 시스템 정보 인터페이스.
  • 두 디렉터리는 리눅스 커널과 사용자 공간 간의 연결 고리로써 상호 보완적인 역할을 수행.

 

반응형