character device 파일 대신 sysfs 파일을 쓰는 이유는?
글쓴이: kkb / 작성시간: 금, 2011/04/22 - 11:21오후
디바이스 드라이버를 제어할 때,
sysfs를 이용해서 제어하도록 많이 구현하는데
왜 character device 파일 대신 sysfs 파일을 쓰는 건가요?
sysfs가 read, write 처리가 쉽고 간단하다는 말을 많이 듣습니다 (proc과 같이)
매개변수 형식에 따라서 다양한 입력도 가능하고요
그런데 character device 파일을 이용해도
sysfs에서 하는 것 처럼 쉽고 간단하게 read, write 처리할 수 있고 매개변수 형식에 따라 다양한 입력도 가능하지 않나요?
read 함수와 write 함수를 어떻게 구현하는지의 차이인데
sysfs에서 하는 것과 character device 파일로 하는 것의 큰 차이를 모르겠습니다
제가 보기에 sysfs의 이점은 /sys 디렉토리에서 트리로 구조화시켜주는 것이 최대 이점인 것 같은데
혹시 이 이점 때문에 sysfs를 쓰는 것인지
이점이 "구조화" 밖에 없는지 아니면 다른 장점들이 더 많은지 궁금합니다
.
같은 맥락에서의 질문인데
예전 버전에서는 sysfs 이전에 procfs를 많이 썼는데
마찬가지로 예전 버전에서 디바이스 드라이버를 제어할 때
character device 파일을 이용하지 않고 왜 proc 파일로 제어하도록 구현했을까요?
커널 데이터를 제어하는 모든 경우를 말하는 것이 아닙니다
디바이스 드라이버 제어에 관해서만 말하는 것입니다
Forums:
요즘은 debugfs도 많이 사용합니다.
요즘은 debugfs도 많이 사용합니다.
구현이 더 간단합니다.
구현이 더 간단합니다.
========================
조직 : E.L.D(Embedded Linux Developer/Designer)
블로그 : poplinux@tistory.com
카페 : cafe.naver.com/poplinux
임베디드 리눅스 관련 프리렌서 지향
그냥
그냥 제가 이해하는 바로는:
2.4까지는 character driver를 주로 썼습니다.
2.6 와서 platform driver 개념이 들어왔고요.
character driver는
하나하나가 major/minor number를 받아야 하고,
이걸 /dev에 관리해 줘야 합니다.
사용하기 간단할 수도 있지만, 확장성 있는 방법인지는 잘 모르겠습니다.
sysfs는 각 object들의 property를 구조적(혹자는 객체지향적이라고도 하더만요)으로
표현하기 때문에,
각 device object에서 자기가 원하는 entry를 쉽게 export할 수 있습니다.
댓글 달기