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".