[comp.os.minix] Minix-386 : maximum size?

kevin@nuchat.UUCP (Kevin Brown) (12/18/90)

I'm running Minix-386 with virtual consoles (no Shoelace) on my system, 
and my system has 8 meg of RAM. Not surprisingly, I recently discovered that 
32 processes just isn't enough when you have 8 console sessions going.  :-)

So I upped the constant, NR_PROCS, to 64, and discovered that weird things
happened as a result.  I got random, spurious nonmaskable interrupts for no 
apparent reason, and this of course caused the kernel to panic.  Reducing 
the size of the buffer cache seemed to fix that problem.  Increasing the 
size of the buffer cache (to more than 320K) threw me into the ROM setup.  
Hmm...

I discovered, of course, that my image was big enough that it was overwriting
the loader as it was being loaded in.  Not good.  I changed the address of the
loader.  Now things seem to work (I'll know soon enough if the system
is stable, i.e. no spurious non-maskable interrupts and the like).

But as it stands right now, I have 8 meg of RAM, and will soon expand that
to 16.  Clearly I won't be able to use all that RAM for processes, unless
I increase the size of the process table yet again.  That'll mean I'll have
to reduce the size of my buffer cache (now at 380 blocks).

What I REALLY want is a loader that does its thing in 386 mode so it can
load the kernel anywhere in memory, not just in the first 640K.  This will
allow me to have, effectively, an arbitrarily large buffer cache and process
table.  A buffer cache of, say, a meg or two would be REAL NICE.

That would mean, of course, that the kernel would actually start up in 386
mode, instead of starting up in 8088 mode and then switching over like it
does now.

Has anyone out there done something like this?

As an aside, has anyone set up a boot procedure whereby the BSS size of the
various Minix objects is stored someplace and those sections "dynamically"
allocated?  This would mean that the on-disk image would be considerably
smaller than it is now.  It would also mean that you could make your tables
arbitrarily large without affecting the size of the kernel load image.


--
			Kevin Brown
		Addresses in preferred order:
		    csci31f7@cl.uh.edu 
		nuchat!kevin@uunet.uu.net

agm@stl.stc.co.uk (Andrew G. Minter) (12/19/90)

In the referenced article kevin@nuchat.UUCP (Kevin Brown) writes:
>What I REALLY want is a loader that does its thing in 386 mode so it can
>load the kernel anywhere in memory, not just in the first 640K.

I don't have enough knowledge about the deep and nasty internals of PC's to
write such such a beast, but it really is something that I would kill for
(or perhaps even pay money).  If someone feels inclined to have ago they
will have my eternal gratitude.

Andrew