어떤 장치가 연결되면 커널은 어떤 드라이버를 로드해야 하는지 어떻게 알 수 있습니까?
메이저-마이너 번호를 기반으로 한 것 같은데 장치가 연결되었을 때 메이저 번호가 어떻게 감지되는지 모르겠습니다. 메이저 번호는 제조업체에서 할당하는 것입니까, 아니면 무엇입니까?
답변1
Linux 장치 모델이 이를 처리합니다. 장치를 등록하고 장치 이름을 연결할 때 시작됩니다.
장치와 동일한 이름을 가진 드라이버를 등록하는 순간 장치와 드라이버 간의 바인딩이 이루어집니다.
플랫폼 장치 및 플랫폼 드라이버의 예를 고려하십시오. 둘 다 이름이 같으면 바인딩됩니다.
메이저 및 마이너 번호에 관해서는 char 장치 드라이버의 경우에 나타나며 사용자 공간 애플리케이션과 (char) 드라이버 간의 바인딩에 사용됩니다.