9
Votes
Dec 7, 2009 5:58 PM
8 comments
Linux Kernel Devs do not mind the lack of any Stable Driver ABI in the Linux Kernel: they even find the situation excellent. Probably they never attended any decent Computer Science course, or they would have learned that strong coupling was a major problem. Freetards also do not mind due to the HelsinkiSyndrome™ .
Ordinary (and intelligent) users have however learned to fear this Linux Trademark, after getting aquainted with LinuxFriendlyHardware™, BiannualUpdateDeathMarch™, and ConfigureMakeMakeInstall™. This Linux trademark is the mandatory exception to every rule: Sometimes, Linux will teach you computer science!


Comments
I never understood the tight coupling of drivers in the kernel. Was that something Linus made a call on back in the day? Was it a simpler route than creating a separate driver architecture? Or is it some legacy thing from Unix?
I don't think it's a Unix Legacy. Solaris has a stable Kernel ABI. Same thing for OS X. FreeBSD maintains the Kernel ABI stable within any given major branch.
My understanding is that Linus is of the opinion that because Linux grows organically rather than being designed properly, a stable kernel abi represents an unacceptable risk to being locked into a poorly designed interface. This is an actual problem, because so much of the kernel is not fully tested/integrated or is poor written and in staging or whatever it is called.
Would it be possible to rename the TM?
I think that StableKernelDriverABINonsense(tm) would be better
Thanks
"... [A] stable kernel abi represents an unacceptable risk to being locked into a poorly designed interface. This is an actual problem, because so much of the kernel is not fully tested/integrated or is poor written and in staging or whatever it is called."
http://techdistrict.kirkk.com/2007/10/08/rotting-design/
Being locked into a poorly designed interface or not, having a driver model is better than just sweet nothing. The ripple effect that the Linux kernel inflicts upon third-party drivers and kernel modules is simply unacceptable and needlessly drives up the costs of providing any reasonable support for the operating system.
Consider this example:
The VMWare Server series is a virtualization software suite currently available for the Windows Server family and Linux operating systems. In order to properly facilitate the hypervisor features of VMWare Server on Linux, the installation script must either copy a set of pre-compiled kernel modules to a proper location or compile them from their respective source code. One machine I have uses Ubuntu Server 8.10 (yes, I know) as the host operating system and despite various attempts I have yet found a way to properly compile the vsock module without "make" exiting with an error. Actually, this isn't all that bad considering the fact VMWare Server is still able to deliver most of its functions without the component in question.
http://www.philiptenn.com/2009/06/vmware-server-109-installation-on.html
http://communities.vmware.com/thread/244583?tstart=0
The above links show the more unfortunate situations that many other VMWare Server users have to face. Needless to say, there is simply no way for VMWare to support every version of the Linux kernel in every distribution that has ever existed. What's more - from the announcement of VMWare Server 1.0 through to the release of VMWare Server 2.0.2 (over a period of approximately three years), the linux kernel has advanced by at least 10 minor versions, not to mention a whole slew of trivial versions that these minor versions encompass. Now, tell me - how are third-party vendors like VMWare supposed to catch up with such rapid changes inside the kernel and provide QA for their products even if they are willing to release their source code?
http://lenrek.wordpress.com/2008/08/31/vmware-server-107-with-linux-kernel-2626x/
http://itknowledgeexchange.techtarget.com/enterprise-linux/does-linux-kernel-2623-break-vmware-server/
"I think that StableKernelDriverABINonsense(tm) would be better"
Agree.
Microkernels are evil, guys. If they were to implement a stable driver ABI, or even an API, that would also be evil because it would be like a microkernel. Maybe.
Some time before, I needed to buy a car for my organization but I did not have enough money and couldn't purchase anything. Thank goodness my comrade adviced to take the <a href="http://lowest-rate-loans.com/topics/personal-loans">lowest-rate-loans.com</a> from banks. Thus, I acted so and was satisfied with my student loan.
Just for the record, I like to post these two links.
One, the main response for one kernel dev for why Linux must not should have a stable API:
http://www.kroah.com/log/linux/stable_api_nonsense.html
Second, a simple but great post that describes the problem:
http://people.gnome.org/~federico/news-2009-01.html
Great site! Thanks.
You must be signed in to leave comments.