Slashdot Mirror


Panther Will Not be a 64-bit OS

rouge86 writes "The Register has an article on what Mac OS X 10.3 will be like. Mac OS X 10.3, aka Panther, will not be a 64-bit operating system, despite running on a 64-bit processor. Instead, the next major release of the Mac operating system will be a hybrid, much like version 10.2.7." You mean they didn't rewrite the entire operating system from the ground up? And that it will run on older, 32-bit, Macs? I am shocked!

20 of 229 comments (clear)

  1. Names... by kenthorvath · · Score: 5, Funny

    Who wants to place bets on the name of the next hybrid OS? We've had Cheetah, Puma, Jaguar, Panther, and now I'm guessing they'll switch to a softer more feminine side of things, like Tigger, or Hello Kitty. Anyone with me on this?

    1. Re:Names... by Duke+Thomas · · Score: 5, Funny

      I'm holding out for Alley Cat. In that version the X will be composed of garbage cans and fish bones.

    2. Re:Names... by andrewl6097 · · Score: 5, Interesting

      None of those can hold a candle to the mighty Ocelot. I'm sure Apple's saving that one for OS 11.

  2. You should not expect a 64bits OS yet by Smartcowboy · · Score: 5, Insightful

    On the PC scene:

    First 32 bits CPU: 386, 1985
    First somewhat 32 bits OS: Windows 95, 1995

    Hopefuly, it won't take so long for 64bits

    1. Re:You should not expect a 64bits OS yet by Anonymous Coward · · Score: 5, Informative

      First 64-bit CPU: MIPS R4000, 1991 (see Microprocessor Report, Feb 6, 1991)

  3. It will be interesting by serialdj · · Score: 5, Interesting

    At this moment I am awaiting Apple to ship the G5's, and when it does I'll be interested to see how this new architecture works, as compared to my current G4. What I'm awaiting is who will be the first to release the first 64-bit system for it. Does this remind anyone when Apple first released the first PowerPC, and only like 10% of the code was optimized for it.

    1. Re:It will be interesting by Steve+Cowan · · Score: 5, Insightful
      there are a lot of differences between the switch from 68k and PPC and that of PPC/32 to PPC/64. There isn't emulation required, nor is a bunch of code rewriting to get your app optimized for the G5. It's a matter of installing the dev tools update, and recompiling. Things weren't that easy in the 68k->PPC transition days...

      Agreed... a more accurate analogy might be waiting for AltiVec optimization. When the G4 was introduced, most software ran a bit faster on it, but certain apps saw incredible performance boosts when they were made AltiVec-aware.

  4. What are you getting at, pudge? by mackstann · · Score: 5, Interesting
    You mean they didn't rewrite the entire operating system from the ground up? And that it will run on older, 32-bit, Macs? I am shocked!

    All of the BSDs and Linux support 64-bit, and as far as I know, they weren't rewritten "from the ground up." They are all also compatible with both 32- and 64-bit machines, so I don't see legacy hardware compatability being a huge problem.

    1. Re:What are you getting at, pudge? by sergeantmudd · · Score: 5, Informative
      On the PowerPC, you can run 32-bit programs and 64-bit programs at the same time. Apple has chosen to keep the bulk of the OS at 32-bits because there is no advantage in upgrading. Remember, 64-bits is only useless for large memory addresses or really really big integers. For example, iTunes does not need more than 4-GB of RAM, so it will probably say 32-bits. Panther will support running 64-bit binaries, so say Final Cut Pro can address a large amount of RAM, but the collection of programs that make up the OS will probably stay 32-bit.


      And I don't know why people are ripping on this strategy. This way Apple doesn't have to Ship 10.3 for the G5 and a seperate 10.3 for the G4. That just confuses customers and pisses off people who have a G4 and a G5. Now Apple can ship one version and only have small changes between the G4 and G5 versions, and let the installer make the appropiate changes. Also, Solaris did the same thing. Alot of there utilities were 32-bit for a long long time after 64-bit support came out, programs like top simply do not receive any advantages from being 64-bit.

  5. Re-write? by booch · · Score: 5, Informative

    You don't have to re-write code to make it 64-bit. You just have to re-compile it. Granted, you have to make sure it's 64-bit safe code, but there's not all that much effort involved in that. Basically, you just can't assume that you have 32-bit integers and pointers.

    For instance, the Linux kernel was made 64-bit safe in version 2.0, when they added support for the Alpha architecture. It's one code base that can be compiled for different architectures, some 32-bit, some 64-bit. There's not a whole lot of 64-bit specific code.

    Most Open Source programs are 64-bit clean now. I'd think Apple's programmers would have been working to make sure all the Mac OS X code is 64-bit clean.

    --
    Software sucks. Open Source sucks less.
    1. Re:Re-write? by clarkcox3 · · Score: 5, Informative

      Just FYI, Macs did have fat binaries for the 68k to PPC transition.

      --
      There are no tiger attacks in my area and it's all because this rock I'm holding keeps the tigers away.
  6. What's up with the news these days? by Duke+Thomas · · Score: 5, Insightful

    Instead, the next major release of the Mac operating system will be a hybrid, much like version 10.2.7

    So what? This is already known. We know the OS itself will be capable of addressing 8 GB, that is, more than 32 bits. We also already know it will run on 32 bit processors since Panther made its debut on a G4.

    I don't mean to be snarky, and I know that post keynote is always slow, but it seems the ./ Apple news moderation hasn't been up to task lately. Yesterday we had "news" because someone managed to compile a some open source software using the new QT libraries (and did nothing else, from the looks of it). When I manage to build ImageMagick's shared libs under OS X, I'll be counting on it being on the front page. :P

    1. Re:What's up with the news these days? by heXXXen · · Score: 5, Funny

      "...but it seems the ./ Apple news moderation..."

      Yeah, damn those dot slash Apple news moderators!

  7. Amazing. by Anonymous Coward · · Score: 5, Insightful

    It's truly astounding to see how many people purport to have an understanding of what "64-bit" means, but in fact do not.

    There are three criteria that define "64-bitness."

    One: can an application running on a given combination of hardware and software address up to 18 billion gigs of virtual memory?

    Two: can an application running on said hardware and software read from and write to files that are up to 9 billion gigs long?

    Three: can an application running on said hardware and software do arithmetic with 64-bit integers and doubles?

    Existing Macs running Mac OS X have two and three down. File offsets are signed long longs (up to 2^63, or 9 billion billion), and any application can manipulate long longs and doubles.

    G5's running Mac OS X 10.2.7 will have one taken care of. Now, in the current generation G5, memory is actually limited in hardware to four thousand gigabytes, and limited in practical terms to eight gigabytes. But applications can, nonetheless, allocate and address up to 18 billion gigs of virtual memory. The OS won't stop them from doing that. (Pointers under 10.2.7 with the 64-bit compiler settings are unsigned long longs, 2^64, or 18 billion billion.)

    So by any meaningful criteria, Mac OS X 10.2.7 running on G5 hardware will be a 64-bit OS. So will Panther.

    The guy who wrote the register article basically doesn't understand what "64-bit OS" means.

    1. Re:Amazing. by Anonymous Coward · · Score: 5, Informative

      So while the G5 can handle 64-bit math and memory/file addressing, it sounds like 10.2.7 and apps running on it aren't going to be using those.

      Wrong and right. Any program that runs on the G5 will get 64-bit math automatically. File addressing is already 64-bit. Memory addressing will continue to be 32-bit until you recompile with -mpowerpc64.

      They're going to be using the existing emulations, and a few extra hacks bolted on a the last minute to get a few extra bits on the memory address space.

      Wrong. The kernel will use full 64-bit addressing; it already does so in 10.2.7. No emulation will be necessary, at any level. Applications will have 32-bit pointers unless they're specifically compiled for 64-bit pointers. This is, incidentally, a good thing. Applications with 64-bit pointers do not use cache as efficiently as those with 32-bit pointers. Take the same application and compile it in 32- and 64-bit versions, and the 32-bit version will be measurably faster on the same hardware.

      IMHO, if it's still thunking 64-bit operations down to 32-bit operations in software, it's not really 64-bit.

      IMHO, if you don't know what "64-bit" actually means, you should probably think twice before posting in a thread like this. Just friendly advice.

    2. Re:Amazing. by Anonymous+Freak · · Score: 5, Informative

      Yes. Assuming the data being processed is only 16-bits or 8-bits wide. For example, if you were to make a piece of photo editing software that could only do 8-bit grayscale images, it would be more efficient as an 8-bit program than as a 32-bit program. (Assuming that the host processor had an 8-bit instruction set that is the same as it's 32-bit instruction set.) Likewise, if you write it as a 16-bit program, and have a fully modern 16-bit OS to go with it, (say, ELKS, the 16-bit Linux derivative,) and run it on a Pentium 4, it would be faster than the same thing (again, processing 16-bit data) on a 32-bit version.

      In the case of the PowerPC 970, it is the exact same instruction set, in 32-bit or 64-bit modes. The only difference is the data being processed. If you don't *NEED* to use 64-bit data, then 32-bit mode will be faster, as you're not 'padding' the data with an extra 32-bits of unecessary info. The PowerPC architecture was designed from the get-go to be 64-bit, with 32-bit as a subset of it. Until now, there haven't been any PowerPC processors that have been capable of processing the full 64-bit width of data though. (Yes, the original PowerPC 601 could theoretically be redesigned to allow 64-bit data, and it wouldn't take too terribly much work.)

      It's not at all like the IA-32 (386-Pentium 4/Xeon/AthlonXP,) AMD-64 (Athlon64/Opteron,) or the IA-64 (Itanium) architectures.

      IA-32 was a kludge of the existing 16-bit instruction set. AMD-64 is a further extension of the old 16-bt set. IA-64 is an all-new instruction set, not at all compatible with the old IA-32. (The Itanium Processors have hardware IA-32 decoders in them, but the IA-64 spec doesn't call for it at all. Intel could make a later Itanium that cannot run existing 32-bit code at all, and it would be fully compliant with the IA-64 spec.)

      --
      Another non-functioning site was "uncertainty.microsoft.com."
      The purpose of that site was not known.
  8. Re:Uhm by dafz1 · · Score: 5, Funny

    Is it just me, or is it a bad idea to name an OS update after Smeagol? He killed his brother, took the Ring(which corrupted him), lost the Ring, finds the boys and leads them to be eaten. Failing that, in his jubilation after biting off Frodo's finger, accidentally kills himself and destroys everything immediately around him. This sounds more like a Windows update to me.

    Maybe Samwise would have been more appropriate? Actually, why name it after LoTR characters at all considering everything was rendered on Dells? I would say name it after Nemo, but that movie was rendered on Intel processors too. Too bad the CEO of Pixar doesn't know anyone at Apple.

  9. Re:Uhm by David+Leppik · · Score: 5, Funny
    Is it just me, or is it a bad idea to name an OS update after Smeagol? He killed his brother, took the Ring(which corrupted him), lost the Ring, finds the boys and leads them to be eaten. Failing that, in his jubilation after biting off Frodo's finger, accidentally kills himself and destroys everything immediately around him. This sounds more like a Windows update to me.
    Yeah, but it will have great Tolkien Ring support!
  10. Re: Bill the Cat Codename Question by Anonymous Coward · · Score: 5, Funny

    Wouldn't that be for Mac OS ACK!?

  11. Many answers for the 64bit question ! by The+Ego · · Score: 5, Informative

    There are many ways for an OS to be "a 64-bit OS". However programmers/users of existing 64bits OSes will typically check a single criterion, which is unlikely to be met by OS X 10.3 .

    1. An OS could be called "64bits OS" because it allows programs running on the computer to use 64bits-instructions, while leaving them with 32bits pointers. This is typically done by offering a 64bits datatype (int64_t/uint64_t in C99 compliant environments) and a compiler that will emit the right instruction sequences. It also requires that the underlying OS will be made somehow "64bits aware", ie that it will save/restore the full 64bits content of processor registers on context switches. My understanding is that Panther/10.3 will allow that, or at least most of that.

    2. An OS could be called "64bits OS" because parts of the kernel (VM / buffer cache, ...) can make use of memory beyond the 4GB limit by using specific APIs that work around the 32bits pointers limitation. I hope that Panther will allow that.

    3. An OS could be called "64bits OS" because it allows the usage of more than 4GB of memory by all userland processes, while any given process is still limited to 4GB (32 bits pointers). My understanding is that Panther will do that.

    4. An OS could be called "64bits OS" because the kernel code is compiled to follow a 64bits ABI (Application Binary Interface). In such an ABI, pointers are 64bits entities and some integer types are also 64bits. While an ABI covers _a lot more_ ground than just the size of the common C types, those sizes are often used to characterize the ABI. The most common 64bits ABI is known as LP64 (aka I32LP64) where "int" remain 32bits, while "long" and "void*" are 64bits. By comparison the most common 32bits ABI is known as ILP32 (int, long, void* are all 32 bits). I don't think any "common" OS offered a ILP64 model (Cray maybe?). Windows64 is a different beast, being LLP64 (aka IL32 LLP64), where int and long are 32bits, while "long long" and pointers are 64bits. My understanding is that this will _not_ be the case for Panther, the kernel code will be compiled with a ILP32 ABI.

    5. An OS could be called "64bits OS" because it offers a 64bits ABI to userland applications compiled in "64bit mode". My understanding is that this will _not_ be the case for Panther, all code will be compiled with the traditional ILP32 ABI.

    My "belief"/"understanding" of the Panther situation comes from reading the WWDC reports, rumours reports and also the Darwin development mailing list where one Apple employee said that OS X won't offer an LP64 ABI until much later (not in Panther, at _least_ not in 10.3.0 and I doubt any 10.3.x release).

    Most current users of 64bits systems will only use criterion 5, but I expect Apple PR to try to muddle the issue. And I won't blame them much, the issue is not as clear cut as some users think.

    Some tidbits related to 64bits platforms:
    - HP-UX 11.00 shipped as two different kernels, one 32bits kernel and one 64bits kernel. 64bits machines could run either of them, while 32bits machines were restricted to the 32bits kernel.
    On the 64bits kernel a user could run 32 and/or 64bits processes, while the 32bit kernel could only run 32bits processes.
    It sometimes made sense for the owner of a 64bits machine to only install the 32bits kernel, if they didn't intend to run any 64bits application and didn't have more than 4GB of ram (rare then). Running the 64bits kernel typically consumed a bit more memory and consumed a bit more memory bandwidth.

    - Linux on 64bits machines is "pure" 64bits (today, this may change due to ISV pressure). It doesn't run anything but programs compiled with the 64bits ABI (I32LP64). A special case is Linux IPF (IA64) which also runs 32bits apps, but those aren't "native" applications using the Itanium ISA but x86 binaries running using the hardware (now) or software (future) emulation. Another special case will be Linux on x86-64 which also has to run "emulat