Talk:Device driver

From Wikipedia, the free encyclopedia

Contents

[edit] Stale

Moreover, debugging device drivers is a difficult skill as it often involves monitoring hardware itself - which by definition behaves in a non-deterministic way.

Um. Hardware is nondeterministic? Am I missing something here, or is that a bit on the wrong side? - Jkominek Revision as of 04:00, 23 October 2002

yeah, its not like we're writing device drivers for brains or anything. Jeeez.—Preceding unsigned comment added by Hfastedge (talkcontribs) Revision as of 04:14, 23 October 2002
Yeah, calling clocked hardware non-deterministic is wrong in my opinion. May be it was intended to mean poorly fabricated.—Preceding unsigned comment added by Wk muriithi (talkcontribs) Revision as of 21:18, 1 March 2005

[edit] File system drivers

I find it strange to talk of file systems managers as drivers, since "A device driver [...] is a computer program that enables another program [...] to interact with a hardware device. By extension, you could potentialy call any service a driver...

FSDs are developed using the same methodologies and kits as "device" drivers, at least in the Microsoft world. In fact, the filesystem kit is a superset of the driver development kit. --—Preceding unsigned comment added by dispensa (talkcontribs) 04:00, 14 October 2005 (UTC)

[edit] Writing Device Drivers?

How to write a device driver program ? how to start it ?

[edit] Link Cleaning

I just cleared most of the spam I want some else to look at the remaining two links. Please let me know if they don't belong. I'll be back in few days to see if any of the deleted references magically return.--Phatom87 06:07, 1 December 2006 (UTC)

[edit] N-bit Driver

"Depending on the specific computer architecture, drivers can be 8-bit, 16-bit, 32-bit, and more recently, 64-bit. This corresponds directly to the architecture of the operating system for which those drivers were developed. For example, in 16-bit Windows 3.11, most drivers were 16-bits, while most drivers for 32-bit Windows XP are 32-bit. More recently, specific 64-bit Windows versions have required hardware vendors to provide newer 64-bit drivers for their devices."

I don't think one can classify the drivers are n-bit drivers. Only machines and OS can be classified as such. What does a 16-bit driver mean? Does it mean that the driver is accessing the registers on the device as 16-bit words? In fact, I have seen devices on machines with 32 bit words, that can be accessed only as 16-bit words. So, the "bit length" of the driver depends on the peripheral and the machine. Any way, I think this is not a very good way to classify the drivers. I think we should remove this line

I agree. Speaking as a kernel engineer, that paragraph made me cringe. Basically it means that drivers should be implemented using the same instruction set as their host kernel. Well, duh. It might perhaps be worth changing it for an explanation that x86 supports different instruction sets of varying word size, and that while thunking can be used to allow a driver written for one instruction set to be used in a kernel for another, it is generally considered best to avoid this process. JulesH 08:18, 2 June 2007 (UTC)

[edit] Difference?

What's the difference between a device driver and firmware? Maybe someone should consider adding that as a section, because I'm confused and others may be as well. Ryan Salisbury 21:03, 2 July 2007 (UTC)

[edit] Acronym mania?

LDD and PDD are presented as commonly used acronyms, but I find little evidence of this. SymbianOS uses these terms in their documentation. Otherwise, google points to this wikipedia article. I can't find any trace of them on FOLDOC, the Linux kernel mailing list, or the FreeBSD glossary which is named as an official reference for acronyms used in their mailing lists. The closest I've found for something Microsoft related came from third-party documentation concerning WindowsCE. The concepts they represent don't need abreviation to be explained. Doing so only adds an air of authority that mostly points back to wikipedia itself. In the context of this article shouldn't jargon be as common as "DMA"?

Device drivers are so OS specific that there are as many jargons as OS. Microsoft uses the terms MDD(Model Device Driver) and PDD. Symbian uses LDD and PDD. Linux drivers, although layered, do not use these terminologies. Only recently (from kernel version 2.5 onwards), has Linux got a very structured device driver framework. It uses the terms Class Driver (Logical Device Driver) and Device Driver (Physical Device Driver). It is a matter of choosing one set of terminology over other. I guess LDD and PDD are the terms closest to their actual functionality --Avkulkarni
Why choose at all when they do nothing to explain the concept? If Wikipedia had an article on comparative operating system device driver jargon would this article then be seen as having a bias for SymbianOS?