플러그 앤 플레이 요구 사항

플러그 앤 플레이 요구 사항

플러그 앤 플레이는 리소스 충돌을 해결하기 위해 물리적 구성이나 사용자 개입 없이 시스템의 하드웨어 구성 요소를 검색하는 데 도움이 됩니다.

하지만 플러그 앤 플레이가 작동하려면 하드웨어 및/또는 소프트웨어에 대한 특별한 요구 사항이 있는지 궁금합니다. USB의 예를 들어보겠습니다. 표준 Microsoft 드라이버를 사용하려면 USB 메모리 스틱이나 USB 디스크에 대한 요구 사항이 있습니까?

답변1

"플러그 앤 플레이"는 원래 ISA 이후의 PCI 장치에서 운영 체제가 소비하는 리소스를 선택할 수 있도록 허용하는 방법을 의미하는 Windows 관련 용어입니다. BIOS는 DOS에서도 이 작업을 수행할 수도 있고, 한 발 물러나 Windows가 완전히 수행하도록 할 수도 있습니다.

리소스는 A) 메모리 주소, B) I/O 주소, C) IRQ 및/또는 D) DMA 채널입니다. 이들 각각, 여러 개 또는 전부는 장치에서 CPU와 통신하는 데 사용될 수 있습니다.

따라서 원래 "플러그 앤 플레이" 드라이버는 장치를 초기화하는 방법, 즉 다른 장치에서 사용하지 않는 리소스를 사용하도록 장치를 구성하는 방법을 이해할 수 있는 드라이버였습니다.

플러그 앤 플레이의 또 다른 중요한 부분은 장치 자체를 식별하는 표준 방법입니다. PCI(및 ISAPNP도 가능)는 각 장치가 고유한 공급업체 및 장치 ID를 갖도록 규정합니다. 이것은 USB로 이어졌습니다. 따라서 호스트 OS는 장치가 "무엇"인지 알아내고 적절한 드라이버를 로드할 수 있습니다.

이제 "핫 플러그 ​​가능"하도록 설계된 장치에 들어가면 약간 다르지만 분명히 "플러그 앤 플레이"라는 용어가 이를 설명하는 데 사용됩니다. 대부분의 핫 플러그 ​​가능 장치는 핫 플러그 ​​가능하지 않은 장치에 의해 "호스팅"됩니다. USB 장치는 일반적으로 플러그 앤 플레이를 통해 할당되는 하나 이상의 리소스를 소비하는 PCI 장치인 USB 컨트롤러에 의해 "호스팅"됩니다. USB 버스를 통해 장치와 통신하려면 USB 컨트롤러를 "통과"해야 합니다. SCSI, IDE 및 SATA 장치에도 비슷한 상황이 있습니다.

따라서 핫 플러그 ​​기능이 작동하려면 "호스트" 컨트롤러용 드라이버는 "상위" 장치를 나타내는 드라이버에 무슨 일이 일어나고 있는지 알려주는 메커니즘이 필요합니다. 즉, USB 컨트롤러 드라이버는 USB 대용량 저장 장치 드라이버에 장치가 연결 해제되었습니다. "상위" 드라이버에는 재부팅할 때까지 상주하는 대신 제거 요청 시 완전히 종료될 수 있는 코드가 있어야 합니다.

USB, SCSI, SATA와 같은 대부분의 버스 유형은 드라이버가 인식하고 구현해야 하는 표준에 의해 관리됩니다.

하드웨어 수준에서 대부분의 핫 플러그 ​​가능 장치는 커넥터의 일부가 정전기를 방전하고, 전원을 전달하는 핀이 데이터를 전달하는 핀보다 몇 분의 1초 전에 연결되도록 설계되었습니다. USB 및 SATA 커넥터 핀을 자세히 살펴보십시오. 이것이 일부가 다른 것보다 긴 이유입니다. IDE 커넥터는 이 작업을 수행하지 않으며 핫플러깅에 안전하지 않습니다.

답변2

제가 아는 한 전체 플러그 앤 플레이 "마법"에는 두 가지 필수 핵심 부분만 있습니다.

  • 소프트웨어는 연결된 일부 새로운 하드웨어(예: USB 표준의 일부)를 식별할 수 있어야 합니다.
  • 하드웨어를 식별할 수 있습니다. 특별 요청을 사용하면(공급업체별 드라이버를 사용하지 않고) 고유 ID를 검색할 수 있습니다(일반적으로 공급업체 ID와 장치/하드웨어 ID로 구성됨). 운영 체제는 이를 사용하여 사용자에게 먼저 묻지 않고도 특정 하드웨어 부분을 식별하고 올바른 드라이버를 설치할 수 있습니다.
  • (선택 사항:) 하드웨어 및 소프트웨어(드라이버)는 재부팅하지 않고도 이상적으로 작동해야 합니다.

제공된 표준 드라이버를 사용하려면 하드웨어가 전송되는 명령에 대한 올바른 반응을 구현해야 합니다(즉, 하드웨어가 올바른 "언어"를 말해야 함). 하드웨어 종류에 따라 이는 일반적으로 표준화되어 있습니다(예:USB 대용량 저장 장치).

관련 정보