[comp.sys.mac] Boot Blocks

chuq@plaid.Sun.COM (Chuq Von Rospach) (12/13/87)

I know this is simple, but I can't find it anywhere. 

1) How can I find out what the System Heap numbers in the boot blocks are
   set for?

2) How can I change these numbers?

3) What should the numbers be for system release 5.0?

The reason I ask is that I believe most of the glitchies I've seen since
the upgrade to system 5.0 and multifinder are system heap exhaustion
problems. I read somewhere that the heap grew again (implying that the boot
block numbers got bigger) for Multifinder. But I can't find any program that
reads the blocks or writes the blocks or any documentation on what they
should be. 

Anyone want to point me in the right direction? And why isn't this
documented anywhere by Apple? And why isn't there an Apple utility to muck
with them? It seems to me this is a glaring hole in the system
configuration....

chuq
---
Chuq "Fixed in 4.0" Von Rospach			chuq@sun.COM	Delphi: CHUQ

moku@sphinx.uchicago.edu (Mark Francillon) (12/14/87)

In article <36343@sun.uucp> chuq@plaid.Sun.COM (Chuq Von Rospach) writes:
>
>1) How can I find out what the System Heap numbers in the boot blocks are
>   set for?

There's a function in Fedit+ to do this.

>
>2) How can I change these numbers?

Fedit again.

>
>3) What should the numbers be for system release 5.0?
>
>The reason I ask is that I believe most of the glitchies I've seen since
>the upgrade to system 5.0 and multifinder are system heap exhaustion
>problems. I read somewhere that the heap grew again (implying that the boot
>block numbers got bigger) for Multifinder. But I can't find any program that
>reads the blocks or writes the blocks or any documentation on what they
>should be. 

Isn't system heap size allocated dynamically now (vs. the version of
Juggler leaked last summer).  And if this is so, does it matter any more
what's in the boot blocks?

>
>chuq

   Mark Francillon
   Dept. of Anthropology
   University of Chicago
   ...ihnp4!gargoyle!sphinx!moku

goldman@apple.UUCP (Phil Goldman) (12/15/87)

In article <36343@sun.uucp> chuq@plaid.Sun.COM (Chuq Von Rospach) writes:
>1) How can I find out what the System Heap numbers in the boot blocks are
>   set for?
>
>The reason I ask is that I believe most of the glitchies I've seen since
>the upgrade to system 5.0 and multifinder are system heap exhaustion
>problems. I read somewhere that the heap grew again (implying that the boot
>block numbers got bigger) for Multifinder. But I can't find any program that
>reads the blocks or writes the blocks or any documentation on what they
>should be. 
>

INIT 31 will guarantee that there is some minimum amount of memory free in the
system heap (16k currently, I believe) before the startup application is
launched and the system heap is resized dynamically under MultiFinder.
Therefore, the number in the boot blocks has very little meaning; it only
needs to be big enough to get the system up and going.

There reason for the system heap "exhaustion" under MultiFinder occurs because
there are certain cases when it is just not possible for MF to grow the sys
heap "on the fly."  The most obvious instance of this is when all of available
memory is in use.  However, it can also happen when the last application
launched was forced to load into a relatively low memory address.  Since the
memory for this application cannot be moved, it provides a ceiling for the
growth of the sys heap.  Therefore, quitting other apps will not alleviate the
problem (which shows up most frequently as the inability to open a DA but
might cause a crash in extreme conditions), only quiting this particular app
will.

We are actively pursuing methods for making the memory for running applications
more relocatable.

-Phil Goldman
Apple Computer

lsr@apple.UUCP (Larry Rosenstein) (12/15/87)

In article <6983@apple.UUCP> goldman@apple.UUCP (Phil Goldman) writes:
>
>INIT 31 will guarantee that there is some minimum amount of memory free in the
>system heap (16k currently, I believe) before the startup application is
>launched and the system heap is resized dynamically under MultiFinder.

Also, INIT files can contain a resource of type 'sysz' id 0, to indicate the
amt of system heap they need.  The INIT 31 mechanism will grow the system
heap accordingly.  The resource contains 4 bytes with the amount of system
heap required.  I know of one instance where adding such a resource solved a
boot-time crash (ID = 25).&


-- 
Larry Rosenstein

Object Specialist
Apple Computer

AppleLink: Rosenstein1
UUCP:  {sun, voder, nsc, mtxinu, dual}!apple!lsr
CSNET: lsr@Apple.com