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

커널 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
번호 제목 글쓴이 날짜 조회 수
528 [질문]MP2530 1차 수리의 건 변효현 2009-09-29 502
527 CPU에 MAC이 들어있을경우 PHY만으로 네트웍 드라이버를 설정하는... [3] 최강산 2009-09-29 1031
526 kegel home의 cross-toolchain 0.43을 사용하는데.. [7] 푸른하늘 2009-09-29 864
525 mp2530 부트로더상에 이미지를 띄우는 거에 대한 질문입니다. [4] 김영일 2009-09-26 661
524 기존 툴체인에 glibc나 newlib를 추가할 수 있나요? [2] 이예빈 2009-09-25 710
523 사운드 믹싱과 관련된 알고리즘이나 코드들이 있는지요? [2] just4you 2009-09-25 691
522 gettext를 locale이 없는 타겟에서 사용할 때.. [3] 황세진 2009-09-23 608
521 Mplayer -1.0 rc2 컴파일시 에러 날떄.. [2] 최종환 2009-09-23 656
520 웹 브라우저를 통한 네트워크 설정방법을 알려주세요~ 황원재 2009-09-23 614
519 kernel 버전이 변경되면 RFS의 어떤 부분이 함께 변경되어야 하나... [1] 이현배 2009-09-22 585
518 GPL 소스를 몇 % 이상 수정하면 GPL 적용을 안 받는지요 ? [3] 장석원 2009-09-19 783
517 VFP 질문 [2] 홍성관 2009-09-17 872
516 Platform Builder의 Build 메뉴에 대해서 질문입니다. Signal_Man 2009-09-17 633
515 2440 사용시 소프트웨어적으로 재부팅하는 방법은?? [1] 난다 2009-09-12 634
514 리눅스에서 돌릴 수 있는 네비게이션은 어떤게 있나요? [2] 이예빈 2009-09-12 1120
513 nand BAD 관련입니다. [2] 홍환진 2009-09-10 900
512 uboot 컴파일러 좀 올려주세요... - [1] 배홍묵 2009-09-09 785
511 mdev를 이용한 device file 생성에 관해 질문드립니다.. [1] 이예빈 2009-09-09 1182
510 windows ce 키 조합에 대해 아시는 분..? just4you 2009-09-09 644
509 리눅스 커널 포팅을 해보고 싶습니다. [2] 박수민 2009-09-07 819

사용자 로그인