Скачать презентацию A Critical Analysis of the Windows m LAN Скачать презентацию A Critical Analysis of the Windows m LAN

311c570ce4ba2df45f6a0e8bd6be12a6.ppt

  • Количество слайдов: 25

A Critical Analysis of the Windows m. LAN Driver Supervisor: Prof. Foss By: Shaun 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 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

m. LAN cont. n n Bus manages itself – no server PC is useful 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 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 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 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. 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 – 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 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 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 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 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 m. LAN driver object model

Kernel Streaming Minidriver Stream Minidriver • Filter driver • Controls adapter Stream Adapter • Kernel Streaming Minidriver Stream Minidriver • Filter driver • Controls adapter Stream Adapter • Controls stream • Controls hardware Stream • Data processing of media stream

IOCTL code handling IOCTL code handling

m. LAN IOCTL codes n n n Grouped by underlying functionality IEEE 1394 asynchronous 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 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 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 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 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 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 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 Questions? Thank you