DEVICEOBJECT Device Extension Device Object Device Extension Device
DEVICE_OBJECT와 Device. Extension Device Object Device. Extension Device Extension #2 Device Extension #3 Device Extension #1
Device. Extension의 응용 Device Object(B: ) Device Object(A: ) Device. Extension Controller. Context IOPort = XXX Device Extension Controller Context
Chapter 4. 디바이스 스택 (Device Stack)
버스구조의 추상적인 모습 Mouse PCI BUS CPU MEMORY Root Hub USB Host Controller PCI Bridge PCI BUS는 USB Host Controller 를 구동시킨다 Root Hub는 연결된 Mouse 를 구동시킨다 Network Card PCI BUS PCMCIA Controller USB Host Controller는 Root Hub를 구동시킨다
USB Host Controller와 Root. Hub Root Hub PDO Root Hub USB Host Controller Driver(Driver. Object) USB Host Controller FDO
USB Host Controller와 Root. Hub Root Hub FDO Root Hub PDO PCMCIA Controller Device. Stack PCI Bus FDO IDE Controller USB Host Controller PDO Device. Stack Audio Chip Network Card USB Host Controller FDO Device. Stack Root Hub FDO Root Hub PDO
장치관리자의 연결순서별 보기 307 -00 ACPI 다중 프로세서 PC Microsoft ACPICompliant System PCI 버스 Intel® 82801 G … USB Host Controller USB 루트 허브 USB 휴먼 인터페이스 장치 HID 규격 마우스
디바이스스택과 연결순서별 보기의 비교 307 -00 PCI FDO PCI. SYS PCI PDO ACPI. SYS UHost FDO USBUHCI. SYS USBHUB FDO USBHUB. SYS UHost PDO ACPI 다중 프로세서 PC Microsoft ACPICompliant System PCI 버스 USBHUB PDO Intel® 82801 G … USB Host Controller USBHID FDO USBHID PDO USB 루트 허브 HIDUSB. SYS MOUCLASS. SYS HIDMOUSE Fi. DO MOUHID. SYS HIDMOUSE FDO HIDMOUSE PDO USB 휴먼 인터페이스 장치 HID 규격 마우스
PCI버스를 부모로 하는 모습 307 -00 ACPI 다중 프로세서 PC Microsoft ACPICompliant System PCI 버스 Intel® 82801 G … USB Host Controller Microsoft UAA Bus. Driver For High Definition Audio PCI FDO PCI. SYS PCI PDO USBUHCI. SYS ACPI. SYS HDAUDBUS. SYS UHost FDO UAA Bus. Driver FDO UHost PDO UAA Bus. Driver PDO
“모뎀”과 디바이스스택 MODEM. SYS TOSHIBA Software Modem AMR FDO TOSHIBASOFTMODEM. SYS TOSHIBA Software Modem AMR Fi. DO PCI. SYS TOSHIBA Software Modem AMR PDO
“다른종류”의 디바이스스택과 구성요소 설치파일에 의해서 제공되는 장치상위필터 ? ? ? 서비스드라이버 기능층 Functional Device Object(FDO) PFC서비스드라이버 Class Lower. Filter Device Object(Fi. DO) Bs. Stor서비스드라이버 Class Lower. Filter Device Object(Fi. DO) Px. Help 20 서비스드라이버 Class Lower. Filter Device Object(Fi. DO) 설치파일에 의해서 제공되는 장치하위필터 ? ? ? 서비스드라이버 Bus. Driver Physical Device Object(PDO)
“PS/2 키보드”과 디바이스스택 KBDCLASS서비스드라이버 Class Upper. Filter Device Object(Fi. DO) i 8042 prt서비스드라이버 기능층 Functional Device Object(FDO) ACPI서비스드라이버 Bus. Driver Physical Device Object(PDO)
“PS/2 키보드”과 디바이스스택 NULL Attached. Devic KBDCLASS서비스드라이버 e Class Upper. Filter Device Object(Fi. DO) Stack. Size = 7 Attached. Device i 8042 prt서비스드라이버 기능층 Functional Device Object(FDO) Stack. Size = 6 Attached. Device ACPI서비스드라이버 Bus. Driver Physical Device Object(PDO) Stack. Size = 3 FDO->Stack. Size값이 PDO->Stack. Size값보다 크기만 하면 된다. 그 차이값은 중요하지 않다!
“PS/2 키보드”발견과 디바이스스택구성순서 PNP관리자(OS) Device. Object생성 1 I 8042 prt서비스드라이버’s Add. Device()함수 NULL Stack. Size값 변경 Attached. Device i 8042 prt서비스드라이버 기능층 Functional Device Object(FDO) Stack. Size = 2 2 Device. Object연결 Attached. Device ACPI서비스드라이버 Bus. Driver Physical Device Object(PDO) Stack. Size = 1 3
“PS/2 키보드”발견과 디바이스스택구성순서 PNP관리자(OS) NULL KBDCLASS서비스드라이버’s Add. Device()함수 1 Device. Object생성 Attached. Device KBDCLASS서비스드라이버 Class Upper. Filter Device Object(Fi. DO) FDO와의 연결 Stack. Size = 3 2 3 Stack. Size 변경작업 Attached. Device i 8042 prt서비스드라이버 기능층 Functional Device Object(FDO) Stack. Size = 2 Attached. Device ACPI서비스드라이버 Bus. Driver Physical Device Object(PDO) Stack. Size = 1
SIMPLE 장치를 위한 디바이스스택 SIMPLE Functional Device Object(FDO) Bus. Driver Physical Device Object(PDO)
SIMPLE 디바이스스택 확인작업 Stack. Size PDO FDO
- Slides: 52