Path: utzoo!attcan!uunet!sugar!peter
From: peter@sugar.UUCP (Peter da Silva)
Newsgroups: comp.sys.amiga
Subject: Re: Amiga UNIX
Message-ID: <2228@sugar.UUCP>
Date: 30 Jun 88 22:51:06 GMT
References: <1985@uhccux.uhcc.hawaii.edu> <4079@cbmvax.UUCP> <6811@cup.portal.com> <266@jackson.UUCP>
Organization: Sugar Land UNIX - Houston, TX
Lines: 49

In article <266@jackson.UUCP>, egranthm@jackson.UUCP (Ewan Grantham) writes:
> In article <2222@sugar.UUCP>, peter@sugar.UUCP (Peter da Silva) writes:
> > Why? The Amiga system software is in most areas far superior to Minix.
> > The only thing Minix has that I really miss is the ability to easily
> > port UNIX code to it. 

> So, does this mean that using minix one could easily port something like
> netnews, or are we talking being easier to rewrite programs that will
> then croak along for awhile?

Easy is a relative term. I could consider porting netnews to Minix,
starting with the distribution and providing stubs for the functions
that are missing. I have some of them already. It probably wouldn't
be much harder than porting it to a wildly variant Xenix. That, I've
done.

Of course, Minix doesn't have uucp or even (at the time I last looked at it)
a functional serial driver, so you probably wouldn't be able to do much with
it. But you could port the code.

I could probably port Netnews to AmigaDOS, but there is so much more that
would have to be done to make it work. I'm certainly not planning on doing
it in the immediate future.

> Seems to me that simply supporting the fork function would not be enough
> to make it "easy" to port code, but then maybe it depends on your
> definition of easy.

Supporting the fork function allows you to build a UNIX compatibility box
around the code, so you could run it without patching it. At the most
you might need to add some includes and defines. If you don't have the fork
function it's just not possible, since you can't emulate it with a spawn.
Individual programs might run, but in general it would be incomplete.

You can emulate system(), and you can emulate some of the uses of fork()
when followed by exec(). But you can't get all of them... you'd have to
dig into the code.

There are two ways of emulating fork on a 68000. You can do what Minix
on the ST does and copy the data segment in and out, or you can use a
base register for the data segment and pretend you're an IBM-PC.

Anyway, this is turning into a bit of a JJ. Let's get back to the point...
what's the advantage to Minix (or something similar) on the Amiga, other
than its UNIX-compatibility?
-- 
-- `-_-' Peter (have you hugged your wolf today?) da Silva.
--   U   Mail to ...!uunet!sugar!peter, flames to /dev/null.
-- "A foolish consistancy is the hobgoblin of little minds".