Home Messages Index
[Date Prev][Date Next][Thread Prev][Thread Next]
Author IndexDate IndexThread Index

Re: [News] Customers Stung by 64-bit Microsoft Windows

Erik Funkenbusch wrote:

>> Even some Microsoft products do not support 64-bit PCs. Of course, open
>> source drivers don't have this issue.
> 
> I think the issue here is that, for a variety of reasons, Linux drivers
> are typically written in C, and not optimized to the Nth degree for
> performance like their Windows counterparts are.
> 
> I'd dare say, most "performance" oriented drivers (video, sound, etc..)
> are written largely in assembly language to eek out every ounce of
> performance the hardware can give.  This makes them less portable, and
> developers have much less experience writing 64-bit assembly.  C drivers,
> unless you're really stupid, largely just need a recompile.

...and yet, where the hardware interface is available, Linux performs
better. The USB driver is case in point. 

The problem is that the Windows driver model is a nightmare to develop and
is not particularly efficient. This is probably because of the high degree
of abstraction between the drivers and the Windows kernel. The fact that
the Windows driver model is a cluster fudge probably doesn't help.

Like with most of the deeper API's, the fact that there is no version
control mechanism in Windows means that drivers need to pass in details of
what they expect so that the kernel libraries can attempt to provide the
correct return. It is a very clumsy model. 

The inherent version control on libraries in Linux plus being Open Source
means that the drivers can be closer to the metal and hence perform better.
The only caveat is that drivers have to be compiled for the kernel. The
Ubuntu nVidia driver has shown that this process can work seamlessly, even
where the driver contains a CSS blob.

Ian




[Date Prev][Date Next][Thread Prev][Thread Next]
Author IndexDate IndexThread Index