311c570ce4ba2df45f6a0e8bd6be12a6.ppt
- Количество слайдов: 25
A Critical Analysis of the Windows m. LAN Driver Supervisor: Prof. Foss By: Shaun Miles
Overview n m. LAN system q q n n n IEEE 1394 IEC 61883 WDM Driver. Studio Framework Object model IOCTL analysis Conclusion and Questions
m. LAN
m. LAN cont. n n Bus manages itself – no server PC is useful tool – connection management Application suit Driver makes PC look like m. LAN device
Fire. Wire – IEEE 1394 n n n Flexible serial bus Fast – good for real time multimedia Control and Status Register architecture q n Standardises offset locations Node – addressable entity IEEE 1394 node m. LAN node AV/C Unit Camera Scanner Printer Harddrive
Asynchronous or Isochronous n Asynchronous – control packets q q n Data integrity Any time arrival Isochronous – streaming packets q q q Continuous stream CIP – IEC 61883 Ideal for real-time systems
IEC 61883. 6 n n n High level streaming standard Audio and music data transmission Based on m. LAN specification Common isochronous packet – CIP AM 824 q q 8 bit label 24 bit audio/music data
Why study the driver? n n To understand the driver Platform to investigate m. LAN potential Model driver for future extensions Audio/video extension?
Windows Driver Model n n n Kernel-mode vs user-mode drivers All kernel-mode drivers – WDM drivers Supports Pn. P – device management Driver – communication pathway – I/O Layered architecture – driver stack
IO request packet Further specifies All IRPs have a the type function code major of request within the major category Categorises type of request Target device Specifies IOCTL object of the I/O code if has major request function code of IRP_MJ_DEVICE_ CONTROL
I/O Control code n n n Means for driver responding to IO request Custom codes for special drivers – m. LAN Definable codes with handler routine Communication pathway Contained in IRP – IO request packet Use Device. Io. Control q q q IOCTL code Handle to device - GUID Input/output buffer
User-mode space Ah, a new WIN 32 device API Application Pn. P Manger I/O Manger This is the driver to load System Registry Object Manger – system addressable memory Driver object Driver. Entry Add. Device The kernel New Device!! IRP Handler Device Object IRP
Driver. Studio n n n Driver development tool C++ class library framework Utility classes Forms skeleton, backbone of driver Encapsulates essential driver features Used by m. LAN
m. LAN driver object model
Kernel Streaming Minidriver Stream Minidriver • Filter driver • Controls adapter Stream Adapter • Controls stream • Controls hardware Stream • Data processing of media stream
IOCTL code handling
m. LAN IOCTL codes n n n Grouped by underlying functionality IEEE 1394 asynchronous requests IEEE 1394 isochronous streaming IEC 61883 ASIO – Audio Streaming Input Output WDM Streaming (KS)
WDM Streaming (KS) Inter-driver communication n KS Minidriver to m. LAN n
ASIO n n n Implements ASIO driver functionality Overrides ASIO classes Used by applications for audio record and playback
Asynchronous IEEE 1394 n n Asynchronous communication with bus via Firewire bus driver Allocate/deallocate bus resources q q q n Channel Bandwidth Address range Driver state information
Isochronous IEEE 1394 n n n Allocate/deallocate stream resource Start stream creates WDM minidriver to control stream Make several requests to Firewire driver to service initial request
61883 n n Uses 61883 protocol driver Formatting of stream data Used for plug modelling and connectivity Plug – input/output q Start/end point of stream
Conclusion n n Driver is clearly structured Modules based on functionality Compilation problems due to incompatability issues Analysis done manually, time consuming and messy Missed out on powerful debugging tool
Questions? Thank you


