Sdílet prostřednictvím


64-bit support in Tiger

Apple recently posted an article on 64-bit support in Tiger. It looks like only a few libraries are available in 64-bit, so you can't make GUI apps that use a 64-bit address space. However, you can make a 32-bit GUI app that uses your favorite form of interprocess communication to talk to a UI-less 64-bit app. This seems like a reasonable short term solution, although it will be a bit of a pain for application developers that need a larger address space for existing applications. It may require some major refactoring.

Comments

  • Anonymous
    December 23, 2004
    there are other ways to boost performance in the Win platform - http://www.devx.com/amd/Article/21425

    SBC
  • Anonymous
    December 24, 2004
    The comment has been removed
  • Anonymous
    December 24, 2004
    The comment has been removed
  • Anonymous
    December 24, 2004
    32 bits powerpc has a address space larger than 4 gb IIRC, perhaps it's not so neccesary
  • Anonymous
    December 24, 2004
    I'm not sure how you could have more than a 4 GB address space with 32-bit pointers. The article states this in the first paragraph:

    Previous versions of Mac OS X have been able to take advantage of more than 4GB of system memory when running on a G5-equipped Mac, but each application was still subject to the 4GB limit imposed by a 32-bit address space

    There are two separate 64-bit issues:
    1. Performance: You should be able to take advantage of 64-bit instructions pretty easily in any app. And, IIRC Apple optimized some things like QuickTime doing this already.

    2. 64-bit address space: As a slight simplification, this lets you take advantage of more than 4 GB of physical memory in a single application. It's becoming less and less uncommon to have that much physical memory these days, and things like digital video may push that limit.
  • Anonymous
    December 25, 2004
    64 bit address space also allows you to use memory mapping techniques on large objects, and let the VM system do the bookkeeping. This allows the application itself to be much simpler, and if the memory access patterns are both sparse and clustered (for example, accessing a small contiguous area of a very large array with a stride much larger than page size, or operating on a small subtree of a very large tree) you can get significant performance improvements.

    On the Alpha under Tru64, DEC used a nice trick... for 64-bit programs the whole low gigabyte was unallocated, so if you followed a wild pointer you'd trap out sooner... which makes debugging MUCH easier.

    Another thing you can do under Tru64 is map ALL shared memory segments to a unique address, so pointers to shared memory are valid across programs.

    Apple could so worse than to try and hire some of the Tru64 people away from HP, because Tru64 and Mac OS X have very similar architectures, and Tru64 is the oldest fully-64-bit UNIX out there.
  • Anonymous
    December 25, 2004
    Did you know that Apple already hired Tru64 people last 5 years ago.
  • Anonymous
    January 01, 2005
    The comment has been removed
  • Anonymous
    January 01, 2005
    Ah yes, my Atari 8-bit had bank switching too. Those were the good ol' days!
  • Anonymous
    May 29, 2009
    PingBack from http://paidsurveyshub.info/story.php?title=dan-crevier-s-blog-64-bit-support-in-tiger