Monday, December 17, 2007

The 64-bit Question

Windows Vista is available in both 32-bit and 64-bit flavors, so what is the difference? While there are much more technical definitions of the differences between a 32-bit and 64-bit OS (Operating System), the short and sweet of it is that a 32-bit OS/CPU (Central Processing Unit) can move or manipulate a 32 bit (a bit is a 'Binary Digit', or a single 0 or 1) number, while a 64-bit OS/CPU can move or manipulate a 64 bit number. The reason why this is important is because the processor can literally do twice as much in the same amount of time. While this is a gross oversimplification, and it isn't really twice as fast in a real application, this explanation will suffice for the purposes of this discussion.

So why on earth would you want a 64-bit version? Among other things, a 32-bit OS (Operating System) can only handle 4GB (gigabyte or 1 billion bytes) of memory address buses, which are used by the CPU (Central Processing Unit) to store and retrieve data from a specific data location. Imagine that your system memory is a giant piece of graph paper with over 4 billion squares on it. In simple terms, the individual square can store a small piece of data and the address bus determines the 'row' and 'column' (or exact location) of that particular square.

So next year once 4GB sticks of RAM become common in most computers sold, lots of people will need to go to a 64-bit OS in order to actually be able to use all that memory. Here's a note to all you l337 (elite) computer users out there who think that you have the greatest computer system of all time: if you have 4GB of system RAM and a 512MB video card with a 32-bit OS, your system is going to ignore at least 512MB of your system RAM (Random Access Memory) because there won't be enough address bus locations available for it. Obviously this is going to be an issue for most computer users next year, since many of this year's computers already come with 2GB of RAM, so many new computers will need to be loaded with the 64-bit version of Windows, officially ending the 32-bit OS's 13 year reign (1994 to 1997).

This leads me to the next logical question; If 4GB is the limit of a 32-bit OS, what is the limit of a 64-bit OS? Now the answer won't be double, although that would be the obvious conclusion. In fact the reason that 4GB is the limit of a 32-bit OS is because 232 is equal to 4GB. (232 = 4,294,967,296 bytes) So we can see that since the 4GB is derived from a power of 2, doubling it's power from 32 to 64 will not double the total, but be exponentially higher.

In fact, the answer might astound you. 264 = 16 exabytes, or 16 billion gigabytes of RAM. That's not a typo. A 64-bit OS can handle 16 BILLION GIGABYTES of RAM. In fact, in an interesting twist of irony, using the word exabyte is so uncommon at this point that the spellchecker for this blog insists that exabyte is not a real word and is trying to convince me to change it.

To define exactly what an exabyte is in relation to a gigabyte, as well as what a gigabyte even is, I draw your attention to the list below:

1 byte = 8 bits
1 kilobyte (kB) = 1024 bytes = 210
1 megabyte (MB) = 1024 kilobytes = 220
1 gigabyte (GB) = 1024 megabytes = 230
1 terabyte (TB) = 1024 gigabytes = 240
1 petabyte (PB) = 1024 terabytes = 250
1 exabytes (EB) = 1024 petabytes = 260

So we can see that 16 exabytes = 16,000,000,000 gigabytes.

Why does this matter? When will we actually need this ridiculous amount of RAM? Well, that answer might astonish you as well. To explain this I'll have to bust out some more math (sorry non-math geeks). Moore's Law (1965), named after Gordon Moore, one of the co-founders of Intel, states that the processing power of a microprocessor (or CPU) will double approximately every 18 months or 1.5 years. This law is used to calculate how quickly the processor speeds will increase, hard drive capacity will increase, as well as the size of RAM modules.

If we get in the Way Back Machine and go to 1977, we'll be witnessing the birth of one of the first 'production' computers (that is a full scale assembly line production, not hand built), the Apple II. The Apple II which cost $1,298 in 1977 dollars ($4,440.81 in 2006 dollars) shipped with 4kB of system RAM. It we extrapolate this out (shown in the chart below) by doubling the amount of RAM every 1.6 years (a slight deviation from the 1.5 years as stated in Moore's Law), in 2007 the average computer will have 2GB of RAM. (Not only that, but the computer costs less than 1/4 as much.) Based on the continuation of that formula, in 2060, if we follow the same rate as the last 30 years, an average home computer will come with 16 exabytes (16 billion gigabytes) of RAM in it.


Imagine that... every home computer will have 16 exabytes of RAM. So now that we know that we can be fairly certain that we'll have reach this amount of RAM, I know there are those of you out there that are asking yourselves, "Why in the World would I ever need that much RAM in my home computer?" Honestly, even being the computer geek I am, I have a hard time believing I'll ever need that much RAM myself. Since I can't predict the future (or can I...), all I can do is look to the past for a historic perspective.

The video clip below is from the first episode of "The Screen Savers" (which I can't believe ever got canceled because it was great), which ran from 1998 to 2005 and was for many years the highest rated technology show on TV. Hosts Leo Laporte (who I'm going to plug since his podcast is awesome) and Kate Botello show viewers the "ultimate gaming machine" which has a Pentium 2 300Mhz processor and 128MB of system RAM. Watch for the part 4:30 into the clip where Kate says that "...64MB of RAM is as high as you'll ever need to go."





So if some of the smartest people in technology said 9 years ago that 64MB would be all you'd ever need, and I'm sitting here looking at the minimum amount of RAM to play Crysis (which is 1GB), I know that I'll want that much RAM. Every time I've thought games and software couldn't get any better, they always have. So while part of me may not believe it, I'll know I'll want it someday. Needless to say, we do need 64-bit operating systems and I'm glad we have them (despite how people though AMD was crazy to bring out 64-bit processor a couple years ago).

The really crazy thing is that somewhere around 2050 people will start thinking about a 128-bit OS and there will be a definite need for it.....

Think I'm right? Think I'm wrong? Click here to join the discussion about this post.

Monday, December 10, 2007

Human Nature Strikes Again! Mac VS PC.

Vista sucks! Or at least that's what pretty much every journalist in the world seems to believe. Since Mac OS (Operating System) 10.5 (or "OS X Leopard," as it is more commonly known) was just released, some interesting things have come to light that made me rethink my own stance on Vista.

Vista has been been out for nearly a year now and now that SP1 (Service Pack 1) has just been beta tested, there are finally some good numbers to crunch. Recently both the upcoming Windows XP SP3 and Vista SP1 were compared against their respective previous versions. Interestingly enough, XP SP3 was a 10% performance boost, while Vista SP1 was barely a 2% increase. So not only is Windows XP still a more stable and efficient OS than Vista; with both the new services packs out, XP pulls even further ahead.

Now, to play the devil's advocate, Vista was a complete rewrite of the kernel (core code at the center of the OS), so there are bound to be issues. The rewrite added more support for multi-core applications (yay for even more awesome video games!), made it easier to write applications for, and offers hundreds of other new features. For these reasons, I'm not surprised that it is laggy out of the gate, but I'm sure the next version will be much better.

That said, I do agree that Vista is not the best product Microsoft could have come up with, but let's not heap all the blame on them. Several recent studies have proven some important facts about OS's that apply to both Microsoft and Apple iterations. More often than not, it is the fault of poorly written third party apps (applications), rather than the OS itself, that causes system failures. In the case of both Windows XP and Windows Vista, boot up times were significantly affected by apps like Norton Antivirus, which slowed boot up times by over 60 seconds in many cases.

With a couple more of those 'worst offending' apps, your boot up time could be delayed by five minutes or more beyond what the OS should normally take. Saying that the OS start up time is bad (which is really because of apps like Norton Antivirus) is Microsoft's fault is like saying that crappy Firestone tires on a Ford automobile is Ford's fault. It's even less so in Microsoft's case, though, since they can't control who writes apps for Windows. So I'll be the first to admit that XP is a way better OS than Vista, and despite having a free copy (of Vista), I'm not planning to use it anytime soon. However, I think that Vista, and Windows in general, is a lot better than people give it credit for.

It has been said that Microsoft is forever copying Apple's software design, but it looks like Apple has taken a play out of Microsoft's book with their new OS 10.5 release. Apple took a very stable and efficient 10.4, much like Windows XP, and turned it into an unstable, inefficient, visual razza-ma-taz that is OS 10.5, much like Windows Vista. Many of you out there might be clutching your chests over the shock of learning for the first time that Apple is, in fact, a fallible company, but it's true. While I am a fan of OS 10, it's safe to say that Mac dropped the ball on this one.

Those issues aside, I don't believe that poorer OS releases are the true cause of resentment against either OS 10.5 or Vista. I think the real reason is that that both companies are the victims of their own success. Let's use Windows as the example here:

Windows 3.1 was released in 1993. Barely two years later Windows 95 was released (1995). Another three years go by and we have Windows 98 (1998). In 2000 Microsoft released both Windows 2000 Professional, based off the Windows NT platform, and Windows ME (Millennium Edition) based off the 9x platform (or Windows 95, 98, and ME). Windows ME is regarded by many as the worst OS Microsoft ever released, I believe mainly because Microsoft was trying to release two simultaneous versions in 2000. In any case, they absolved all bad feelings with the release of Windows XP in 2001. So we can see that Microsoft was releasing a new OS basically every two years for nearly a decade up to this point. For many people getting a new OS with every new computer became a fact of life, and having used every one of these OS versions myself as soon as they came out, I can tell you that I had no qualms about upgrading each time, with the exception of ME, which prompted me to go to Windows 2000 instead.

Moving to the present, Windows Vista is released in 2007, over 6 years after Windows XP. By this time XP has completely dominated the OS landscape with over 400 million copies sold worldwide. I think it's safe to say that I, like many of you, love Windows XP and have spent a long time using it. Unlike every other OS release in Microsoft's history, this time around we've had an OS (XP) long enough to grow attached to it. Compare Windows ME to Windows XP. If you bought ME in 2000 and you hated it, you'd just buy a copy of Windows XP the next year when it's released. Not that this example is good for the consumer, mind you, but it's the true state of affairs. In XP's case we've been waiting for 6 years for a new OS and honestly, I think that even if Vista had been the be-all end-all greatest OS of all time people would still be complaining about upgrading to it. Not because it's a bad OS, but rather we've become too comfortable with XP.

To cite another example, I've recently upgraded my Microsoft Office version from 2003 to 2007. Now, I've been using Office since 1995, and every Office release including Office 95 (1995), Office 97 (1997), Office XP (2000), Office XP (2001), and Office 2003 (2003) have used the same tool bar interface. So, in these versions, at the top of the screen you have a toolbar with a series of words that when clicked will expand into a series of options. Being the geek that I am, I prefer to have the menu options streamlined like this, but in Office 2007 the interface has been completely changed. The menu has been replaced by a series of large buttons, almost like a fast food register where the buttons are pictures of hamburgers, and I absolutely hated it at first. Maybe it's because I've grown used to the old way over the last 13 years, maybe I'll never like it. A couple days ago, though, I was building a Power Point Presentation and I used some of the new options on the menu, and honestly, the new interface is growing on me. I still think it will take a year before I really like it, but the potential is definitely there.

So in the case of Vista, while I'm not going to upgrade until the OS is more stable, I'm sure I'll have the same initial feelings about Vista that I did about Office 2007. I'm not going to like how things are changed, but at some point a year from now I'll be using it and thinking of these words I've written, and I'll laugh because I love the ways it's been changed. The proof that really drives this point home is the fact the Mac users are resisting OS 10.5 the same way Windows users are resisting Vista. Apple released a new version of OS X nearly every year from its debut in 2001, 10.1 (2001), 10.2 (2002), 10.3 (2003), 10.4 (2005). Then it was over two years later that OS 10.5 Leopard was released. Now again, I agree that both OS 10.5 and Vista definitely have their shortcomings, and that is part of the equation. If the new release isn't topping everything about the previous release, people are going to find things to hate.

Let's all just face facts. Software will never be perfect. Vista has over 50 million lines of code for the OS alone. You try writing a one page document (which usually has about 46 lines at 12 point font) without making any typos, let alone 54 million pages. So in the future let's give Microsoft and Apple a break; they've got an impossible job building an OS that will stand up to the abusive code changes of third party apps like Norton Antivirus, Bonzai Buddy, and WeatherBug, as well as all the other stupid stuff we (computer users) do to our machines. It's just human nature to expect our computers to do the impossible without flinching and to blame the OS design for all its shortcomings. I can think of no better quote to sum up then this than this one, by Charles Babbage (the inventor of one of the first mechanical computers, the Difference Engine):

"On two occasions, I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able to rightly apprehend the kind of confusion of ideas that could provoke such a question."
-- Charles Babbage (1791-1871)

It seems we haven't learned....

Think I'm right? Think I'm wrong? Click here to join the discussion about this post.