This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.

Please visit our production wiki at https://wiki.gentoo.org

/dev

From Gentoo Wiki (test)
Jump to:navigation Jump to:search
This page is a translated version of the page /dev and the translation is 100% complete.

/dev 디렉터리

Most Linux users understand that /dev/sda1 is just a fast way of referring to the first partition on the first disk that the kernel found. That's pretty easy, right?

그런데 USB, IEEE1394, 착탈 가능 PCI 등의 착탈 가능 장치를 고려할 때, 어떤 장치가 첫번째 장치일까요? 얼마나 오래 붙어있을까요? 처음 장치를 떼어냈을 때, 다른 장치에 이름을 어떻게 붙일까요? 트랜잭션에 어떻게 영향을 미칠까요? 누군가의 엄마가 고성능 레이저 프린터(첫번째 프린터에 해당)의 전원 플러그를 뽑기로 해서 인쇄 작업이 거의 맛이 간 매트릭스 프린터로 옮겨간다면 재밌는 일이 되지 않을까요?

장치 관리자에 들어가보겠습니다. (udeveudev 같은) 최신 장치 관리자는 다음 역할을 수행합니다:

  • 사용자 영역에서 실행합니다
  • 동적으로 장치 파일en을 만들고 제거합니다
  • 일관성 있는 이름을 제공합니다
  • 사용자 영역 프로그램 인터페이스(API)를 제공합니다.

항상 변경은 장치 구조내에서 일어나며 커널에서는 udev에서 받을 uevent를 쏴보냅니다. udev/etc/udev/rules.d, /run/udev/rules.d, /lib/udev/rules.d 디렉터리에 선언한 규칙을 따릅니다. uevent에 들어간 정보를 기반으로 규칙 또는 실행이 필요한 규칙을 찾고 요구한 동작을 수행합니다. 이 동작은 장치 파일을 만들거나 삭제하는 행위가 될 수 있겠지만 펌웨어 파일을 커널 메모리로 불러오는 작업을 실행하는 동작이 될 수도 있습니다.