[comp.os.minix] Virtual memory or swapping, was Re: SCSI disk drives under MINIX

ghelmer@dsuvax.uucp (Guy Helmer) (11/01/90)

In <34957@nigel.ee.udel.edu> MDOELL%DOSUNI1.BITNET@cunyvm.cuny.edu (Magnus Doell) writes:

>On Mon, 29 Oct 90 16:37:10 GMT Erach Irani said:
>> [ scsi question deleted ]

>You need the following things for porting GNUemacs etc.:
>3. At least 4M RAM (better 8) as MINIX doesn't swap and GNUemacs
>   needs a lot of memory for itself and for all the files you are
>   working on with this beast.

Is anyone with SPARC, 68030, or 80[34]86 chips working on adding
demand paged virtual memory to MINIX?  Lacking that, has anyone
successfully put process swapping in?

I hate being constrained by physical memory :-(
-- 
Guy Helmer                   helmer@sdnet.bitnet, dsuvax!ghelmer@cs.utexas.edu
work: DSU Computing Services, Business & Education Institute    (605) 256-5315
play: MidIX System Support Services                             (605) 256-2788
postnews: message content ambiguous; spurious information added as required

waltje@minixug.mugnet.org (Fred van Kempen) (11/05/90)

In article <1990Oct31.224953.7915@dsuvax.uucp>, ghelmer@dsuvax.uucp (Guy Helmer) wrote:
> Is anyone with SPARC, 68030, or 80[34]86 chips working on adding
> demand paged virtual memory to MINIX?  Lacking that, has anyone
> successfully put process swapping in?
> 
> I hate being constrained by physical memory :-(
Yes.
Someone at the Free University (VU) in Amsterdam (NL) has written a
swapper for MINIX.  He is now converting it to 1.5, and adding code
for the SharedText feature.  To prevent his mailbox from overflowing,
I will forward this to him.  He can then reply either directly or
through me.

Fred.
+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
| MINIX User Group Holland  UUCP: waltje@minixug.mugnet.org     |
| c/o Fred van Kempen,      or: waltje%minixug@plains.nodak.edu |
| Hoefbladhof  27                                               |
| 2215 DV  VOORHOUT         "Love is - what you want it to be.  |
| The Netherlands                               Alannah Myles"  |
+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+

adrie@philica.ica.philips.nl (Adrie Koolen) (11/05/90)

In article <1990Oct31.224953.7915@dsuvax.uucp> ghelmer@dsuvax.uucp (Guy Helmer) writes:
>Is anyone with SPARC, 68030, or 80[34]86 chips working on adding
>demand paged virtual memory to MINIX?  Lacking that, has anyone
>successfully put process swapping in?

I considered implementing demanded paging when porting Minix to the
SparcStation. To do it right and as portable as possible, one has to
change the Memory Manager quite a lot. As one of my objectives was
to work on an as straight port as possible, I didn't do it. Andy is
definatively against virtual memory and he has to approve of the
changed MM, I doubt whether it will ever be implemented in an
official Minix release.

>I hate being constrained by physical memory :-(

I feel the same way, also because of the stupid `chmem' stuff and
the waist of memory with programs that might sometimes need a lot
of memory but almost never do (e.g. the GNU C compiler, which needs
a gap of 1200000 to compile itself but needs `only' some 600000 bytes
with normal programs).

Adrie Koolen (adrie@ica.philips.nl)
Philips Innovation Centre Aachen

tim@proton.amd.com (Tim Olson) (11/06/90)

In article <701@philica.ica.philips.nl> adrie@beitel.ica.philips.nl (Adrie Koolen) writes:
| In article <1990Oct31.224953.7915@dsuvax.uucp> ghelmer@dsuvax.uucp (Guy Helmer) writes:
| >Is anyone with SPARC, 68030, or 80[34]86 chips working on adding
| >demand paged virtual memory to MINIX?  Lacking that, has anyone
| >successfully put process swapping in?
| 
| I considered implementing demanded paging when porting Minix to the
| SparcStation. To do it right and as portable as possible, one has to
| change the Memory Manager quite a lot. As one of my objectives was
| to work on an as straight port as possible, I didn't do it. Andy is
| definatively against virtual memory and he has to approve of the
| changed MM, I doubt whether it will ever be implemented in an
| official Minix release.

I thought about this too, for the Am29000 port I did, and decided to
use the on-chip MMU to implement segmentation so that the current
Memory Manager code could be used with little change.  The next step
would be to go to paging (but still keep everything in memory).

| >I hate being constrained by physical memory :-(
| 
| I feel the same way, also because of the stupid `chmem' stuff and
| the waist of memory with programs that might sometimes need a lot
| of memory but almost never do (e.g. the GNU C compiler, which needs
| a gap of 1200000 to compile itself but needs `only' some 600000 bytes
| with normal programs).

I got rid of the 'chmem' stuff by adding code in the kernel to
automatically grow stacks when they grew over their current boundary.
Memory was allocated in 4 separate segments: text, data+bss+heap,
memory stack, register stack.  The stacks were placed high enough and
far enough apart in virtual memory that there should never be problems
with them growing out of virtual space (although that is checked for).
Any growth of a segment (automatic for stacks, or via 'brk' for heap)
will free up the current physical memory and allocate a new, larger
physical section (also changing the mapping) if required.


	-- Tim Olson
	Advanced Micro Devices
	(tim@amd.com)