[comp.os.minix] Multitasking on the ST

swklassen@dahlia.waterloo.edu (Steven W. Klassen) (08/07/89)

In article <652@opal.tubopal.UUCP> alderaan@tubopal.UUCP (Thomas Cervera) writes:
>
>  What's all this about MultiTasking on the ST ? You don't have a MMU (not
>really and I think that's the worst failure in the ST's hardware architechture),
>so you are definetely not able to run a *secure* multitasking on this machine
>even if you want to - basta. All what you can call protected memory inside the 
>ST is a bunch of bytes at the bottom plus the hardware registers - that's it.
>  If you want to realize reasonable memory segmentation (in my experience this
>is essential for TimeSharing) you MUST have a MMU.
>
>-- 
>Thomas Cervera         | UUCP:   alderaan@tubopal.UUCP       
>SysMan RKOpdp (RSTS/E) |         alderaan%tubopal.UUCP@TUB.BITNET (saves $$$)
>D-1000 Berlin 30       |         ...!pyramid!unido!tub!opal!alderaan
>Motzstrasze 14         | BITNET: alderaan%tub@DB0TUI11.BITNET 

Oh really?  Then how do you explain the appearance of Minix (a Unix
look-alike) for the Atari ST?

I have cross posted this to the Minix newsgroup.  I thought you (Thomas)
might be interested in telling those who gave the ST multitasking
just why what they have done is not possible.

I agree that the Atari hardware is not designed for multitasking but
that does not make it impossible, only less efficient.  By creating
multitasking systems for the ST (like Minix and MX2) people are telling
Atari that we want multitasking and would like the hardware to
support it.


Steven W. Klassen
Computer Science Major
University of Waterloo

alderaan@tubopal.UUCP (Thomas Cervera) (08/08/89)

In article <15706@watdragon.waterloo.edu> swklassen@dahlia.waterloo.edu (Steven W. Klassen) writes:
>In article <652@opal.tubopal.UUCP> alderaan@tubopal.UUCP (Thomas Cervera) writes:
>>so you are definetely not able to run a *secure* multitasking on this machine
                                          ^^^^^^^^ keep in mind
>>  If you want to realize reasonable memory segmentation (in my experience this
>>is essential for TimeSharing) you MUST have a MMU.
>Oh really?  Then how do you explain the appearance of Minix (a Unix
>look-alike) for the Atari ST?

  But look at the performance of that multitasking system.
  And, If I'd decide to write a real nasty program to run under Minix, 
the chance is 99% that I crash the WHOLE system with this program. Myself,
I am a Minix user and I think I know what I'm talking about.

  Conclusion : Minix is a very nice software to use it for learning about
time sharing, but it's useless for a *secure* (as I said above) every day
multi(tasking|user) operation because it is definetely not reliable enough.
You WILL have this problem with all multi tasking systems running on an
unmodified ST.
  I think nobody would ever have the serious idea to use Minix to run an
open access machine, for example, even if the hardware was sufficient (dialup
lines, fast disk for the non-existent Minix swapper etc.).

-- 
Thomas Cervera         | UUCP:   alderaan@tubopal.UUCP       
SysMan RKOpdp (RSTS/E) |         alderaan%tubopal.UUCP@TUB.BITNET (saves $$$)
D-1000 Berlin 30       |         ...!pyramid!unido!tub!opal!alderaan
Motzstrasze 14         | BITNET: alderaan%tub@DB0TUI11.BITNET 

ralph@cc.brunel.ac.uk (Ralph Mitchell) (08/08/89)

In article <15706@watdragon.waterloo.edu> swklassen@dahlia.waterloo.edu (Steven W. Klassen) writes:
>In article <652@opal.tubopal.UUCP> alderaan@tubopal.UUCP (Thomas Cervera) writes:
 >>
 >>  What's all this about MultiTasking on the ST ? You don't have a MMU (not
 >>really and I think that's the worst failure in the ST's hardware architechture),
 >>so you are definetely not able to run a *secure* multitasking on this machine
 >>even if you want to - basta. All what you can call protected memory inside the 
 >>[...]
 >Oh really?  Then how do you explain the appearance of Minix (a Unix
 >look-alike) for the Atari ST?
 >
 >I have cross posted this to the Minix newsgroup.  I thought you (Thomas)
 >might be interested in telling those who gave the ST multitasking
 >just why what they have done is not possible.

Actually, he did say SECURE multitasking was not possible.  i.e. One
process address space is not protected against another process writing
all over it.

Ralph Mitchell
-- 
JANET: ralph@uk.ac.brunel.cc  ARPA:  ralph%cc.brunel.ac.uk@cwi.nl
UUCP:  ...ukc!cc.brunel!ralph PHONE: +44 895 74000 x2561
"There's so many different worlds, so many different Suns" - Dire Straits
"Never underestimate the power of human stupidity" - Salvor Hardin, Foundation

XBR2D78V%DDATHD21.BITNET@cunyvm.cuny.edu (MATHIAS GAERTNER) (08/08/89)

Well,
the MINIX-code is not the fastest and security is not the best, but it is not
the only multi-tasking system on this machine.
Think at the famous OS-9 or MIRACLE (not tested here!). They all work fine,
fast AND secure (at least OS-9).
So, good systems are possible even without a MMU!


                      M. Gaertner
                TH Darmstadt, W. Germany
                XBR2D78V@DDATHD21.BITNET

peter@ficc.uu.net (Peter da Silva) (08/09/89)

In article <21282@louie.udel.EDU>, XBR2D78V%DDATHD21.BITNET@cunyvm.cuny.edu (MATHIAS GAERTNER) writes:
> Think at the famous OS-9 or MIRACLE (not tested here!). They all work fine,
> fast AND secure (at least OS-9).
> So, good systems are possible even without a MMU!

OS-9 has one huge advantage over MINIX. It was designed for systems without
an MMU, so it doesn't assume you can relocate logical zero, and it doesn't
have to implement fork(). On the down-side it's totally non-portable outside
the 6809/68000 world.
-- 
Peter da Silva, Xenix Support, Ferranti International Controls Corporation.
Business: peter@ficc.uu.net, +1 713 274 5180. | "The sentence I am now
Personal: peter@sugar.hackercorp.com.   `-_-' |  writing is the sentence
Quote: Have you hugged your wolf today?  'U`  |  you are now reading"

ralph@cc.brunel.ac.uk (Ralph Mitchell) (08/09/89)

In article <21282@louie.udel.EDU> XBR2D78V%DDATHD21.BITNET@cunyvm.cuny.edu (MATHIAS GAERTNER) writes:
>Well,
>the MINIX-code is not the fastest and security is not the best, but it is not
>the only multi-tasking system on this machine.
>Think at the famous OS-9 or MIRACLE (not tested here!). They all work fine,
>fast AND secure (at least OS-9).
>So, good systems are possible even without a MMU!


I think we're not talking about the sort of security that stops a user
attacking the filesystem or another user's files.  We're talking about
a process being confined to its own memory space.  The Atari MMU doesn't
keep track of which process owns which memory block, so any process could
wipe out any other process's memory...

Ralph Mitchell
-- 
JANET: ralph@uk.ac.brunel.cc  ARPA:  ralph%cc.brunel.ac.uk@cwi.nl
UUCP:  ...ukc!cc.brunel!ralph PHONE: +44 895 74000 x2561
"There's so many different worlds, so many different Suns" - Dire Straits
"Never underestimate the power of human stupidity" - Salvor Hardin, Foundation

sww@optima.optimage.COM (Stephan W.Wendl) (08/09/89)

When do people stop complaining about things that were not 
intended. Minix was clearly meant to be a system for teaching
operatings systems and NOT to replace unix (tm), msdos, amigados,
MacLooser and other software crawling between chips.
It is like buying a bicycle and complaining why it doesn't get
you to the moon.



-- 
Stephan W. Wendl   Optimage Chicago, Il 60606
(CompuServe)	   300 W. Adams St., Suite 601
(72431,1232)	   uunet!{philabs,mcrware}!optima!sww
		   (312) 853-2637 FAX:	(312) 782-9175

swklassen@dahlia.waterloo.edu (Steven W. Klassen) (08/09/89)

In article <666@opal.tubopal.UUCP> alderaan@tubopal.UUCP (Thomas Cervera) writes:
>>>  If you want to realize reasonable memory segmentation (in my experience this
>>>is essential for TimeSharing) you MUST have a MMU.
>>Oh really?  Then how do you explain the appearance of Minix (a Unix
>>look-alike) for the Atari ST?
>
>  But look at the performance of that multitasking system.
>  And, If I'd decide to write a real nasty program to run under Minix, 
>the chance is 99% that I crash the WHOLE system with this program. Myself,
>I am a Minix user and I think I know what I'm talking about.
>
>  Conclusion : Minix is a very nice software to use it for learning about
>time sharing, but it's useless for a *secure* (as I said above) every day
>multi(tasking|user) operation because it is definetely not reliable enough.
>You WILL have this problem with all multi tasking systems running on an
>unmodified ST.

"Although MINIX was first implemented on the IBM PC/XT/AT familiy, it was
 written with portability in mind.  We considered it a challenge to test
 the portability, and used the Atari ST as the target machine for a 
 number of reasons.  The ST is a popular machine with a good price/
 performance ratio, and attracts a different class of users.  The ST
 uses the Motorola 68000 processor, as several other popular micros
 do, so that a port to the ST could serve as the starting point for
 ports to the Apple Macintosh and Commodore Amiga.  LASTLY, THERE IS A
 WIDESPREAD BELIEF THAT UNIX, AND THEREFORE MINIX, REQUIRES THE SUPPORT
 OF A MEMORY MANAGEMENT UNIT (MMU).  PROVING THE OPPOSITE HAS BEEN ONE
 OF OUR DRIVING FORCES."   (excerpt from Intro to Minix ST manual)

You emphasize that MINIX ST is not secure and claim this is due to the
lack of the MMU.  I agree that MINIX ST is not secure but claim that
this is not due to the lack of an MMU but due to the fact that Mr.
Tanenbaum wanted to keep things simple.  To support this note that
MINIX is not particularly secure on the IBMs either even though they
do have a (sort of) MMU.

As for the security of other attempts at multiprocessing (eg. MX2), I
have not tried any of them so I really can't comment on them.

Finally, I agree with you that the Atari ST hardware is not meant for
multitasking.  My dissagrement is that I claim this makes multitasking
difficult and inefficient (compared to a machine that does support it
in hardware) BUT NOT IMPOSSIBLE.

Let me close with the conclusion which I have been trying to get accross:
1) MULTITASKING IS USEFUL, EVEN ON A SINGLE-USER MACHINE
2) MULTITASKING IS POSSIBLE WITHOUT A GREAT DEAL OF EXTRA HARDWARE
3) MINIX AND MX2 ARE EVIDENCE THAT ATARI USERS WANT MULTITASKING
4) HENCE ATARI CORP SHOULD GIVE US MULTITASKING *WITH*THE*HARDWARE*TO*
   MAKE*IT*EFFICIENT.



Steven W. Klassen
Computer Science Major
University of Waterloo

rob@kaa.eng.ohio-state.edu (Rob Carriere) (08/10/89)

In article <666@opal.tubopal.UUCP> alderaan@tubopal.UUCP (Thomas Cervera) 
writes:
>  And, If I'd decide to write a real nasty program to run under Minix, 
>the chance is 99% that I crash the WHOLE system with this program. Myself,
>I am a Minix user and I think I know what I'm talking about.

I'll gladly concur until you supply evidence to the contrary. :-)

>  Conclusion : Minix is a very nice software to use it for learning about
>time sharing, but it's useless for a *secure* (as I said above) every day
>multi(tasking|user) operation because it is definetely not reliable enough.
>You WILL have this problem with all multi tasking systems running on an
>unmodified ST.

Yup.  You will also have the _exact_same_ security problem with any task
switcher on an unmodified ST.  At the very least the taskswitcher must keep
part of itself in memory.  I can trash that from my program.  You will have
the same problem with a RAM-disk.

This is not an argument against multitasking and for task switching because it
applies with equal force to both.

SR