Path: utzoo!utgpu!watmath!att!tut.cis.ohio-state.edu!gem.mps.ohio-state.edu!ginosko!uunet!mcvax!hp4nl!phigate!philmds!leo
From: leo@philmds.UUCP (Leo de Wit)
Newsgroups: comp.sys.atari.st
Subject: Re: Multitasking on the ST
Message-ID: <1075@philmds.UUCP>
Date: 15 Aug 89 10:58:43 GMT
References: <8908021826.AA05333@ucbvax.Berkeley.EDU> <15627@watdragon.waterloo.edu> <652@opal.tubopal.UUCP> <471@tw-rnd.SanDiego.NCR.COM> <1066@philmds.UUCP> <482@tw-rnd.SanDiego.NCR.COM> <1071@philmds.UUCP> <483@tw-rnd.SanDiego.NCR.COM>
Reply-To: leo@philmds.UUCP (Leo de Wit)
Organization: Philips I&E DTS Eindhoven
Lines: 82

In article <483@tw-rnd.SanDiego.NCR.COM> johnl@tw-rnd.SanDiego.NCR.COM (John Lindwall) writes:
|In article <1071@philmds.UUCP> leo@philmds.UUCP (Leo de Wit) writes:
|[]
|
|This point is well taken, but does not negate the point that process protection
|is desirable (in my mind).

I would be the last one to deny that; what I meant was that a
non-multitasking machine like the ST can benefit from process
protection too.

|>                                                             My point
|>is, that a MMU is a probably undispensable ingredient IN AN OTHERWISE
|>EXCELLENT SYSTEM.  That safe system (which undoubtedly will have a
|>notion of privileges, users) is what you should start with in the first
|>place.
|>
|
|An MMU can protect pages of memory that the system considers special.  The
|system vectors could be marked as un-writable by user level processes. An
|attempt to modify the protected pages could be trapped and prevented.

Any usable system will have to have a way to install (re-install) system
vectors, switch to supervisor mode etc. In the current TOS each user program
can do that. What I meant was that the system should have a notion of
users with special privileges (root) so that one cannot inadvertently 
switch to kernel mode and do strange things. If you want to do something
special, OK become root and then do your stuff (very careful), then go
back being a normal user. This should be a hard fact in the system; it
could prevent a lot of viruses.

|>B.T.W. what do you do when a thunderstorm is coming up, but your
|>raytracer has yet to finish its last hour of calculations? Use a TMU :-) ?
|>
|
|Well, here in Sunny California (tm) we don't get many of those! :) :) :)

Here in Rainy Holland (B.V.) we usually get them after a few sunny days
(I shouldn't complain however - we had the best summer in years).

|>|I'm all for system robustness for ANY system.  My point is that when you
|>|introduce multitasking, memory protection is more important due to the
|>|potential to disrupt other processes.
|>
|>I heard this one before and I still won't believe it, unless a proper
|>argument is given.
|>
|
|So I assume (if you were using a multi-tasking system) that you would prefer
|NOT to have process protection?  I do not see the logic in this.

No, what I meant was that I would prefer to have memory protection in
both cases. I don't see a reason why it should be more important in the
multitasking case. You can have lots of vulnerable processes in the
other case as well.

|Yes, VM is nice.  In my day-to-day Amiga experience I do not run out of memory
|much.  I DO experience agonizing crashes which kill all my processes.  From
|this experience I developed the priority of process protection being more
|important.  If VM were available, I'm sure I would enjoy it and make use of it.

From what I hear in this group, a lot of people DO run out of memory -
even the ones with > 1 M memory. Accessories, TSR's, RAMdisks, disk caches
all grab a (not to be ignored) constant part of your memory. Now try and run
something like gcc (a known memory hog). Lots of people expanded their memory
already. But IMHO the most important use for VM is not protection, not paging
in additional memory when needed, but ... the processes being position-
independent! Try to implement the UNIX fork() call, you know what I mean
(also relocation becomes unnecessary, but that is a minor issue).

|
|Thank you for this enjoyable discussion.  I hope it can continue on the 
|amiable and informative level that has been maintained all along.  Looking
|forward to your reply.

Thank you too, me too, me too (in that order). Cheers,

                 Leo.

P.S. One noticeable difference between ordinary conversations and
Usenet discussions is that the former resembles multitasking, the
latter something like coroutines 8-).