udev/uevent는 어떻게 작동하나요?

udev/uevent는 어떻게 작동하나요?

그래서 나는 udev에 대한 나의 설명과 그것이 어떻게 작동하는지 알고 싶습니다. 나의 이해가 정확하다면 알려주십시오.

그래서 내 이해는우데브그게 다야동적 장치 관리자입니다리눅스에서데몬으로 실행.

  • 언제 기기 변경예를 들어 장치가 연결되어 있는 경우커널은 다음을 보냅니다. 이벤트udev에,그런 다음 udev는 sysfs로 이동하여 장치 세부 정보를 찾을 수 있습니다.예를 들어 공급자, 장치 이름 및 모델 등이 있습니다.
  • 일단 세부사항을 갖고 나면장비, 그런 다음 Udev는 이러한 속성을 규칙과 일치시킵니다.s는 특정 유형의 장치로 설정됩니다. 이 경우 USB 장치일 수 있습니다. "모든 USB 장치에 대한 심볼릭 링크 만들기"와 같은 규칙이 있으면 udev가 이를 수행합니다. udev는 규칙을 확인하고 속성을 일치시켜 장치의 유효성을 검사한 다음 장치에 변경 사항을 추가하고 장치에서 규칙에 지정된 작업을 수행하기 시작할 수 있습니다.

이것은 기본적으로 제가 현재 이해하고 있는 내용입니다. 제가 틀렸다면 정정하고 추가 정보를 알려주시기 바랍니다.

답변1

UDEV

우데브(Udev)는 "사용자 공간 /dev"리눅스 커널용 장치 관리자입니다.그것은 일부이다체계(하나내부에시스템부트로더 사용자 공간그리고 관리하다사용자 프로세스).

처음에는우데브systemd와 독립적입니다.병합2012에서는 systemd를 사용하는데, 설명된 대로 systemd 없이 배포판을 실행할 때 약간의 복잡성이 발생합니다.이건 젠투의 것분배하다.

이 응용 프로그램(udev)은 다음을 대체하도록 설계되었습니다.파일 시스템 개발그리고핫스왑, udev는 주로 /dev디렉터리의 장치 노드를 관리합니다. 동시에 udev는 하드웨어 장치가 시스템에 추가되거나 제거될 때 발생하는 모든 사용자 공간 이벤트도 처리합니다.펌웨어 로딩특정 장치의 요구 사항에 따라(통과하다커널 모듈). 특히 udev는 시스템 서비스로 실행됩니다(systemd-udevd.service) 작업을 완료하기 위해 수신합니다.핵심이벤트. 각 이벤트에 대해 systemd-udevd는 다음에 지정된 일치 지시문을 실행합니다.udev 규칙(/etc/udev/rules.d/), 규칙 작성에 대한 자세한 내용은 여기에서 확인할 수 있습니다.기사.

Linux 커널 수준에서 필요한 장치 정보는 sysfs 파일 시스템에 의해 내보내집니다. 커널이 감지하고 초기화한 각 장치에 대해 장치 이름으로 디렉터리가 생성됩니다. 여기에는 장치별 속성이 있는 속성 파일이 포함되어 있습니다. 장치가 추가되거나 제거될 때마다 커널은 udev에 변경 사항을 알리기 위해 uevent를 보냅니다.

udev 데몬(서비스)의 동작은 다음 명령을 사용하여 구성할 수 있습니다.udev.conf(5)(/etc/udev/udev.conf), 해당 명령줄 옵션, 환경 변수 및 커널 명령줄에서 또는 동적으로 변경됨우드바뎀제어.

udev는 전체적으로 세 부분으로 나뉩니다:

  • 장치 정보에 액세스할 수 있는 libudev 라이브러리입니다.
  • 사용자 공간 데몬(sytemd) udevd는 가상 /dev를 관리합니다.
  • 진단을 위한 관리 명령줄 유틸리티 udevadm.

Udev 자체는 이 세 부분으로 나누어져 있지만 시스템이 netlink 소켓을 통해 커널에서 가져오는 커널 장치 관리와 uevents 호출에 전적으로 의존합니다. 이전 버전에서는 핫플러그를 사용했는데, 이 경우 자체 링크가 /etc/hotplug.d/default에 추가되었습니다.

다른 응용 프로그램/데몬은 uevents 호출을 수신할 수 있습니다.리브데프,구데프또는 커널에서 직접 사용GUdev 클라이언트

udev에 대한 자세한 내용은 이 답변의 소스에서 찾을 수 있습니다. 데비안 위키,아치 리눅스 위키,오픈소스 웹사이트,괴짜 일기,무료 데스크톱 웹사이트,위키피디아,pks.mpg.de및 기타 링크된 웹사이트.

udev 작업 레이어에 대한 자세한 설명여기그리고 이 그림을 사용하여 설명하세요.

여기에 이미지 설명을 입력하세요.

관련 정보