[KLUG Advocacy] Re: Darwin for x86 -- Why it exists ...

Bryan J. Smith advocacy@kalamazoolinux.org
Tue, 29 Oct 2002 11:11:04 -0500 (EST)


Quoting adam@morrison-ind.com:
> While interesting, I don't think it will win a single convert.  It
> posses even greater problems then switching to Linux.
>   ... cut excellent review of technical reasons ...

Exactly, all for the same reasons people don't run Solaris/x86.

In the case of Apple, complete control over the platform results in an
excellent, always compatible solution.  x86 will never offer this, not even
Linux/x86.

In the case of Sun, complete control over the platform results in an excellent,
scalable server and shared memory workstation solution.  x86 will never be as
scalable past 4-8 processors**.

By maintaining non-native ports, both Apple and Sun keep their code "clean" --
free of byte size, alignment, endian and other issues.  And by Apple keeping its
codebase in-line with FreeBSD, and Sun finally moving towards GNU (remember,
SunOS/Solaris _was_ the "GNU platform" before the Linux kernel ;-), they keep
their APIs open and compatible.

Microsoft could learn a thing or two from doing such, especially with regards to
their MacOS ports which constantly run into Win32-only/incompatibility "features."

-- Bryan

**Technical Note:  AMD's technologies like HyperTransport, and the logic and
processors that take advantage of them, are doing the best it can with x86. 
Intel's continuing to make x86 marketing driven results in a self-fsck'ing of
the architecture.  MMX/SSE is out of control and AGP is a bastard that should
have _never_ been invented.  For more commentary on those details, see these URLs:

http://www.matrixlist.com/pipermail/pc_support/2002-May/001416.html  

http://www.smithdot.net/display.php?category=hardware&article=amd_killagp_introgpr.txt
 

-- 
Bryan J. Smith, E.I.            Contact Info:  http://thebs.org
A+/i-Net+/Linux+/Network+/Server+ CCNA CIWA CNA SCSA/SCWSE/SCNA
---------------------------------------------------------------
           limit      guilt   =     { psychopath,
         remorse->0                    innocent }