A useful time-saving feature is hidden in the Vista taskbar. Use your keyboard to launch a shortcut on your Vista QuickLaunch Toolbar: press the Windows key plus that item’s number. For example, when I press Windows key + 3: Firefox launches
I recently received a comment from a reader who thought Vista didn’t support 4GB of RAM. I was a bit dismayed at first because 32-bit flavors of Window support 4GB, and they always have (nitpickers: I’m taking about 32-bit NT derivatives, not 9X). I had taken it for granted that people just know this. I google’d around a bit to try and better understand this misconception. After a few minutes I realized there sure is some confusion over how much RAM 32bit Vista actually supports. I hope I can clear up some misconceptions, shed a bit of light, and not bore you too terribly along the way.
Techno-babble disclaimer! A 32-bit number can contain a value between 0 and 4,294,967,295 (this number is calculated as: 2^32 -1). Because that’s a very large and unwieldy number, we divide it by 1024 which gives us 4,194,304 thousand. Dividing again by 1024 gives us 4,096 million. Dividing once more by 1024 gives us 4 billion. What I am trying to get at is this: a 32-bit number can be used to count up to 4 billion, which is needed to read/write 4 billion distinct memory cells (aka bytes).
Because 32-bit Windows addresses memory through a 32-bit memory addressing scheme, in theory you can address 4GB of RAM in 32-bit Windows. I say in theory, because there are other factors that move this number up or down. Useless techno-trivia: A 64-bit memory addressing scheme can theoretically access 64-bit of memory address space: which is 2^64 – 1, this comes out to: 18,446,744,073,709,551,615 or roughly 4 billion GB.
In 32-bit Windows, addressable memory is divided into two different areas (or modes): Kernel and User. By default, Kernel-mode gets half of the maximum addressable memory: 2GB, and User-mode gets the other half: 2GB. Windows dedicates Kernal-mode memory to drivers and internal Windows data. And, Windows applications get access to 2GB of User-mode memory. (nitpickers: This is highly simplified).
When it comes to physical hardware, things get a bit more muddy. It’s fairly common for motherboard (aka mainboard) makers to set hardware limitations on how much RAM they actually support. Your computer’s mainboard may limit accessible RAM to: 3GB, 2.5GB 2GB, etc. On server-class machines you can find motherboards that limit accessible RAM to more: 8GB, 16GB, etc. Since a 32-bit number can only address 4GB of RAM, there are various schemes that enable 32-bit Windows to access more than 4GB of RAM. Microsoft, Intel and various server motherboard manufacturers have extended memory addressing schemes.
More techno-trivia: Intel has PAE, Microsoft has AWE These extended memory access schemes in general work by moving around a virtual window through your whole address space. For example: I can read the memory between addresses 10GB and 14GB by setting my memory window to start at 10GB. Note: Since we are moving a memory read/write window around, we pay a slight performance.
So, 32-bit Windows can theoretically take advantage of 4GB of RAM and 32-bit Vista is no different. What is different is how Vista uses the RAM and reports what’s available. In Vista, if you have 4GB of RAM and 512MB graphics card, then your available RAM can show 3.5 GB or less. You are still using all 4GB of RAM, but Vista is really trying to be honest by saying you only have 3.5 available. If you have other drivers that grab RAM, that will decrease the amount of available RAM even more. I’ve read some peoples complaints where they only see 3 GB available and 4GB is installed. If your motherboard (or BIOS) is not limiting it, then you are actually using all 4GB. So, it all depends. It depends on your motherboard, installed hardware, drivers, and etc.
If you want more info, check out Microsoft’s: Memory Limits for Windows Releases.
You may have seen news articles and blogs related to Vista SP1 and its performance increases (or the lack of). What people are upset about (myself included), is Microsoft officially says that Vista SP1 brings performance increases. The only problem: people can’t find these performance increases.
Let’s back up for a minute. Years ago, when Microsoft was receiving an onslaught of negative press and reams of customers were being directly affected by Microsoft’s lack of baked-in security… Microsoft had the wisdom to stop current product development and review millions of lines of code. Software source code (aka: application logic) was reworked in Microsoft Office, Microsoft Windows, Microsoft developer tools, and much of the other software produced by Microsoft. This group of significant actions became known as the “security reset”. And this really was major deal where normal software development was put on hold, so software across the board could be reviewed and fixed with a critical eye on security. In part, this security reset became a significant part of Windows XP SP2. During (and after) this period Microsoft instituted some fairly strict policies on security. These policies were communicated to external (non-Microsoft) developers. Overall, this was a major deal that took concerted effort within Microsoft.
Personally, I think Microsoft now needs a performance reset. As I have said in some of my previous posts, I think software in general, and Microsoft software in particular, is getting slower at faster rate than hardware is getting faster. And this problem acutely affects Vista. I think Microsoft needs a performance reset where development is put on hold and everyone looks at how we can improve performance. The caveat is: managers and executives don’t really like to do this because it affects product schedules, resource tasking, new product releases, and revenue streams. This affects marketing, development, testing, management, and pretty much anyone taking part in the development process.
But, I think some sort of significant performance reset is exactly what Microsoft needs to regain competitiveness. All hope is not lost, but too many applications are getting slow and piggy (at least from my vantage). And, too much negative user feedback and press is voicing this issue.
Back to Vista SP1. Microsoft is publicly saying that Vista SP1 will bring performance increases to the table. SP1 users/reviewers are saying otherwise. What bugs me about Vista’s SP1 performance “improvements” (other than people don’t see them), is I think Microsoft is doing performance improvements in a top down fashion. Such as: what areas of Vista need the most improvement. This is a good start, but a more holistic approach would couple this top-down strategy with a simultaneous bottom-up Performance Reset. Where developers actually put their work on hold, and review code to make the 6 million ton behemoth (Vista) faster.
Mary Jo Foley has dug a little deeper and uncovered the inside scoop on Vista SP1 and performance improvements: Microsoft hones its internal sales pitch for Vista Service Pack 1
I guess this is as good a time as any to voice some gripes I have with Microsoft’s latest and greatest desktop Operating System. Granted, it’s pretty common (even expected) for Microsoft’s newest OS to take some heat. So before I delve into my grips with Vista, in the spirit of tradition, let me first chronicle some complaints with prior Windows releases.
Way back when DOS users were introduced to Windows, there was a good bit of backlash. And, I for one, initially resisted moving to Windows. DOS worked and made sense, so why change a good thing, eh? The first few versions of Windows piggy backed on top of DOS, which affected performance and reliability (and to me, degraded my user experience).
When Windows NT 3.1 came out, detractors immediately bemoaned the expensive hardware it required: the quantity of RAM, the faster CPU and hard drive. With the release of NT 4.0, people complained they were just being sold a revamped UI (which was not completely true). I still remember when Windows NT 4 would get corrupted and you’d need to re-apply Windows Service Packs to try and fix it.
I had good friends certain that Windows 95 “was a fad”, and they were sticking with Windows 3.11 (and DOS) until Windows 98 came out. Then Windows 98 came out and people complained it was less stable, slower and required more RAM than did Windows 95. A year later Microsoft shored things up with Windows 98 Second Edition, but there were still detractors. When Windows ME came out, people complained very loudly (but I think ME complaints were often justified, as I consider it the worst Windows OS ever).
When XP shipped, people complained because it looked like eye candy that required more hardware… and it didn’t appear to bring much worthwhile to the table. But over time people did warm to XP, especially years after XP SP2 was released (i.e. today).
I think adoption of an OS is best described as maturation. Just as XP matured with new service packs, people warmed to XP’s nuances and capabilities. People learned how to use it, and how not to use it. This maturation is a two way street where all parties have adapted.
Over time Microsoft saw how people (and software) worked on XP, and the Windows development team was able to fix more bugs, polish errata and improve the end user experience. In effect, this maturation was a feedback cycle where Windows XP, Windows XP users, and the Windows XP development team gradually became sync’d together. Until this happened, users were working against the OS, because the OS was working against the users. And Microsoft was stuck in the middle (or, depending on your vantage, the users were stuck in the middle).
Enter Vista. Five long years after XP shipped, Microsoft finally delivered their latest and greatest desktop OS: Windows Vista. As with virtually all previous Microsoft operations systems, detractors immediately surfaced. Since I’ve been through a bunch of previous Microsoft OS launches, I have gotten pretty good about sitting on the fence and not immediately complaining. In part, I don’t want to complain about something that is not real, but I also want to personally evaluate something (and build my own experience). Now, that I’ve had a year to play with Vista, I do have some gripes. These are my personal views, so please digest with a bit of salt.
Performing my typical workflow (i.e. using my typical software) Vista provides noticeably lower performance than does XP. My issue is not that Vista just requires faster hardware (because most every new Microsoft OS has required faster hardware). My issue is that Vista requires faster hardware than is reasonably available. Then, pile on top of that: Computer makers are selling bunches of Vista on machines with mid and low-end hardware. Hey! That’s a great way to build a dissatisfied user base!
Case in point: RAM. Vista is doing some sophisticated things with caching data in RAM. This really is an interesting idea, where the OS puts all available RAM to good use. But… to take advantage of this, you really need between 2 GB and 4 GB of RAM. Sure the minimum system requirement for Vista is 512 or 1 GB (depending your own Vista Roulette) but my personal take: that’s nuts! Even 1GB is nuts-o! You surely don’t want to go lower than 2GB because performance will likely suffer. But you cannot go higher than 4 GB, because that’s as much as 32-bit hardware supports (without AWE, which is best suited for servers and specialized platforms such as SQL Server). So, a range of 2GB or 4GB is an awfully small window of configurability. And, since it’s best to go with 4GB, your configuration is pretty much predetermine: You can either have 4 GB of RAM or 4 GB of RAM. This is a lot like what Henry Ford originally offered for auto color choices: Black or Black (58th best quote every: “Any customer can have a car painted any colour that he wants so long as it is black”). Maybe this issue of RAM will be a major driver of Windows 64-bit adoption.
Let’s also consider hard drives. Vista seems to push hard drives a lot harder than XP. I recently purchased a brand spanking new 17 inch Sony VIAO with dual-core Intel Core 2 processor and 2GB of RAM. And performance was just terrible. I thought: “How could this be? This is a pretty powerful machine, and Microsoft and Sony have had a year to address performance and usability!” But, my purchase offered anything but performance and usability. I tried Office 2007 and performance was bad. Booting was really slow, shutting down was also slow. Running various applications were slow. I tried running development tools (Visual Studio 2005) and performance was just the absolute pits: compiling my medium sized project (250k lines of native C++) took six times as long as it did on my 4 year old Windows XP desktop. After a lot of sleuthing, I determined the root cause: a slow hard drive. And the version of Vista that came with this laptop, Vista Home Premium, prohibits disk write caching (a clever mechanism to make a hard drive faster than it really is).
I can only surmise that important Microsoft executives decided the Home variants of Vista needed to provide lower performance, which unfortunately resulted in my poor user experience. So, I was hit with a double whammy: Vista is too slow for my hard drive, and Microsoft executives decided my new computer’s hard drive needs to suffer a performance penalty since I chose the wrong Vista variant during my shopping Vista Roulette.
A few months back, I went on a business trip to Microsoft’s campus to do some P&S (Performance & Scalability) work with the SQL Server team. In addition to getting to work with the zen-like SQL Server team, an additional perk was a visit to the Microsoft Campus store, where I quickly picked up a copy of Microsoft Vista Ultimate Edition. Now, flash back to the present. To enable disk write caching on my VAIO, I’ll just upgrade my Vista Home Premium to Vista Ultimate, then performance will be… well, better! But it turns out that Microsoft prohibits this upgrade path (Upgrading Home Premium to Ultimate is blocked by Microsoft – I again blame the executives). The thing that really bugged me is this should be technically possible. Microsoft blocked the upgrade when I entered my retail purchased Ultimate key, and Microsoft blocked my upgrade when I ran the Vista Ultimate upgrade wizard. The only thing I can surmise is Microsoft figured there was some financial benefit to blocking the Home to Ultimate upgrade path.
So, I did a complete re-install of Vista Ultimate, downloaded drivers from Sony, and reinstalled my applications. With write caching enabled, performance did improve. But not by very much. And, building software with my Vista laptop is still much slower than my XP desktop. Even the most basic actions such as copying, renaming, and deleting a single file is noticeably faster on my 4 year old XP desktop. This was slightly upsetting considering Vista aggressively caches data in RAM, so hard drive performance is theoretically not as important. So, I now realize my Vista laptop needs a much faster hard drive. I should probably upgrade the RAM to 4GB as well. Hmm… Maybe purchasing mid-level hardware was a bad idea with Vista. 12/27/2007 Update: Computer makers appear to agree that Vista Notebooks need 4 GB of RAM.
I’ve also installed Vista on my 4 year old desktop in a dual boot configuration, where I can boot into either XP Professional or Vista Ultimate. Due to my performance and usability bias, I more often use XP. As I’ve said in earlier posts, I find performance a critical piece of usability. If an application, or OS, offers significantly sub-par performance, I’ll quickly ditch it (when possible). A bunch of new bells, whistles, and improved security just don’t (currently) warrant my use of Vista. I am not an eye candy consumer. I’m not particularly enamored with Vista’s DRM. In fact I am much more concerned with substance, such as: functionality, simplicity and performance. I know incredibly talented Microsofties. And, I know many people have pored years of their lives into developing Vista. I also know it is in Microsoft’s best interest to deliver software solutions that meet (or, ideally exceed) consumer expectations. As of today, Vista does not meet my needs. But maybe after some performance and usability maturation of Vista, and performance improvement in hardware, we’ll see Vista as the Microsoft OS for today. Until then, I think to some degree, Vista will be the Operating System of the Future.
I would like to close by saying there really are a lot of major improvement that are promising in Vista. For a quick overview, please check this out (Wiki):
An articles that initiated this post: Top ten terrible tech products (cnet.co.uk)
Another article that initiated this post: The Vista Death Watch (Dvorak)
An example of what I consider “executives not getting it”: Ballmer blames pirates for slow Vista adoption (arnnet)
Also interesting: The history of Windows NT (Wiki)
It looks like Vista SP1 may not provide much of a performance increases: http://exo-blog.blogspot.com/2007/11/vista-sp1-performance-dud.html
If this is true, then it really is a shame, because my experience with Vista has definitely left me wanting for more performance. With light use of the OS (i.e. web browsing and email) I don’t feel Vista has that much lower performance than XP. But, when I use more system intensive application such as Developer tools (Visual Studio) or even basic Shell usage (copying, renaming and deleting files in Windows Explorer), Vista seems really slow. Actually, painfully slow.
My personal opinion is: Microsoft tried to push too many unproven technologies into Vista too quickly (which is ironic considering how late the OS was). And performance was never properly baked in. This unmanaged complexity resulted in an OS that is overly slow, unreliable, and immature. When I say immature I mean: it’s going to take a while for Vista to mature to the point where it’s generally considered the accepted Microsoft OS. This really isn’t any different from XP, where I’d argue that SP2 delivered maturation to XP. The big difference in my mind is: XP was never a bloated, wallowing, performance lackey.
Microsoft openly considers security critical (as they should), but when it comes to performance, it seems like they couldn’t care less… and I don’t really like that, because for me: Performance Is A Significant Part Of Usability. And, it’s not just the Vista team that is delivering a product with poor performance. I find the performance of Microsoft Office 2007 and Visual Studio 2005 also lacking. Especially Visual Studio 2005, which I consider was designed by and for executives (and not for the actual enduser).
It is generally accepted as conventional wisdom that new versions of software get bigger and slower, but I observe major Microsoft products getting slower faster than hardware is getting faster. To restate more clearly: Major Microsoft products get more sluggish than hardware gets faster.
So, I’m probably staying with XP a while longer until Microsoft addresses Vista performance. Maybe I’ll transition my main computer to Vista if I get an insanely powerful workstation…. But maybe I’ll just wait for Microsoft to fix Vista.