[comp.unix.wizards] Binary standards for UNIX

tuck@pooh.cs.unc.edu (Russ Tuck) (03/07/88)

In article <497@taux01.UUCP> yuval@taux01.UUCP (Gideon Yuval) writes:
>The new ABI standard, which is supposed to be the Unix standard for object-code
>distribution, is (a variation of) COFF for SPARC. How much hardware-indpendence
>is going to survive the changeover to ABI?

The hardware independence of source code and user skills under UNIX comes
from the availability of UNIX on most computers in the world.  This 
availability of UNIX stems largely from two facts: the source code 
implementation of UNIX is reasonably portable, and the source code is 
widely available.

Binary interface standards have a different purpose.  This is to gain
binary portability between different vendors' machines which use the same
CPU architecture.  This is less important for code you write than source
portability, since you can recompile your code without too much trouble.
It also doesn't affect user skill portability.  

What a binary standard *does* do for you is lower the cost and increase the 
selection of commercially available applications software.  It does this
by making it possible for software companies to distribute the same binary
release for multiple systems.  Fewer versions selling to more systems increases
volume and lowers unit costs.  The ABI for SPARC is just one of several
coming binary standards.  Similar efforts are underway for 386 and 68030 cpus.

A binary standard is just icing on the cake for UNIX.  Source-level standards 
are more important, because they apply to all machines, not just a subset 
built on a particular piece of hardware.  No one is advocating replacing a
source standard with a binary one, just adding binary standards where useful.

	Russ
----
Russell R. Tuck, III                   CSNET: tuck@unc
Computer Science Dept., Sitterson Hall ARPA:  tuck@cs.unc.edu
University of North Carolina           UUCP:  {ihnp4|decvax}!mcnc!unc!tuck
Chapel Hill, NC 27599-3175, USA        Phone: (919) 962-1755 or 962-1932

wcs@ho95e.ATT.COM (Bill.Stewart.<ho95c>) (03/09/88)

In article <497@taux01.UUCP> yuval@taux01.UUCP (Gideon Yuval) writes:
>The new ABI standard, which is supposed to be the Unix standard for object-code
>distribution, is (a variation of) COFF for SPARC. How much hardware-indpendence
>is going to survive the changeover to ABI?

You're mixing up the AOE Application Operating Enviroment work with the
ABI Application Binary Intersomething standard.  ABI basically requires
that all Sparc object code be compatible, just as similar work is going
on for the 386 and 680[23]0 worlds.  What this means is that if you
develop code on one brand of sparc-machine, you won't have to recompile
and re-port for each other brand of machine out there.  Today in the
680*0 world, you can't do this; if two 68000-box hardware vendors got
their UNIX OS ports from different software vendors, you probably can't
share binaries, so supporting multiple machines costs you a lot more.

This is the big strength of the MS-DOS world - if you stick to a
reasonable set of assumptions, your software will work on almost every
clone out there, without you having to buy the boxes and test them.
This makes it easy to reach a large market for your applications, so
you can afford to develop good applications.
-- 
#				Thanks;
# Bill Stewart, AT&T Bell Labs 2G218, Holmdel NJ 1-201-949-0705 ihnp4!ho95c!wcs
# So we got out our profilers and debuggers and editors and various other
# implements of destuction and went off to clean up the tty driver...