[comp.sys.atari.st.tech] floppies as swap space

ripley@tubopal.UUCP (Hans-Ch. Eckert) (08/01/90)

[Another message I wanted to mail but it bounced... :-( ]

[Q: How to use diskspace as additional memory?]
How do you want to handle page faults (or similar)? The 68000 has a bug
there and cannot continue exactly at the point the missing data got it!

With a 68010 it'd work, but then you have the different stack-allocation
at traps...

That's why TOS has to be patched to work with a 68020 (PAK-68) and some
programs won't work anymore - even some which don't do illegal things...

It should work on a TT.

Greetings,
				RIPLEY


-- 
Greetings from RIPLEY | UUCP: ripley@tubopal.UUCP (ripley@opal.cs.tu-berlin.de)
Hans-Christian Eckert |         ...!unido!tub!opal!ripley (Europe) 
D-1000 Berlin 30      |         ...!pyramid!tub!opal!ripley (World)
Regensburger Str. 2   | BITNET: ripley%tubopal@DB0TUI11.BITNET (saves $$$)

stripes@eng.umd.edu (Joshua Osborne) (08/03/90)

In article <1700@troll.tubopal.UUCP> ripley@tubopal.UUCP (Hans-Ch. Eckert) writes:
>[Another message I wanted to mail but it bounced... :-( ]
>
>[Q: How to use diskspace as additional memory?]
>How do you want to handle page faults (or similar)? The 68000 has a bug
>there and cannot continue exactly at the point the missing data got it!

I wouldn't call it a bug.  I doubt the 68000 ever had "support VM" in it's
design spec, and MC never tryed to fool anyone into thinking it did support
VM.  ('tho a great many little Unix boxes used the 68000 with swaping, not
paging, and they used the XOR insn to hit the lowest point on the stack that
a function would use, as part of some kludge that the ST can't do anyway
because it's "MMU" really doesn't do any V->P mapping).

At worst it's a design oversite in the 68000.  The 68010 was really the
first in the 68K line that was designed to support VM.
-- 
           stripes@eng.umd.edu          "Security for Unix is like
      Josh_Osborne@Real_World,The          Mutitasking for MS-DOS"
      "The dyslexic porgramer"                  - Kevin Lockwood
"Don't try to change C into some nice, safe, portable programming language
 with all sharp edges removed, pick another language."  - John Limpert

7103_2622@uwovax.uwo.ca (Eric Smith) (09/11/90)

In article <1407@wet.UUCP> nut@wet.UUCP (adam tilghman) writes:
>In article <1990Jul31.165603.20869@msuinfo.cl.msu.edu> schultzd@kira.uucp (David Schultz) writes:
>>
>>2.)  Is there any program that allows you to use a floppy drive as
>>swap space to get more memory in an ST.  I realize this would be
>>painfully slow, but until I can afford more mem, it would have to do.
>>It would be infinitely more helpful on a nig hard drive.  (Set aside
>>an x meg partition on the hard drive and treat it as internal memory.
>>Virtual mem on the ST!!!)
>
>  If you are using just a plain-vanilla 68000 in your machine, this is
>completely impossible.

Anything's possible :-). It's true that the 68000 doesn't support demand
paged virtual memory. (If you really must have it, you can always write an
interpreter for a virtual machine; but this will be *slow*). However,
swapping whole processes in and out of memory is possible, if the processes
don't intercept any interrupt vectors and don't mess with memory they don't
own. I plan on adding this feature to MiNT at some time (unless some
intrepid programmer beats me to it -- the hooks are already there in the code).
Done properly, swapping need not even be very slow; typically you'll only
have one process running, with others sitting in Pexec() waiting for children
to finish -- prime candidates for swapping.
--
Eric R. Smith                     email:
Dept. of Mathematics            ersmith@uwovax.uwo.ca
University of Western Ontario   ersmith@uwovax.bitnet
London, Ont. Canada N6A 5B7
ph: (519) 661-3638