기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

커널 2.6에 보면 디바이스 드라이버에 udev란 것에 대한 글을 종종 보게 됩니다.
그런데 어떤내용인지 잘모르니 대화의 내용을 이해할 수가 없더군요
시간을 느긋하게 가지고 설명을 해주시면 감사하겠습니다.

그럼 모두 행복하세요 ^^

profile

김재훈

2008.09.05 00:18:55
*.162.4.197

udev는 커널 2.6대 부터 도입된 리눅스의 새로운 디바이스 파일 시스템 입니다. 간단하게 설명하자면, udev가 도입되기 이전에는, /dev/ 디렉터리 밑에 디바이스 파일을 메이저 번호와 마이너 번호 별로 직접 생성해줬습니다.

하지만, udev는 디바이스 드라이버가 올라갈 때 동적으로 /dev/ 디렉터리에 장치를 생성해 줍니다.

플러그앤플레이 개념이 생기면서, 도입된 것이고요.

임베디드 시스템에서는 플러그앤플레이 개념이 없기 때문에, 사실상 udev는 부팅 속도만 느려지게 하는 귀찮은 존재로 받아들이고 있습니다. :)
그래서 udev 일부로 안쓰시는 분들도 많아요. ^^

하지만, 요즘 최신 커널들은 전부다 udev 기반이기 때문에, 임베디드 시스템에서도 커널 버전 높은 것들은 udev를 쓰죠.. 대세는 어쩔 수 없나 봅니다.

고현철

2008.09.05 20:56:45
*.94.41.89

udev는 kernel device model의 마지막 부분이라고 보시면 됩니다.

1. kernel device model은 커널 통합관리 시스템이다.
2. device들은 /sys에 모두 나타나게 되어 있고, 그렇게 작성되어야 한다.
3. /sys를 udev가 모니터링하면서 /dev에 device file들을 자동생성해준다.
4. 이때 hotplug도 처리를 같이하게 되고, 그 hotplug처리된 메세지를 D-BUS를 통해서 상위단으로 전해주게 된다.

입니다.

서종범

2008.09.08 18:12:39
*.57.58.48

제가 제대로 이해한 것인지 확인겸 질문을 올리겠습니다.
첫째로 2.4에서는 아래와 같이 devfs_register_chrdev()함수를 사용하여 /dev밑에 노드를 생성하는 함수를 사용하여 드라이버를 생성하였는데..
g_ttd_major = devfs_register_chrdev(0,MODULE_NAME_TTD,&g_ttd_fops);
2.6에서는 /sys밑에 드라이버의 정보를 생성하게 하고 이것을 보고
udev가 /dev/밑에 노드를 만든다는 것인가요?
두번째로 제가 첫번째를 정상적으로 이해한 것이라면 2.6에서는 /sys밑에
드라이버의 정보를 넘겨주는 구조체를 이용하는 함수가 어떤것이 있는가요? 간단한 예시를 좀^^;; 알려주시면 감사하겠습니다.

서종범

2008.09.08 19:33:48
*.57.58.48

아 자답이네요 강좌란에 있는 자료를 보고 이해를 했습니다. ^^
도움을 주신 모든 두분께 감사를 드립니다.^^
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
528 [질문] x86(AMD geode LX800) 보드는 구입이 가능한가요?[완료] [12] 김성주 2007-03-15 8958
527 [질문] ARM 64 비트 코어는 언제쯤 출시 되나요 ??? [3] 장석원 2007-03-15 767
526 [질문] bootloader의 로고를 부팅시에도 유지하고 싶습니다. [완료... [8] 성진호 2007-03-14 1119
525 [질문] 이솝보드 질문입니다. [1] 수연 2007-03-14 751
524 [완료] qt 에 tslib를 포함하려고합니다. [1] 문철민 2007-03-14 882
523 [완료] s3c2440 + WLAN + ENCODER + DECODER [5] 이동규 2007-03-14 866
522 [완료] 이솝보드에서 쓸수 있는 kermit이나 zmodem 프로그램이 있나... [3] 수연 2007-03-14 1049
521 [질문] aesop 커널 printk...[완료] [3] 전병우 2007-03-13 688
520 [질문] 고수님들의 초보 시절...?[완료] [5] 전병우 2007-03-13 680
519 [질문]자작 보드 테스트 중에... [완료] [6] 노희준 2007-03-13 1026
518 [질문] 화면을 TV Composite로 출력하는데 화면비율이 정해져 있나... [2] 양용현 2007-03-13 945
517 [질문] gdb 컴파일하는 방법 좀 가르쳐 주세요. [3] 이창만 2007-03-10 915
516 [완료] su: /bin/bash: Permission denied 서브계정으로 로그인시 ... [5] 문철민 2007-03-10 1315
515 [질문] LCD용 컨넥터 구입처를 알수있을까요? [완료] [3] 성진호 2007-03-10 743
514 [질문] 터치 드라이버에서 adc 데이터레지스터를 읽어오는값이 틀립... 문철민 2007-03-09 801
513 [질문] lan이 수신이 안됩니다. [완료] [1] 성진호 2007-03-08 653
512 [완료]NAND만 있는 제품을 만들려 합니다. [5] 강경완 2007-03-08 840
511 vmware 질문 드립니다. [3] 김유석 2007-03-08 1941
510 [질문] boost library cross빌드 성공하신분 있나요??? 김창연 2007-03-08 638
509 [완료]cdev_init() 함수에 대해서 질문 드립니다. [2] 김유석 2007-03-08 941

사용자 로그인