Richard,
I can handle answering these questions for you. I know why they are
done--but knowing how to approach them on an OS that has little
examples is tough.
The memory management is set up the way it is to be more efficient.
1. Objects can share memory space, thus there is places where
multiple objects have pointers to the same memory space.
2. The parallel functionality requires shared memory. Thus for
parallel architectures there is a lot going on underneath.
3. An efficient method of garbage collection for these networks is
needed and is provided through the object oriented design of the
memory management scheme.
I don't think there is any way around the low levels and gory details
unless some other programming language were used (which isn't going
to help either).
After watching some of the MacOS dev sessions, it looks as though we
need to look at using the system malloc and shmem routines and it
will take some development to get this working correctly. We will not
want to use the sbrk stuff.
David
Perhaps some of the original developers of DX can give us a little
insight here.
I'm currently hacking on mem.c and memory.c trying to get the
MacOS X port to work. I still don't get why all the bother with such
low-level memory stuff, especially the fancy arenas with various sized
memory chunks in powers of 2. Why does DX need to define it's own
allocation routines at all?
It also worries me that the MacOS man page on brk/sbrk claims:
"The brk and sbrk functions are historical curiosities left over from ear-
lier days before the advent of virtual memory management. "
Richard
--
.............................................................................
David L. Thompson The University of Montana
mailto:[EMAIL PROTECTED] Computer Science Department
http://www.cs.umt.edu/u/dthompsn Missoula, MT 59812
Work Phone : (406)257-8530