학생 과제에서 저는 Linux 커널이 연결된 장치의 구성을 어떻게 검색하는지 추적해 달라는 요청을 받았습니다. 예를 들어, 새 프린터가 시스템에 연결되었습니다. 내가 아는 한 유틸리티의 모든 기능(예: 공급업체 이름, 모델, 장치 번호 등)은 디렉터리 device
에 저장된 파일 에 새 하드웨어 정보를 추가하기 전에 커널 모드에서 평가됩니다. /proc
사용 가능한 새 장치를 감지하면 커널이 어떻게 작동하는지 제어할 수 있습니다. 그렇지 않으면 커널이 장치가 연결되어 있음을 감지하고 해당 구성 정보를 수집하고 저장하기 시작하는 방법을 여전히 이해하지 못합니다 proc
. 장치 삽입과 데이터를 파일 시스템으로 전달하는 사이에 어떤 일이 발생하는지 명확하게 설명하는 합리적이고 심층적인 설명이 있습니까? 장치 드라이버는 이 데이터를 어느 정도까지 추출할 수 있습니까?
답변1
- 장치가 감지되면 udev가 작동됩니다.https://linux.die.net/man/8/udev
- 이 문서에서는 컴퓨터 전원이 켜져 있을 때 장치를 감지하는 방법을 설명합니다.https://stackoverflow.com/questions/18854931/how-does-the-os-Detect-hardware
- USB의 경우 USB 하위 시스템은 장치가 연결되면 이를 감지합니다. 이봐:http://www.linux-usb.org/USB-guide/x75.html