A Critical Analysis of the Windows mLAN Driver Supervisor: Prof. Foss By: Shaun Miles.

14
A Critical Analysis of the Windows mLAN Driver Supervisor: Prof. Foss By: Shaun Miles

Transcript of A Critical Analysis of the Windows mLAN Driver Supervisor: Prof. Foss By: Shaun Miles.

Page 1: A Critical Analysis of the Windows mLAN Driver Supervisor: Prof. Foss By: Shaun Miles.

A Critical Analysis of the Windows mLAN Driver

Supervisor: Prof. Foss

By: Shaun Miles

Page 2: A Critical Analysis of the Windows mLAN Driver Supervisor: Prof. Foss By: Shaun Miles.

Overview

What is mLAN? Project Focus Windows Driver Model – more in depth mLAN Driver Analysis Timeline Questions?

Page 3: A Critical Analysis of the Windows mLAN Driver Supervisor: Prof. Foss By: Shaun Miles.

What is mLAN?

Yamaha – using FireWire to connect studio devices via 1394 nodes implementing the mLAN architecture

Allows easy connection of equipment in a professional environment

Moving away from legacy studios Peer-to-peer transfer of data – no need for host

server Serial bus – high speed Isochronous and Asynchronous transfer methods Standardised – built on CSR architecture or 1394

Page 4: A Critical Analysis of the Windows mLAN Driver Supervisor: Prof. Foss By: Shaun Miles.

What is mLAN cont…

Can have PC host controller modelling device connection connects input/output plugs between devices allows easy routing of audio

mLAN Driver

1

mLAN Device

PC

IEEE1394 Interface Card

2 3 4

0

Page 5: A Critical Analysis of the Windows mLAN Driver Supervisor: Prof. Foss By: Shaun Miles.

Project Focus

Windows drivers must conform to WDM architecture provides defined communication stream how applications access hardware/devices call appropriate system services

mLAN Driver: virtual management of devices on the firewire bus via interface card in PC Understand yamaha’s mLAN driver approach Driver design: object model and sequence diagrams Write IOCTLs wrapper classes

Page 6: A Critical Analysis of the Windows mLAN Driver Supervisor: Prof. Foss By: Shaun Miles.

Windows Driver Model - WDM Architecture for Windows Operating system

designing developing

Kernel-mode driver system calls has to be reliable

Layered approach driver stacks moves away from monolithic drivers

Page 7: A Critical Analysis of the Windows mLAN Driver Supervisor: Prof. Foss By: Shaun Miles.

Windows Kernel Power Management

handles device power management messages I/O Manager

builds suitable IRP’s from requests from applications

passes IRP’s to driver stack PnP Manager

manages device objects that represent physical devices

handles & allocates hardware resource requests

Page 8: A Critical Analysis of the Windows mLAN Driver Supervisor: Prof. Foss By: Shaun Miles.

I/O Request Packets – IRP’s

Built by I/O Manager In response to application system communicates with kernel-mode drivers

Driver Communication packets requests an action from device handled by relevent driver in stack passed on until request is satisfied

Page 9: A Critical Analysis of the Windows mLAN Driver Supervisor: Prof. Foss By: Shaun Miles.

IOCTLs

I/O Control Codes – part of IRP Specifies function or action other than

read/write requests Defined by unique code Project focus: IOCTLs wrapper classes

Interface an application can communicate directly with a device via its driver

Page 10: A Critical Analysis of the Windows mLAN Driver Supervisor: Prof. Foss By: Shaun Miles.

Device and Driver Objects

Driver object used by I/O Manager to access driver code contains pointers to driver entry routines created in I/O Manager on driver install and load

Device object represents a logical, virtual, or physical device handles I/O requests (IRP’s) does most of the processing

Page 11: A Critical Analysis of the Windows mLAN Driver Supervisor: Prof. Foss By: Shaun Miles.

Example of driver

stack

Applications

WIN32

PnP Manager

I/O Manager Power Management

Client Driver

HAL

IRP

IRP

IRP

IRP

IRP

IRP

IRP

User Space

Kernal Space

Hardware Bus

Host Controller

PCI

1394Bus

Simplified view

I/O manager creates IRP

Drivers pass down until request satisfied

Page 12: A Critical Analysis of the Windows mLAN Driver Supervisor: Prof. Foss By: Shaun Miles.

mLAN Driver Analysis CmLANBusDriver

Driver object handles driver

initialisation, device management

CmLanBus Device object implements PnP,

Power and IRP management functionality

Makes use of other client drivers

Application

WDMMIDI

1394 ASIO WDM AUDIO

CmLanBusDriver mLAN bus driver

CmLanBusmLAN (child) Device

user space

kernel space

kernel space

hardware

IOCTL calls

Page 13: A Critical Analysis of the Windows mLAN Driver Supervisor: Prof. Foss By: Shaun Miles.

Time Line Third Term:

Produce Object Model Extrapolate Sequence Diagrams Write IOCTLS wrapper classes for driver Project Poster

Fourth Term: Finish and test IOCTLS wrappers Write short paper Write thesis

Page 14: A Critical Analysis of the Windows mLAN Driver Supervisor: Prof. Foss By: Shaun Miles.

Questions?

Thank you