[OpenIndiana-discuss] Tribblix update
Alan Coopersmith
alan.coopersmith at oracle.com
Mon Dec 17 17:52:14 UTC 2012
On 12/17/12 03:41 AM, Jim Klimov wrote:
> On 2012-12-17 06:59, Alan Coopersmith wrote:
>> Oh, and it assumes no one needs 32-bit binaries any more, since all Solaris 11
>> users have to be running the 64-bit kernel since the 32-bit kernel was EOL'ed.
>> (32-bit libraries are still there for binary compatibility with other programs,
>> it's just most of the /usr/bin/x* commands converted to 64-bit.)
>>
>> If you care about 32-bit support, that's one more change you'll have to undo.
>
> Well, I may probably get corrected (and should, if need be) - but
> in such discussions I've always thought (and heard) that these are
> two different things. 64-bit kernel is for optimal harnessing of
> hardware with large (>4gb) memory and perhaps wider instructions
> on CPU.
>
> 64-bit or 32-bit userspace programs is about addressing virtual
> memory again and large files to an extent (AFAIK the latter can
> be used with 32-bit programs too). 64-bit userspace with "small"
> programs like many UNIX command-line tools, GUI applets, etc.
> which don't feasibly need to juggle gigabytes of data at once -
> now, that would also be about wasting RAM and CPU cycles on
> pushing around more bytes of pointers and other increased
> structures with no practical gain.
>
> Am I wrong to maintain this point of view?
That's mostly correct, but there are other benefits to 64-bit userspace
programs:
- stdio interfaces in libc support file descriptors > 255 without any
compatibility issues or interface extensions
- x86 binaries have access to a larger number of registers, often resulting
in measurably faster performance
- time_t support for dates after 19 January 2038, 2^31 seconds after the
Unix epoch of 1 January 1970
- Address Space Layout Randomization (ASLR) is more effective, with 64-bits
of address space to find random addresses in, instead of only 32-bits.
It's a newer ABI, that cleaned up a number of mistakes and limitations that
the 32-bit ABI is stuck with. There is some cost in increased memory usage
from doubling the size of all long ints & pointers, but have you seen the
cost per gig of RAM lately?
Of course, when it comes to the X server itself, 64-bit support simply
became required when the vendors started shipping cards with 1gb of VRAM,
if you wanted multi-head support - now that they're up to models with
more than 4gb of VRAM each, even one card requires it.
--
-Alan Coopersmith- alan.coopersmith at oracle.com
Oracle Solaris Engineering - http://blogs.oracle.com/alanc
More information about the OpenIndiana-discuss
mailing list