Linux 장치 드라이버 "도메인" 간의 관계는 무엇입니까?

Linux 장치 드라이버 "도메인" 간의 관계는 무엇입니까?

Linux 장치 드라이버와 전원 관리 API에 대해 읽으면서 "시스템 수준", "하위 시스템", "플랫폼", "클래스" 등과 같은 용어를 계속 접하게 되었습니다.

그들 사이의 관계는 무엇입니까? 시스템이 플랫폼의 하위 유형인가요? 아니면 시스템과 플랫폼이 포괄관계 없이 병렬적으로 존재하는 걸까요? "클래스"는 "시스템"과 어떻게 다릅니까? 각 도메인의 용도는 무엇입니까(예: 특정 기능을 구현하려는 경우 클래스 수준 기능이어야 하나요, 플랫폼 기능이어야 하나요, 아니면 기타 등등)?

요컨대, 누군가 나에게 이러한 다른 것들이 무엇인지 설명해 줄 수 있습니까?

답변1

이것들은 정의하기 어렵습니다. 일반적으로 장치 열거의 맥락에서,

  • "플랫폼" 장치는 일반적으로 PC에서 발견되거나 일반적으로 Raspberry Pi에서 발견됩니다.

    커널은 PC나 RPi에서 실행되도록 컴파일되었기 때문에 이를 찾기 시작합니다. 일부 메인보드 구성 요소, CPU 및 메모리가 이 범주에 속합니다.

  • "하위 시스템"은 기본적으로 다양한 하드웨어에 대해 유사한 기능을 가진 드라이버 그룹입니다.

    그런 다음 개별 드라이버는 차례로 다른 하위 시스템의 드라이버를 사용할 수 있습니다. 예를 들어, "사운드" 하위 시스템 드라이버는 개별 사운드 카드를 처리하고 공통 사운드 카드 인터페이스를 제공하는 반면, 드라이버는 사용된 사우스브리지 칩 유형에 관계없이 PCI 하위 시스템을 사용하여 사운드 카드를 찾을 수 있습니다.

  • "클래스" 드라이버는 공통 인터페이스를 구현하는 다양한 공급업체의 장치를 처리합니다.

    이는 대용량 저장 장치에 대한 표준이 있고 단일 드라이버가 호환된다고 주장하는 모든 장치를 처리하는 USB 장치에 일반적입니다.

관련 정보