Subject: Re: What does "binary emulation" means?
To: Baldassare Profeta <dante@mbox.vol.it>
From: Hubert Feyrer <Hubert.Feyrer@rz.uni-regensburg.de>
List: amiga
Date: 01/27/1996 21:13:42
> In the 1.1 Installation instructions there is written:
> "NeTBSD 1.1 has significantly enhanced the binary emulation subsystem
> (which includes iBCS2, Linux, OSF/1, SunOS, SVR4, Solaris and Ultrix
> compatibility)"
>
> What does it means?
> Am I able to run the binary version of a program compiled for those
> platforms? Umh, I don't think my interpretation is right...

No, it isn't. :)


Binary emulation means two things:

1. to read different executable file formats: About every second operating
system uses a differen file format in which it saves its binaries, using
different headers, magic cookies, hunks, whatever. The ones NetBSD supports
natively is a.out, and through some of the above emulations, ELF's supported,
too.

2. (the more important thing!) Almost every operating system offers also a
different range of services to the system programmer, with different ways to
access them. This is called the system-call-interface. Under AmigaOS, this is
done with an index into a table containing pointers to functions pointed to by
some address register  and the data in some data register, NetBSD uses some
trap-command, I think. Other operating systems use other methods, traps,
tables, registers, etc. and this is handled by the binary emulation.

Of course, for a program to generate such system calls (in a controled manner
:-), it has to be compiled for the CPU it's running on, you won't be able to
execute Ultrix binaries on a Motorola CPU. But what you can do is use
Sun3-binaries, which just use different ways to reach the kernel (==the
operating system itself) to use its services.

On NetBSD.amiga, you can use binaries for the following architectures (as long
as they don't access any special hardware or drivers):

- NetBSD/amiga, mac68k, atari and sun3. The hp300-port uses a different
pagesize
  to remain binary compatible with HP-UX, and therefore won't work by default.
- Sun3, SunOS 4.x


Hope this helps,

		Hubert

-- 
=============== Hubert Feyrer ============================================
      Weekdays: Rennerstr. 19, D-93053 Regensburg, Tel. 0941/943-2905
      Weekends: Bachstr. 40,   D-84066 Mallersdorf, Tel. 08772/6084
      Internet: hubert.feyrer@rz.uni-regensburg.de, IRC: hubertf
==========================================================================