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

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

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

그들 사이의 관계는 무엇입니까? 이 시스템은 플랫폼의 하위 유형입니까? 아니면 시스템과 플랫폼이 병행하여 존재하며 포괄적인 관계가 없는 걸까요? "클래스"와 "시스템"의 차이점은 무엇입니까? 각 도메인의 이점은 무엇입니까(예: 기능을 구현하려는 경우 클래스 수준 기능이어야 하는지, 플랫폼 기능이어야 하는지, 아니면 다른 기능이어야 하는지)?

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

답변1

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

  • "플랫폼" 장치는 일반적으로 PC 또는 Raspberry Pi에서 찾을 수 있습니다.

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

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

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

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

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

관련 정보