According to Tim Deal, a senior analyst with Technology Business Research in Hampton, N.H., Apple makes efforts to minimize compatibility problems between operating system upgrades. “It provides developers with a comprehensive set of tools that enables them to better create applications for each specific release of its operating system,” he said. Also, Apple goes 64-bit with Tiger release of OS X.
If Tiger is full 64-bit “top to bottom”, as stated in the article, then how in blazes will a G4 or G3 ever run it? These two processors are NOT full 64-bit processors (they’re still 32-bit internal architecture, if I recall correctly).
And yet, the list of Tiger-compatible Macs includes a whole slew of G3 systems and every G4 system made.
It makes sense that a G5 with it’s 32-bit/64-bit hybrid design can run ANYTHING, either 32-bit or 64-bit, but if something is solely 64-bit, I don’t see how a G3 or G4 can run it. The internal architecture can’t deal… can it?
Luposian
while 64 bits is more useful for x86 due to additional GP registers and flat memory addressing (as opposed to segmented)
64 bits in g5 won’t add new registers and most macs don’t offer more than 4gb of ram.
The article is a bit in the simplified side, in facts.
Check here: http://developer.apple.com/macosx/tiger/64bit.html
To meet this focus, Tiger will ship with a 64-bit version of libsystem—the system library implementing most of the fundamental UNIX APIs. In addition, a 64-bit PowerPC ABI, based on the 32-bit ABI, will be introduced. 64-bit binaries will be contained in an updated Mach-O format that will run on G5 systems with Tiger or later.
It is important to note that in the Tiger release, the support for 64-bit programming does not extend throughout the entire set of APIs available on Mac OS X. Most notably, the Cocoa and Carbon GUI application frameworks are not ready for 64-bit programming. In practical terms, this means that the “heavy lifting” of an application that needs 64-bit support can be done by a background process which communicates with a front-end 32-bit GUI process via a variety of mechanisms including IPC and shared memory.
An intresting approach, different from that of XP 64bit edt. for x86-64.
Bye!
“Quark Express 6.5 [the newest version] actually is already running on Tiger perfectly,” Jennifer Churchill, a spokesperson for the Denver, Colo.-based maker of the popular publishing software package, told MacNewsWorld.
I call shananigans! Quark has never run “perfectly” under any circumstances! Are you telling me fixes that POS?!
1) “However, with Tiger, the operating system is a true 64-bit environment, top to bottom,”
This made me think that 32-bit support was gone (which we know it can’t be, because Tiger runs on G3/G4 systems).
2) “Incidentally, no one has to port 32-bit applications to 64-bit to run on Tiger–Apple is not stupid. These 32-bit applications will continue to run in native mode as long as IBM’s PowerPC chips support the hybrid 32-bit/64-bit architecture.”
After re-reading this a couple times, it finally sank in…
Tiger is the “environment” (we’ll call it a “sandbox”) that apps run in. If they are 32-bit, they run in the 32-bit “corner” of Tiger’s sandbox (on G3’s/G4’s (and G5’s)). But, if they are 64-bit apps, they run in the rest of Tiger’s sandbox (and take full advantage of the G5’s 64-bit architecture).
So, in a sense, Tiger has a kind of “32-bit emulator zone” for lesser apps to run in, while allowing 64-bit apps free reign of the rest of the sandbox.
Now the article makes sense. I’d forgotten all about my previous PowerPC days and the whole 68LC040 emulator (in PM 6100/60’s and later system) thing.
While this isn’t the same thing, it’s kinda similar in a sense. If Tiger didn’t allow it, the G5 couldn’t run it, even if it had it. So, in order to run 32-bit apps in the 32-bit portion of the G5, Tiger has to allow it in the first place, hence why, even though Tiger is a supposedly fully 64-bit OS, it can run on G3’s and G4’s because it has that “32-bit zone” for such.
Luposian
Eugenia, of the two links you posted, I want to thank you for choosing the headline that has the greatest potential to mislead consumers into thinking that they are going to have problems with compatibility as opposed to choosing the headline that stresses OSX’s 64 bit compatibility. We can always count on you to choose these types of headlines. You help is appreciated.
Luposian,
that is one of the best summarys I’ve read in a while with regard to Apple’s 64 bitness.
Most surprising is that you posted it on THIS site
There are two things here. First, everyone tries to minimize compatibility problems between versions. It’s such a meaningless statement. Like, it would be like people sitting down saying, do we needlessly want to break old stuff or let them still work.
Now, the real debate is how much they are trying to keep backward compatibility. Apple tends to break backward compatibility more readily than Microsoft. Of course, Microsoft’s business is based on compatibility.
I have to assume that the analyst is being misquoted.
Tiger certainly ISN’T 64-bit “top to bottom.” In fact, the only applications that can be fully 64-bit are console apps. If you use Cocoa (and I believe the rest of the frameworks are this way) you have to split your GUI code into a 32bit process and processing code into a separate 64bit process and do IPC, which is not a very efficient way of doing things.
Once again, Tiger is far from being 64-bit, but Windows XP 64 is in fact completely 64-bit out of the box.
“Now, the real debate is how much they are trying to keep backward compatibility. Apple tends to break backward compatibility more readily than Microsoft. Of course, Microsoft’s business is based on compatibility.”
I don’t agree with that. One of the things about my Mac is that if one had previous OS9 apps, Apple ships an OS9 emulator(Classic) so that older, OS9 apps can continue to be used. Except for some early versions of OS X, most versions of OS X software are able to run on version 10.2 on.
Apple even helps in or supports the development of open-source tools so that software for other platforms will be compatible with running on OS X.
I remember moving from Windows 98 to Windows 2000, resulting in much of my software being incompatible. Even switching from Windows 2000 to Windows XP made more of my previous software incompatible.
This is not a “Apple is better than Microsoft” post. Both eventually make changes to their OSes that eventually render some applications obsolete. Linux is really the only OS I’ve seen that attempts to retain useability of very old software (i.e. maintain compatibility).
what a farce, wheres my 64bit TextEdit or iCal?!
“Once again, Tiger is far from being 64-bit, but Windows XP 64 is in fact completely 64-bit out of the box”
Please dont say such things because it does not make sense. Try to ask yourself why do i need 64 bits computing, and for what, and forget the marketing buzz created by Intel and Redmond about 64 bits computing which only aims to convince people that 64 bits computing is the next step in computers and so they have to buy it. No, we are not stupid…..
What is 64 bits?
– Well first, 64 bits processors means 64 integers (64 bit math). Well great, applications that use 64 integers will be able to compute 64 bits integers with one half the instructions and the ressources consumed by comparison to a 32 bits integer unit. But, but!!, the fact is that applications that use 64 bits integers are rather rare, some specialised applications like cryptographic apps use it a lot. No an applications that everyone use, isn’it?
– The second that makes a processor a 64 bit cpu is the 64-bit memory space. It means that the cpu gives to any process or task the ability to adress memory on 64 bits instead of 32bits. So the application can adress 16 exabytes of virtual memory and 4 terabytes of physical memory. To make it simple the 4 GB limit is over.
Well that’s the definition of the 64 bit computing, nothing else is hiden behind. And everything else that you may hear is marketing.
Now who need this? Well as i told 64 bit math is only used for certain apps not very common in the normal user land. Games also do not use 64 bit maths. The example of the GameCube is a good one. Nintendo uses a 32 bit powerpc, but they used a 64 bit cpu (MIPS) in their previous Ultra 64 gaming system. They could do that because game developpers don’t use 64 bit integers.
Now lest take a look to the 64 bits memory space. Again it basicaly means that if you have more than 4 GB of memory, a process can adress more than 4 GB of memory. So who needs to adress so much memory?
I tell you, certainly not you, or the game that you are playing with, or the browser that you are using, or whatever the usual application that you use.
People how need to adress more than 4 GB are people that make scientific computation, develop really high end video, audio, engeenering, 3D applications. People who deal wityh huge data base also need to access data very quickly and that’s wher the 64 bit memory space is useful.
Can you really belive that a browser, or a photo editor, or Excel, or a mail application , or a music jukebox needs more than 4 GB of memory to work. Do you think that they will need so much memory any time soon??????….Of course not, it would be even ridiculous.
Some games developer are saying that games will need 64 bits computation. That’s bullshit, a game does not need to adress more than 4 GB as a individual process, its ridiculous to say that a game can consume so much ressources. That’s marketing to say buy a 64 bit machine to play their great new games……
So saying all of this, everything should be clear. Apple with tiger is trying to propose 64 bit computing for people that need it now. As a told, people that develop apps that need to adress more than 4 GB of memory at once.
Most of those apps are console based applications because they do not need to have a user interface, we are talking here about numbrer crunching. And we are talking about porcesses, because all the application basically does not need to adress more than 4 GB of memory as a whole, but usually a process of the application that does specific things may need to do so. So the guy who is developping a high end video or a 3D application, or whatever…may ask a process to compute a task that need to adress data quickly, and this process can still communicate with the user interface of his video appplication by message passing in Tiger. That’s very transparent….And so people who really need 64 computing are happy with Tiger.
No you may say that some tests have shown that somes apps perform better on windows 64 than on win32. Well its not because those applications are 64 bit, not at all. Its because those applications are recompiled for the new system and natulrally take advantage of the increase on the General Purpose Register that Intel and Amd made to implement their 64 bit computation. They increase them from 8 to 16, so that’s why many apps perfom better.
(NB:In some cases the better results are even not true at all. For example, some french guys(x86-secret.com) discovered that AMD has used some dirty tricks to favorize his Athlon64 over their Athlon32 in a zip encoding test, to show that the Athlon64 was much faster that the Athlon 32bits (the results showed huge differents) and therefore showed the wonderful benefits of 64 bits computing by just recompiling. But after removing those tricks that actually greatly penalized the Athlon32, the Athlon32 was even faster than the Athlon64 on this test.)
On PowerPc you don’t see this, because form the begining the PowerPc architecture was defined as a 64 bit platform with the 32 bit mode being a subset of the 64 bit mode.
So the question is not which os is 64 bit or not, or completely, or just half 64 bit, ….whatever…..Tiger is a 64 bits os, and i think that the approach of apple is very transparent because they dont try to make believe people that 64 bits computing is the useful for everyone. Its far to be the case, and again apple implements the 64 features in a way that people who really need 64 bit computing, can use it in Tiger.
All of these 64 bit arguments about whether MS-Windows or Mac OS are “true” 64 bit first are simply ridiculous. Solaris has been fully 64 bit for years and years, so 1) if 64 bit computing were that important right now, the world would already be mostly using Solaris, and 2) MS-Windows and Mac OS are both getting into the game late.
It’s interesting to note too the confusion over whether or not a 64 bit OS can run a 32 bit app — the answer is that if it is designed properly than of course it can. Again, look at the way Solaris does it and has been doing it. Interestingly sometimes 32 bit apps will run more quickly in 64 bit environments than the equivalent 64 bit apps…
Its not that Wondows and MacOs are getting in the game late. They have not been in the 64 bit game because they did not need to be. Computers running MacOs and windows did need to adress huge memory, it was the market of work station and big servers where 64 bits procesors have been used for a long time. Personal computers did not focus on this market, the so-called high end computing market.
Solaris (or Aix, or HP/Ux, or Irix, or True64, or VMS) needed to support 64 bit processors because it was mainly used in a market which needed 64 bits computing.
But now things have changed, the personal computers have switched to the 64 bits processors, because they want as well to compete in this high end market. Its very more clear for Apple that put a lot of effort in high end computing since Osx, and with their pro-applications. They have now 64 bits processors, so they have to support it.
umm.. dude, no emulation is being done…. Tiger is a 32 bit OS from top to bottom and it has 64 bit libraries that developers can use to build 64 bit console applications which can then communicate to the GUI if a GUI is needed… that means that photoshop can have some 64 bit utilities that has an interface inside the 32 bit photoshop.
Tiger is a 32 bit OS that supports 64 bit console applications.
The article (first link and summary title) needs some salt or something to provide a little taste.
Any upgrade as big as Tiger will leave a few applications on the shore. It’s not like Tiger was a secret, though. It was announced nearly a year ago so developer’s have had plenty of time to get their apps ready for Tiger’s release.
The article is VERY thin on substance. Calling Symantec a “major” player in the Mac marketplace is like saying Mac360 is a major Mac web site (we’re more of a sexy web log, ya know– although we do rank in the Top 135,000 web sites according to Alexa )
Average Joe [ie. me] can do without.
Tiger will run on G3, G4, G5, because there’s little use of your OS acting like a tank parking in a shop where they sell fine china. Apple Inc. does tend to be aware about that and is known for subtle things like making the OS actually work on the computer, it helps if the user base can actually enjoy all that hard work they’ve been doing.
Don’t expect miracles of interoperability [ie. no apps breaking ever], don’t expect earth shattering disasters. No OS vendor can afford to trash the customer’s computer, it makes for bad publicity and it upsets the digestion.
Tiger is going to rock and solidly so. Close all apps, repair the permissions, reboot, pop in the disk. You don’t worry about your sensitive files because you have a backup anyway. Don’t you? Well, don’t you?
Interestingly sometimes 32 bit apps will run more quickly in 64 bit environments than the equivalent 64 bit apps…
Yep, that’s due to the 64-bit addressing. 64-bit pointers take up twice the bus memory bandwidth and twice the cache space. Anything that frequently uses pointers, especially object-oriented stuff like GUIs, will therefore experience a slowdown.
64-bit addressing only becomes beneficial when applications use so much data that the advantages of not having to deal with some kind of segmenting outweigh the performance hit.
And not all that many algorithms can benefit from 64-bit integers, and they first have to be changed to use them. That’s stuff like encryption or dealing with large amounts of money (32 bits hold “only” $42,949,672.95, and you don’t want to be using floating point there).
Doubling the number of registers for x86-64 was a very good move by AMD that should help performance. But of course that hasn’t got anything to do with 64-bitness, they might just as well have added more registers to the 32-bit model.
Doubling the number of registers for x86-64 was a very good move by AMD that should help performance. But of course that hasn’t got anything to do with 64-bitness, they might just as well have added more registers to the 32-bit model.
That, and the fact that native AMD64 mode is called “long mode” which supports both 64bit and thirty two bit; 32bit applications that have been recompiled using Longmode on a 64bit platform, will experience a higher performance improvement over all all those extra registers will come in handy as well.
Frist i would like to tell the computer users that some minds are thinking about apple os x tigher have minor chang in old Panther, i think its tottly worng aproch, well when u said A 64bit os its mean in my openion that even that hardware is still 32bit like g3 or g4 but can runs 64bit os so i think the aprooch goes to the real time suport n speed of entire computer process. friends if u have a g3 power pc when u run the panther on it, i think u totaly agree with me that u have fine a now world on ur computer n u are fully satisfied the speed n working of panther, so why u worry about the tiger performance on ur g3 or g4 i still tell u, you should ready to find a new word on ur loving mac. I don’t know about much more about architecture of the both os n processers, i have own my 1.6 g5 with 2 gb ram n 200gb hard desk i can do every thing about my graphics realted work on it. And i m enjoying my work too. so last i told u plz don’t worry about 32bit or 64bit apple can do or handle batter ever for any one.
Attempting to read that literally caused physical pain in my eyes.
32bit applications that have been recompiled using Longmode on a 64bit platform, will experience a higher performance improvement over all
Higher than what? And why?
As far as I can see, there’d be a slowdown due to the 64-bit pointers as well as a speedup due to the additional registers. Which effect wins depends on the application.
“32bit applications that have been recompiled using Longmode on a 64bit platform, will experience a higher performance improvement over all all those extra registers will come in handy as well.”
You are, AFAIK, wrong. The extra registers are a part of the amd64 ISA _only_. Only 64bit apps use the extra registers, 32bit apps only use the IA32 ones.
Of course, there is that register renaming thing, but that’s something that’s being used behind the scenes for years.
This is getting ridiculuos.
1) All modern 32-bit processors can do 64-bit integer math. Its just slower. The main reason for 64-bit is memory addressing, and high performance computing where you need to do 64-bit numbercrunching fast.
2) why do you want 64-bit UI code again?
It will make it slightly easier to write a GUI for that server app that usually doesn’t have a GUI anyway (and possibly a few high end professional media apps). Thats IT. If you need 64-bit addressing in your actual GUI code your programs design is completely insane. Aditionally, using 64-bit code where you don’t need it is actually going to cost you a little FSB bandwith/memory footprint due to increased pointersize. For no benefit at all.
Can’t agree more with your points.
But I think 32-bit and 64-bit modes could be integrated better.
Program code, GUI, and most program data shouldn’t get anywhere near 4GB for some time to come. So standard pointer width should have remained at 32 bit, just like “int” remains at 32 bit.
It’s only stuff like raw high-res images, videos, or databases that cross the 4GB barrier. So code that deals with those things could use a long 64-bit pointer type. In C++ this can be achieved through templates, whereas in C a ‘long’ modifier (similar to “const”) for pointers would have to be added, e.g. int *long data_p.
Could PowerPC or AMD64 support that?
In any case, I think Apple’s is the next-best solution. They’ve got it right to leave the UI interfaces at 32 bit and put 64-bit stuff into separate processes.
“32bit applications that have been recompiled using Longmode on a 64bit platform, will experience a higher performance improvement over all all those extra registers will come in handy as well.”
You are, AFAIK, wrong. The extra registers are a part of the amd64 ISA _only_. Only 64bit apps use the extra registers, 32bit apps only use the IA32 ones.
Of course, there is that register renaming thing, but that’s something that’s being used behind the scenes for years.
You are correct – I didn’t read the article properly. With that being said, if one were to compile their 32bit programme on AMD64, would it take advantage of the flat memory model along with other things ( aka, it uses long mode rather than compatibility mode).
With that being said, if one were to compile their 32bit programme on AMD64, would it take advantage of the flat memory model along with other things ( aka, it uses long mode rather than compatibility mode).
Compatibility mode is a sub-mode of long mode, allowing you to run 32-bit programs inside a 64-bit OS. Legacy mode lets you run 32-bit OSs.
I don’t think any of these modes has an inherent performance disadvantage. “Compatibility mode” may sound slow, but it isn’t.