I'm with you on this one! But I think it has to do with the fact that the windows kernel is "set in stone" so to speak. Windows uses a "middle man" (API is it?) so that it makes everything simpler to code. Linux on the other hand gives you the blueprint to the internal workings of it's kernel thus allowing support to be written directly for that piece of hardware.
Anyways this is the way I understand it. If anybody that really knows would care to share please do.
