*BSD News Article 69253


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.uwa.edu.au!disco.iinet.net.au!news.uoregon.edu!vixen.cso.uiuc.edu!howland.reston.ans.net!newsxfer.itd.umich.edu!news.mathworks.com!uunet!in2.uu.net!news.artisoft.com!usenet
From: Terry Lambert <terry@lambert.org>
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: Linux vs. FreeBSD ...
Date: Thu, 23 May 1996 21:09:35 -0700
Organization: Me
Lines: 68
Message-ID: <31A5367F.1FAD29B4@lambert.org>
References: <3188C1E2.45AE@onramp.net> <318FD68B.60AD12F6@lambert.org> <4mouan$cpb@agate.berkeley.edu> <4mpch5$97t@ennui.ops.best.com> <4mplph$n1s@agate.berkeley.edu> <319165C5.58D1E2F7@lambert.org> <4n9u6q$ien@news.siemens.at> <319BDC0B.75DDA671@lambert.org> <4o13i3$tp@news.siemens.at>
NNTP-Posting-Host: hecate.artisoft.com
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Mailer: Mozilla 2.01 (X11; I; Linux 1.1.76 i486)

Ingo Molnar wrote:
] device drivers have a secondary role, from the point of view of
] source code quality. They are of course the "salt" in any OS.

With respect, "a chain is only as strong as its weakest link".

] but it really doesnt render your OS useless or less clean ...
] there are alot of device drivers with code quality ranging from
] "perfect" to "poor".

A hack driver may, in fact, render your kernel unbootable on
a large amount of hardware.

Major examples include ATAPI CDROM drives, Lance ethernet, and
Floppy tapes (QIC 40/80/120 devices), and the PS/2 style mouse
(which hook to the keyboard controller, which is a notoriously
unstable interface anyway), all of which must be intrusively
probed.

Intrusive probing is inherently evil.

Any hardware that requires intrusive probing to identify it
is "hack hardware".

Drivers for "hack hardware" are *immediately* and *irrevocably*
"hack drivers".

If your drive can screw up in *any* way other than to not drive
the device for which it was intended, then it's broken.

There are only a *few* broken drivers in the FreeBSD kernel,
and you must explicitly go off and enable them by using the
-c argument at the boot prompt.

] i would agree with you if we .... had to support 100000 buggy MMUs,
] which ... make it impossible to support 2 levels of paging ... this
] would be a compromise "right in the heart of the OS", which would
] be inacceptable.

The problem is not in providing a driver for crappy hardware;
that's actually very easy.  The problem is in using that driver
when the crappy hardware isn't present, and it causing perfectly
good hardware to not operate.

You can only take care of so much of this by ordering device
probes to make sure the good hardware is found first so that
the crappy hardware driver "doesn't try there".


] but device drivers come and go ... and people >depend< on drivers,
] and they only see: "FreeBSD doesnt work with my CDROM" or "Linux
] doesnt work with my drive".

Whereas, the alternative is to break good hardware in order to
make bad hardware work.  No thank you.  There are standards.


] If you were a hard-core purist, then you would have never touched
] any PC keyboard ...

I'm not a hard core purist; I'm a quality control purist.


                                        Terry Lambert
                                        terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.