My Two Bits on 64-Bit Operating Systems
08/18/06

Last week at Apple’s Worldwide Developers Conference (WWDC) in San Francisco over 4200 software developers (the largest attendance at a WWDC ever) gathered to get their hands on the next version of Apple’s operating system, called “Leopard”. Its official name is Mac OS 10.5, the fifth major upgrade to the Macintosh’s UNIX-based operating system in the last five years. Over 1000 Apple software engineers were also on hand to help developers get their applications ready for the public release of Leopard, currently scheduled for “in the spring”.

During the conference’s keynote address, Apple CEO Steve Jobs announced that some of Leopard’s “guts” would remain “Top Secret” and would not be revealed right now, presumably even to the developers who signed Non-Disclosure Agreements. Apple did publicly announce and demonstrate ten features, while making passing reference to a few others. Over the next few weeks I’ll do my best provide a layman’s description of these features.

Now, if you’re a committed (no pun intended) Windows user, you could just shift your eyes down to the section of this page where the Windows-relevant stories are sometimes placed, and get this week’s info on guarding against the latest worm or malicious keystroke-logger, or tips on cleaning up your Registry.

But then you’d miss out on seeing (or, at least reading about) where Windows will be a few years from now. That is, where Apple is today (or will be very soon). See, there’s something here for everyone.

OK, let’s get started. Mac OS X “Leopard” will fully support 64-bit computing. What is 64-bit computing? To answer this question without putting on our black-rimmed glasses and pocket protectors, we’ll need to set up a little metaphor. Think of your computer’s processor as a city with roads leading into and out of it. On each road, data arrives, is worked on, and leaves.

On early 8-bit processors, these roads were, holding to our metaphor, 8 lanes wide. When technology progressed to 16-bit processors, the roads were “widened” to 16 lanes. So, that means 16-bit processors are twice as fast as 8-bit processors, right?

Wrong. It’s an exponential, not a linear relationship. A 16-processor is theoretically 8 times faster than an 8-bit processor. A 32-bit processor (commonly used today) is 8 times faster than a 16-bit processor, and it would follow that a 64-bit processor is 8 times faster than a 32-bit processor. This is due to the fact that data can travel in 8 times as many combinations of lanes on the road through the city. Simple, eh?

Notice that I used the term “theoretically” to describe the speed increases. Within processors there are various bottlenecks and other limiting factors (not unlike the superhighway system in a major city – something we here in Maine only encounter on vacation) that can prevent processors from operating exponentially faster, but the speed gains are certainly more than doubled when the “bits” are doubled.

In order to take advantage of more lanes of traffic into and out of the processor, the operating system and applications that run on it must be capable of seeing and using all those lanes. This means, when a major shift occurs, like moving from 32-bit to 64-bit processors, millions and millions of lines of operating system code must be rewritten to take full advantage of the added lanes in the highway. The trick is to support software written for both 64-bit and 32-bit processors in the same operating system, without having to waste valuable processor cycles emulating and translating.

Can Apple pull it off in Leopard? Tune in next week to find out.

© 2006 Peter F. Zimowski