Path: utzoo!mnetor!uunet!husc6!bloom-beacon!gatech!mcnc!thorin!pooh!tuck From: tuck@pooh.cs.unc.edu (Russ Tuck) Newsgroups: comp.unix.wizards Subject: Binary standards for UNIX Message-ID: <1588@thorin.cs.unc.edu> Date: 7 Mar 88 15:27:03 GMT References: <1636@tulum.UUCP> <3168@phri.UUCP> <497@taux01.UUCP> Sender: news@thorin.cs.unc.edu Reply-To: tuck@pooh.UUCP (Russ Tuck) Organization: University Of North Carolina, Chapel Hill Lines: 35 Keywords: ABI 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