[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Virtual Memory



>> Perhaps it should also be noted that even if the 68000 machines never
>> will have real VM, some means of process swapping would be very
>> welcome. The idea is to swap blocked processes out to disk so that
>> other processes may run in their address-space. Even though swapping
>> large processes on each context-switch could be intolerable slow, it
>> could make the difference between something that runs and something
>> that dont. And since fork() blocks on such machines, swapping is
>> further reduced.
>
>I think it will be very diffcult (if not even impossible) only to implement 
>some simple way of swapping on 68000s. It's just the missing MMU. All 
>programs would have to know that their pointers might change and some 
>memory they just accessed is not valid any more. Maybe there is a way of 
>putting this into the MiNTLibs. But it will be hard work, no question. 
>And porting programs will be even harder, because most programs rely on 
>non changing pointers.

You're thinking of paging.  Paging does indeed require a PMMU to be
implemented properly.

Swapping involves picking some process which is not running, and
copying it in its entirity into a swap file.  Then its address space
can be given to another process; either one which is newly started or
one from the swap file.  The process has to be loaded in again before
it can be restarted, which may make response times horribly slow, but
it would work for existing binaries.  The location where the process
is stored will not change during its life-time, but it may not be
physically in memory all the time.

>I don't think someone will try to port Linux to 68000s, so for 68000 
>users MiNT is the only way to get some Unix compatible OS. VM then is 
>only a gift for those who have newer CPUs.

MiNT allows TOS/GEM programs and Unix-type programs to run together,
it runs on all Atari's but it doesn't do VM.  Linux does VM, only runs
on 68030/FPU Atari's, and runs all Linux/68k binaries, but not TOS/GEM
programs.

          MiNT                          Linux/68k

     No VM                         VM
     Runs on all ataris            Requires '030 with FPU
     Runs TOS/GEM/MiNT binaries    Runs only Linux/68k binaries
     Binary compatible with TOS    Binary compatible with other
                                        Linux/68k platforms

You pays your money and you takes your choice...

--
Charles Briscoe-Smith
3rd Year student of Computer Science
University of Kent at Canterbury, United Kingdom, European Union.
World Wide Web:  http://aurora.etsiig.uniovi.es:3080/~~pippin/