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

Slides:



Advertisements
Similar presentations
1 Symbian Client Server Architecture. 2 Client, who (a software module) needs service from service provider (another software module) Server, who provide.
Advertisements

CT213 – Computing system Organization
WDM 드라이버의 기본 구조 What is WDM?
Computer Organization and Architecture Input/Output.
04/14/2008CSCI 315 Operating Systems Design1 I/O Systems Notice: The slides for this lecture have been largely based on those accompanying the textbook.
I/O Channels I/O devices getting more sophisticated e.g. 3D graphics cards CPU instructs I/O controller to do transfer I/O controller does entire transfer.
Case Study: Windows 2000 Part I Will Richards CPSC 550 Spring 2001.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
04/16/2010CSCI 315 Operating Systems Design1 I/O Systems Notice: The slides for this lecture have been largely based on those accompanying an earlier edition.
USB – An Overview Group 3 Kaushik Nandha Bikram What is the Universal Serial bus (USB)? Is a cable bus that supports data exchange between a host computer.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
1 Input/Output Chapter 3 TOPICS Principles of I/O hardware Principles of I/O software I/O software layers Disks Clocks Reference: Operating Systems Design.
1 I/O Management in Representative Operating Systems.
USB 2.0 INTRODUCTION NTUT CSIE 學 生:許家豪 指導教授:柯開維教授.
Chapter 5 Input/Output I/O Hardware I/O Software Software Layers Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
计算机系 信息处理实验室 Lecture 12 I/O System
Kristian Naess Qicai Guo Roy Torres Mark Bacchus Yue Kun Alberto Chestaro.
IEEE-1394 Data Link Design Review Sherry Womack Erik Pace ECE 4040 Dr. Martin Brooke.
1 Input/Output. 2 Principles of I/O Hardware Some typical device, network, and data base rates.
Chapter 8 Input/Output. Busses l Group of electrical conductors suitable for carrying computer signals from one location to another l Each conductor in.
Introduction to USB Development. USB Development Introduction Technical Overview USB in Embedded Systems Recent Developments Extensions to USB USB as.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 11 Case Study 2: Windows Vista Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
ITEC 502 컴퓨터 시스템 및 실습 Chapter 8-1: I/O Management Mi-Jung Choi DPNM Lab. Dept. of CSE, POSTECH.
Hardware Definitions –Port: Point of connection –Bus: Interface Daisy Chain (A=>B=>…=>X) Shared Direct Device Access –Controller: Device Electronics –Registers:
I/O Systems I/O Hardware Application I/O Interface
1 Lecture 20: I/O n I/O hardware n I/O structure n communication with controllers n device interrupts n device drivers n streams.
Xen I/O Overview. Xen is a popular open-source x86 virtual machine monitor – full-virtualization – para-virtualization para-virtualization as a more efficient.
Architecture Support for OS CSCI 444/544 Operating Systems Fall 2008.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Example title for notes and handouts
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
Project Proposal for Integrated Control and Connection management Robby Gurdan and Richard Foss.
A Critical Analysis of the Windows mLAN Driver Supervisor: Prof. Foss By: Shaun Miles.
A Comparative Study of the Linux and Windows Device Driver Architectures with a focus on IEEE1394 (high speed serial bus) drivers Melekam Tsegaye
April 2000Dr Milan Simic1 Network Operating Systems Windows NT.
Chapter 2 Operating System Overview
CE Operating Systems Lecture 3 Overview of OS functions and structure.
PART II OPERATING SYSTEMS LECTURE 8 SO TAXONOMY Ştefan Stăncescu 1.
Introduction to Microsoft Windows 2000 Integrated support for client/server and peer-to-peer networks Increased reliability, availability, and scalability.
A Critical Analysis of the Windows mLAN Driver
Processes Introduction to Operating Systems: Module 3.
Organisasi Sistem Komputer Materi VIII (Input Output)
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem.
Tutorial 12 Managing Hardware and Networks
PART 7 CPU Externals CHAPTER 7: INPUT/OUTPUT 1. Input/Output Problems Wide variety of peripherals – Delivering different amounts of data – At different.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 13: I/O Systems Overview I/O Hardware Application.
Device Driver Concepts Digital UNIX Internals II Device Driver Concepts Chapter 13.
Overview of Windows Driver Development Reference: us/gstart/hh/gstart/gs_intro_031j.asp.
System Programming Basics Cha#2 H.M.Bilal. Operating Systems An operating system is the software on a computer that manages the way different programs.
Major OS Components CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 5.
LonWorks Introduction Hwayoung Chae.
Introduction to Operating Systems Concepts
NDIS-WDM Miniport Drivers Larry Cleeton Program Manager Windows Networking And Communications Microsoft Corporation.
Chapter 13: I/O Systems Modified by Dr. Neerja Mhaskar for CS 3SH3.
EE-587 Spring FEB 08 William Mullins
Chapter 3: Windows7 Part 2.
I/O Systems I/O Hardware Application I/O Interface
Chapter 3: Windows7 Part 2.
CS703 - Advanced Operating Systems
Chapter 2: The Linux System Part 5
Outline Operating System Organization Operating System Examples
Operating Systems Structure
Presentation transcript:

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?

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

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 234 0

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

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

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

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

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

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

Example of driver stack Applications WIN32 PnP Manager I/O ManagerPower Management Client Driver HAL IRP User Space Kernal Space Hardware Bus Host Controller PCI 1394Bus Simplified view I/O manager creates IRP Drivers pass down until request satisfied

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 WDM MIDI 1394ASIO WDM AUDIO CmLanBusDriver mLAN bus driver CmLanBus mLAN (child) Device user space kernel space hardware IOCTL calls

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

Questions? Thank you