Memory on the Mac

Brent Knight b.knight@apple.com
Thu, 9 Apr 98 19:42:56 -0700


[This email contains ASCII diagrams and is best viewed in a fixed-width 
font.]

In Apple Computer's Rhapsody Blue Box, applications always get a heap of 
the size they specify in their SIZE resource and never have to settle for 
less memory.  And since this memory is virtual, application-writers and 
users can set this number as high as they need to without worrying that 
they will consume scarce physical memory and prevent other applications 
from launching.  Although it is not as pure as some people might hope 
for, this is a very practical solution that should satisfy most people.  
Keep your eye on Allegro, too.

The following notes are taken from the slides presented at the Rhapsody 
Blue Box session at last year's WWDC (Worldwide Developer's Conference):

Virtual Memory
--------------

- Uses Rhapsody's Core OS Virtual Memory
- Mac OS Virtual Memory appears disabled inside the Blue Box

New Memory Map
--------------

- Looks like a really large virtual space
- Allows the user to run more applications at one time
- Application heaps are allocated from the Core OS Virtual Memory, not 
Temporary Memory
- Application Heaps are located between BufPtr and the System Heap for 
maximum compatibility
- Option for guard pages surrounding application stacks and heaps
- Don't walk between the heaps!


OLD MEMORY MAP:

-------------------    <-- MemTop (physical memory)
| INIT/Other
|------------------    <-- BufPtr
| TempMem
|
| 
|  ---------------
|  Application
|  ---------------
| 
| 
|  ---------------
|  Application
|  ---------------
| 
| 
|------------------
| System Heap
|------------------
| LowMem
-------------------


NEW MEMORY MAP:

-------------------    <-- MemTop (1Gb)
| INIT/Other
|------------------    <-- BufPtr
| 
| 
|  ---------------
|  Application
|  ---------------
| 
| 
|  ---------------
|  Application
|  ---------------
| 
| 
|  ---------------
|  Application
|  ---------------
| 
| 
|------------------
| TempMem
|------------------
| System Heap
|------------------
| LowMem
-------------------



My best regards to the Clean team; it is an amazing piece of work!

-brent

--
Brent Knight - Rhapsody Blue Box
Apple Computer, Inc.