[comp.sys.amiga.tech] UNIX under AmigaDOS, and how to read what people actually wrote.

peter@sugar.UUCP (Peter da Silva) (06/17/88)

Everyone but Kent Paul Dolan:

If you already understand the points I'm trying to make here, feel free to
hit 'N' at any time. There's not going to be a whole lot of variety to this
message...

In article ... kent@xanth.cs.odu.edu (Kent Paul Dolan) completely misses
  the explanation and expansion of a quick one-line off-the-cuff comment
  that I made in my original article...

> In article <2120@sugar.UUCP> peter@sugar.UUCP (Peter da Silva) writes:
> >In article ... kent@xanth.cs.odu.edu (Kent Paul Dolan) writes:
> >> In article <2108@sugar.UUCP> peter@sugar.UUCP (Peter da Silva) writes:
> >> >As an aside: I've been re-reading Bach's book and thinking about
> >> >running UNIX tasks under AmigaDOS....

Now then. Remember the people pointing out that on the same hardware UNIX
would give you less performnace than AmigaDOS, since those heavy-duty
context switches where you have to reprogram the MMU for each task. UNIX
is not a super-efficient operating system, you know. It's just a lot better
than other protected-mode operating systems where you don't have a lot of
MMU contexts available in hardware.

Oooookay. Now, I'm not telling you that UNIX would be slower under AmigaDOS.
I'm telling you that AmigaDOS would be slower if it was having to support
UNIX tasks.

Keep that in mind when you read the next sentence:

> >> >The MMU overhead would be about zip with just one task (since you
> >> >wouldn't ever be switching UNIX contexts).

This is a comment directed at power *Amiga* users who would definitely be
disappointed in the performance of UNIX on the same hardware. What I'm saying
here is that even these people will be able to put up with UNIX for one task
(though if the MMU has more (say 16, like in a Sun) task contexts this number
can be revised upwards). Got that?

> >> 	Huh?  I frequently spawn 16 or 20 tasks...

Now I suppose my reply was a bit misleading here, but my main objective is
to convince people that UNIX won't slow the Amiga down... in fact putting
system tasks into AmigaDOS would actually speed UNIX up! It'd be like putting
init into the kernel, for a performance standpoint.

> 	You sort of ignored the point here, Peter.  We weren't talking
> 	about AmigaDOS tasks, we were talking about Unix.  You said
> 	Unix wouldn't be wasting time swapping tasks, and I demurred.

OK, what I said was that *AmigaDOS* wouldn't be wasting *Amiga users* time
swapping UNIX tasks.

> 	[description of power user] Don't tell her she can only run one Unix
> 	task at a time, or that is the last Amiga sale in her circle
> 	of acquaintance.

Again, I didn't say that. I didn't imply that. Of course you could have as
many UNIX tasks as you could stand. If you've been used to AmigaDOS that's
not going to be so very many. Your power user is going to be quite pleased
with the performance of her box: after all, it's got (as I pointed out before)
a good real-time kernel.

> 		The MMU overhead would be about zip with
> 		just one task (since you wouldn't ever
> 		be switching UNIX contexts).
> 
> 	I hope that is not what gets designed; it won't sell a second Amiga.

That's right. The MMU overhead would be about zip with one UNIX task. You could
run more, but then your MMU overhead would be high enough that Amiga users
would be disappointed. UNIX users, not used to Amiga tasks, wouldn't mind at
all.

> >Why scatter-load the UNIX process?
> 
> 	Change contexts, look at an AmigaDOS power user who wants to use
> 	Unix just every once in a while.  I might be several hours into my
> 	work day when I decide to bring up Unix, and I don't have
> 	checkpointing built into my stray cycle eating ray tracer, so I
> 	expect to come up in the existing memory fragmentation, not have to
> 	reboot.  Why would you design any process running under AmigaDOS,
> 	least of all something as big as AmiIX, to not scatter load?  All
> 	the docs say the opposite.

AmiIX would scatter load, sure. But the UNIX process running under AmiIX
doesn't normally need to.

> 	Does "Unix jobs never shrink" mean "free" is a scam?

No, it just means that "free" doesn't affect other tasks memory.

>	This really
> 	doesn't affect the argument, though, because even if all Unix does
> 	is add memory, with AmigaDOS adding and freeing memory, the Unix
> 	portion will share some of the complexity of spagetti.  Of course,
> 	if you have a huge superabundance of memory, you can always just
> 	give the Unix process the top half, but we have seen at least one
> 	reverse of the memory cost curve trend, so maybe we should plan on
> 	less than superabundant memory; and design for the "must use
> 	efficiently and well" case instead.

We're not talking about 512K Amigas here. I have 4 meg in mine, and I'm a bit
of a power user (:->), but I still have considerable sized chunks, even in
CHIP memory.

> >Kent, do you have to be so negative all the time? How about engaging in some
> >constructive criticism. Suggest alternative methods for doing things. Try to
> >keep important facts (like the relative performance of UNIX and the Amiga
> >EXEC) in mind. Just what purpose are you trying to serve here?

> 	Well, I've seen a lot of projects start off with this "piece of
> 	cake" attitude, and get killed off when they started eating up much
> 	more time and money than projected.

Well, (1) I'm not starting off a project, (2) you must have seen my disclaimer
about "peice of cake" being a relative terms, and (3) you're awfully free about
telling other people how to regulate their time. First of all you tell me I
don't have the time to manage comp.sources.amiga (and you seem a LOT more upset
about that than Pat White... and you're not even a principal), and now you're
telling me I don't have the time to do this blue-sky project that I don't even
have the vaguest intention of starting.

> 	You don't get that kind of analysis if everybody plays Pollyanna.

But if everyone plays the devils advocate right from day one, you don't get
any kind of project, either.

>	Sorry if you don't like having to defend your ideas.  I
> 	guess I should just let you rattle on uninterrupted.

I don't mind defending my ideas. I don't like having to explain multiple
times to the person attacking me that what they're attacking isn't part of
my ideas in the first place. For the final time: I didn't say (1) that you
should only have one UNIX task under AmiIX, or (2) that you should load
AmiIX and all its UNIX processes into one contiguous hunk. I just recommended
that the UNIX part of a given AmiIX process be kept contiguous to simplify
bookkeeping. If you feel fragmentation is too much of a problem for that,
then you can give the AmiIX processes their own hunk. AmiIX itself is just
another group of Amiga processes (probably with quite a few shared libraries
in there :->) and can be loaded however they like. The fragmentation isn't
going to be any worse than what you would expect from Amy itself.
-- 
-- Peter da Silva      `-_-'      ...!hoptoad!academ!uhnix1!sugar!peter
-- "Have you hugged your U wolf today?" ...!bellcore!tness1!sugar!peter
-- Disclaimer: These may be the official opinions of Hackercorp.