Path: utzoo!attcan!uunet!lll-winken!lll-tis!ames!killer!tness7!tness1!nuchat!sugar!peter
From: peter@sugar.UUCP (Peter da Silva)
Newsgroups: comp.sys.amiga
Subject: Re: Amiga UNIX
Summary: Just because they have the UNIX source,
	 doesn't mean they're sufficiently Zen.
Message-ID: <2210@sugar.UUCP>
Date: 28 Jun 88 12:02:23 GMT
References: <1985@uhccux.uhcc.hawaii.edu> <4079@cbmvax.UUCP> <6811@cup.portal.com> <4124@cbmvax.UUCP>
Organization: Sugar Land UNIX - Houston, TX
Lines: 66

In article <4124@cbmvax.UUCP>, jesup@cbmvax.UUCP (Randell Jesup) writes:
> In article <2188@sugar.UUCP> peter@sugar.UUCP (Peter da Silva) writes:
> >In article <4112@cbmvax.UUCP>, jesup@cbmvax.UUCP (Randell Jesup) writes:
> >> 	All you need to do a fork() is to copy the data/stack segments on
> >> task swaps between those two.

> >cat file | while read FOO BAR JUNK; do frobb $FOO | baz $BAR; done | ...

> >That 'while' (according to the docs: I haven't seen the Bourne shell source)
> >runs in a forked subshell. Now all you have to do is stick this in the
> >background, or do this twice, and you die die die die...

> 	The shell(s) are part of the system.  There are ways around it, of
> course that requires mods to the shell.  So what?

The shells(s) are just another application program. If you don't believe me,
call the AT&T Software Toolchest and inquire about korn shell sources. I do
NOT want a UNIX that requires me to make extensive mods to ksh to make it
run.

> It's user/application/pd/
> whatever programs where this matters, since anything that's part of the system
> can work around the slowness of fork()s that don't exec/exit.

And I don't want the guy doing the port wasting his time on application
programs when he could be adressing systems problems. Go have a talk to the
guys on comp.unix.microport about where that can lead. Talk to your local
Xenix site about shells that forget to keep history.

We're talking a major project to get UNIX running under AmigaDOS anyway. Why
make things harder by porting to hardware that doesn't like UNIX? Install an
MMU, for gods sake. Ship UNIX with a daughterboard containing at least a
68010 and an MMU. AmigaDOS likes the 68010 just fine...

> 	Also, most (99%? - don't flame, it's just a guess) of pipe invocations
> don't involve the shell executing lots of subshells that don't exec.  In fact,
> I think I've never done so.  So long as only one of the shell subprocesses is
> actually doing any processing, there's no extra overhead.

Have a look at /usr/bin/cal if you have a SYSV system.

Now, the following is a straw man... just because something is shipped with
the system doesn't mean it's done right: if it were, then there wouldn't
be a BUGS (or "RESTRICTIONS :->) section in the UNIX manual and all commands
would use perror().

But I'll address it anyway.

> >> Luckily, VERY few programs
> >> fork without exec()ing or exit()ing soon thereafter (though they often
> >> muck with fd's, etc first.)

> >Yeh, the shell is the only one I can think of that I use often :->.

> Like I said VERY few.  How many different shells do you run on your system?
> 2? 3?

4, actually: sh, csh, ksh, and browse.

> How many of them are user-written programs (i.e. not obtained with the
> system)?

2, ksh and browse.
-- 
-- `-_-' 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".