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!
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?
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
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.
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.
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.
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
According to El Reg, Panther is not a true 64-bit operating system. However, Panther can do 64-bit tricks. So many 64-bit tricks that it works and behaves as a 64-bit OS would, accessing more than 8 GB of RAM, and so forth, if asked... but its not 64-bit.
I think I'll file under 'makes no difference to me'.
If Jesus wants me it knows where to find me.
Smeagol is a 32-bit operating system, though certain libraries and other elements have been recoded to allow applications - and the OS itself - to make use of the 64-bit addressing and datapaths, sources close to Apple said. For example, that's how the Power Mac G5 is able to support at least 8GB of memory, double the 32-bit limit of 4GB. Panther will adopt the same approach, said the source.
:).
Don't Pentiums with PAE have this ability. 64 bit doesn't mean "double" the addressability. A fully 64bit address is 2^32 * 2*32 or roughly 4 billion SQUARED. Somone needs to learn binary
The Opteron doens't have full 64bit addressing either... I think its like 42 or 48bits.
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.
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
Well there ya go. Obvious testament that the beleaguered company is doomed to fail. The nerve!
I wonder how long it will take for someone to be serious about how Apple is failing because of this. Bets anyone?
"He uses statistics as a drunken man uses lampposts...for support rather than illumination." - Andrew Lang
Wouldn't that be for Mac OS ACK!?
The Mac OS has been 32-bit from day one, AFAIK. The memory addressing was 24-bit until the Mac II series, but the CPU and OS were always 32-bit.
"Sometimes, I think Trent just needs a cup of hot chocolate and a blankie." -Tori Amos on Nine Inch Nails
So mark that down as 1984.
"Sometimes, I think Trent just needs a cup of hot chocolate and a blankie." -Tori Amos on Nine Inch Nails
Don't forget, slashdotters - programs run twice as fast in an OS with 64-bit support as in one with only 32-bit support. You can run two side-by-side 32-bit "shells" by only using half the bus for each, or you can just run one twice as fast. You also get twice the screen space, you can fit twice as much in RAM, and your Diablo II stash will be twice as big and you'll get twice as many skill points. That's the part I really can't wait for.
-- http://frobnosticate.com
Your code could use 64-bit addresses after being recompiled. But there is only one set of mmap(), etc... traps on the system at the moment (both 10.2.7 and Panther), and they only supports 32bit addresses. So, there is no way to put anything above 4GB in your address space to back those 64-bit addresses.
There was a discussion at the WWDC developer bash about getting 64-bit aware system call traps and libSystem (combination of libc, libm, libinfo, etc...) in some future release/update. But getting 64-bit address support for all 300+MB of frameworks in Mac OS X will be a long time coming.
The OS was RECOMPILED to work with the 64 bit processor. This is stupid. Why are you saying it isn't a 64 bit OS. Because it doesn't have 64 bit code? So? It only matters that it can address the processor and make use of that ability.
Dumb
I got nothin'.
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 .
...) 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.
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,
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
The emulator was entirely software. The emulator initially wasn't particularly fast, but since most Mac applications spend a great deal of time in the Toolbox, Apple made the most heavily used traps native.