Re: 64 bits support
Re: 64 bits support
- Subject: Re: 64 bits support
- From: "Justin C. Walker" <email@hidden>
- Date: Sat, 1 Nov 2003 10:06:06 -0800
On Saturday, November 1, 2003, at 05:13 AM, Scott Thompson wrote:
As far as I can tell, there is no support for 64-bit pointer support.
Is
that correct ? What is the largest available block of memory
available to a
process 2GB or 4GB ?
I found one document stating that gdb had support for 64 bit
pointers, but
it seems more a preparation for something called "darwin64" which is
not
darwin 7.0 in Panther.
I need to write code for Geophysical problems, and 2GB is just not
enough.
I can see how I could have separate processes and have them talk to
each
other, but given the algorithms, that would not be very useful as
message
passing would quickly become prohibitive.
If anyone has an idea, please let me know.
For older processors the virtual address space given to a process is 4
GB.
Should you need to access memory paritions larger than 4 GB then you
will either have to replace the virtual memory setup of the kernel
(which should be possible given the microkernel architecture)
I'm not sure what this means; can you clarify? Note, in particular,
that Darwin does *not* have a microkernel architecture - it's a
monolithic kernel.
or you will have to use a true 64 bit machine like the G5.
Unless you are using the G5, you are limited to a 4GB address space for
user processes. Even with the G5, this capability is not extended to
user processes yet.
I suppose you could try fancy "bank-switching" techniques with shared
memory segments, but that would be wrong :-}. Also, even with a 4GB
address space, you don't get a 4GB sandbox to play around in. The
system has dibs on some segments of the address space (e.g., for the
stack, shared libraries, ...). The largest block of memory available
to a process is probably something shy of 2GB for this reason.
Even if you rewrite the memory handling, I believe (and anyone is
welcome to correct me) but I believe you will still be limited to 56
bits.
The 56-bit thing is a physical capability for some latter-day G4's.
This just allows the system to support more physical memory, and has no
effect on what an individual process can directly access.
Regards,
Justin
--
Justin C. Walker, Curmudgeon-At-Large *
Institute for General Semantics | It's not whether you win or
lose...
| It's whether *I* win or lose.
*--------------------------------------*-------------------------------*
_______________________________________________
xcode-users mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/xcode-users
Do not post admin requests to the list. They will be ignored.