driver writing != bus driving

Ilias Tsigkogiannis' Introduction to Windows Device Drivers and Windows Audio Concepts

Introduction

Introduction

  • Comments 1

Hi everybody. My name is Ilias Tsigkogiannis (pronounced as ee-LEE-us chee-go-YA-nis... tough, right? :) ) and I am a new addition to the Microsoft community (2-3 months old). I am working as a Software Development Engineer (SDE) in the User-Mode Driver Framework (UMDF) team. I recently got my Master's degree from UCLA (go Bruins!) in the area of embedded systems. Even though I've written drivers for embedded devices, I am still new in the windows drivers world. You can find additional information for me at http://nesl.ee.ucla.edu/person/show/62 or http://www.ee.ucla.edu/~ilias/ (currently outdated).

The reason that I've picked this title for my blog is to indicate the difficulty of driver development. Although "bus driving" and "driver writing" share one common word, they have nothing else in common, even metaphorically speaking. A bus driver needs to follow a path, i.e. the road, in order to reach his destination. His way is predetermined from the beginning to the end. On the other hand, a driver writer, especially a beginner, has no strict guidelines to follow.

During this initial period at Microsoft my main goal has been to become quickly familiar with the internals of the windows platform and with the development of windows drivers. The internet has been quite valuable in this task, since I've found lots of information, however in the case of driver development the problem doesn't have to do with the quantity, but with the quality and with the organization of the data. Most of the data is scattered around (mailing lists, websites, newsgroups, blogs, etc) and it's hard for a beginner to gather everything by himself. Fortunately for me, I got several useful pointers and directions even from my first day at Microsoft.

The goal of this blog is to gather all this information in one place, so that it can be searched easily. Therefore, most of my posts (at least the initial ones) will be mostly consisted of pointers to external links or books that I've found useful for me. As time goes by (and I become more familiar with the subject) I'll be able to write down more "personal" posts.

Finally, I would like to say that I'll be happy to provide any information on driver development, however it's really possible that I won't be able to answer more advanced questions. Therefore, I would like to point you to 2 more advanced blogs:

1)Peter Wieland's "Pointless Blathering" : Peter is the Development Lead for the User-Mode Driver Framework (UMDF), which is the new Microsoft's framework that will allow the development of drivers that reside in user-mode and not in the kernel (more about it in future posts)! Cool, right? :)

2)Doron Holan's "Hole in My Head" : Doron is working on the the Kernel-Mode Driver Framework (KMDF), which is the framework for kernel-mode drivers that will substitute the current Windows Driver Model or WDM (again, I'll provide more information in future posts).

Both of them are really technical and knowledgeable, since they've got years of experience in this field.

Leave a Comment
  • Please add 6 and 3 and type the answer here:
  • Post
  • Hello All,

    My name is Justin Giovinco and I am an IT Recruiter for Guidance Software, The World’s Leader In Investigative Software.  We currently have an urgent need for 2 developers in the Los Angeles area.

    The first developer is more of the hardware sort.  We’re looking for someone with solid experience designing and developing device drivers in a windows environment.  This person should be well versed in C++, assembly language, and kernel development.  Experience with SCSI, WinDbg, and SoftIce are all plus’s.

    The second developer will be for our mobile device product.  We are looking for someone with a solid background stemming from the wireless/cell phone/mobile device industry.  This person should have solid understanding of C++, assembly language, network protocol, and cell phone synchronization.

    The products you will be developing are used by many government agencies such as the CIA, FBI, and Department of Defense to name a few.  They’re used in investigations surrounding criminal activity on computer and mobile device networks.  Secret Clearance is NOT required.  The work, however, cannot be moved from the development rooms due to the nature of our business.  For this reason, we are unable to consider candidates who are only open to telecommute.

    These positions are high priority for us which means there is NO salary limit, and we would offer a complete relocation package for the candidate that can generate interest from our hiring manager.

    If you, or anyone else you know, might be interested or qualified for any of these roles I would greatly appreciate you forwarding my contact information provided below.  If there is anything I could do to return the favor please don’t hesitate to ask.  

    Thanks and take care.

    Regards,

    Justin Giovinco

    Sr. IT Recruiter

    www.GuidanceSoftware.com

    Justin.giovinco@guidancesoftware.com

Page 1 of 1 (1 items)