Tags: windows

Randall Stross proves he should stop writing about technology

What a rubbish article, I'm very disappointed at the New York Times for allowing this to go to print. Almost as much as the BBC giving the Free Software Foundation free access to write technology articles on their website, the equivalent of letting Microsoft have their marketing department write for the BBC.

Windows Could Use a Rush of Fresh Air

Ohhh that's new-age sounding, it's gotta be good.

Beginning as a thin veneer for older software code

Yup Windows began as a GUI for DOS.

it has become an obese monolith built on an ancient frame

Wrong, there's nothing of the "ancient frame" remaining in Windows today. It's completely different. More details below.

Adding features, plugging security holes, fixing bugs, fixing the fixes that never worked properly, all while maintaining compatibility with older software and hardware

Oh yeah all very good. Let's stop doing that, we won't add any new features. Then of course you'll be complaining because the new version of Windows doesn't have anything new. Security holes, OK we won't do anything about those, patching bugs, meh we'll just sell you the new version instead like Apple do. Compatibility, ah nobody needs that, we'll just stop worrying about that so you can buy all your hardware and software again every time a new version is released.

What planet is this guy on? Anything as an excuse to bash Windows.

Vista is the equivalent, at a minimum, of Windows version 12 — preceded by 1.0, 2.0, 3.0, 3.1, NT, 95, NT 4.0, 98, 2000, ME, XP. After six years of development, the longest interval between versions in the previous 22-year history of Windows, and long enough to permit Apple to bring out three new versions of Mac OS X, Vista was introduced to consumers in January 2007.

Oh here we go Apple must be nimble and quick because Microsoft didn't release anything new for six years. Wrong.

Microsoft shipped two server releases, four versions of Media Center, and at least two Tablet PC Editions, without counting Windows Mobile and Embedded that's eight versions of Windows right there. I should also mention Windows XP SP2, which could of been sold quite easily as a new version of Windows - Microsoft put pretty much the entire Windows team on SP2 for a year, pushing Windows Vista back so they could give you a free upgrade. I suppose you'd rather of seen a Windows XP R2 or SE in the shops for $200 though right?

The internal code name for the next version is “Windows 7.” The “7” refers to nothing in particular

Wrong, the seven refers to the next major version of the NT kernel, which in Windows Vista and Server 2008 is version six.

Yes version six (with four major releases), so your twelve versions of Windows is junk too. Why? Because there was a version of Windows started up from the ground up. It's called NT, which is why your ancient frame comment in your first sentence is utter nonsense. In fact Microsoft did it so well that apparently Randall doesn't even know they pulled it off.

the company should take heart from Apple’s willingness to brave the wrath of its users when, in 2001, it introduced Mac OS X. It was based on a modern microkernel design

Completely different. Apple took an existing operating system, FreeBSD (based on Unix) and built on it. So on the one hand you're proposing they "borrow" somebody else's operating system, and on the other hand you're telling them to start over fresh. Which is it Randall?

Asking Microsoft to chuck compatibility in the bin and start over new would be the biggest disaster ever in the technology industry, and no doubt the most expensive undertaking in history. Do you have any idea of the scale of forcing a complete overhaul for over a billion computers? Apple only had to worry about the backlash of a few million of their strongest supporters. Microsoft have to worry about a billion computer users, the largest companies in the world and everyone else. Talk about letting Microsoft give ammunition to people like you, who in next week's article would be attacking Microsoft for hurting backwards compatibility.

Windows Vista represents the biggest leap forward in changing the system since Windows 95, huge aspects of the operating system were thrown away and written from the ground up, NT security measures were enforced. That hurt compatibility, and Microsoft spent a considerable amount of time working on using visualisation to keep the impact to a minimum (something I believe they were extremely successful with). Something the scale of change we saw in Windows Vista was really as far as Microsoft could push it. Don't get me wrong, I'm one of the people who say we need to move forward, and that ensuring compatibility does hold things back. But what you're saying a completely re-write of the entire system from scratch, with modern ways of building a system is so far out of the real world. The press and blogosphere have a field day with Windows Vista already because it was so much of a change (completely unwarranted in my opinion Windows Vista is the best OS to date), what you're suggesting would amplify it a hundred times over. But I've got a feeling that's what Randall wants to see, or at least the people he got all these crazy ideas from.

They believe that problems like security vulnerabilities and system crashes can be fixed only by abandoning system design orthodoxy, formed in the 1960s and ’70s, that was built into Windows.

Now he's talking utter crap. Mac OS X you keep going on about is based on Unix from the 1960s!

Windows NT comes from the early 1990s, it was based on VMS which was created to address all the problems with Unix. You've got things completely upside down Randall. And even if they were right, it's not like you can use old or modern in this space to assume an operating system is good or not.

A MONOLITHIC operating system like Windows perpetuates an obsolete design.

What? Oh you're using a technical term to the general public so they think monolithic means bloated and big, and even that is 10 years out of date. This strikes me like creationists calling evolution a "theory", knowing full well how the general public understand the word, and how scientists use it are completely different. Windows NT uses a hybrid-kernel, not a monolithic kernel. He seems to be brushing over the fact that internally it is extremely modular, and not at all similar to something like Windows 95 or Linux, which use a monolithic kernel.

We don’t need to load up our machines with bloated layers we won’t use. We need what Mr. Silver and Mr. MacDonald speak of as a “just enough” operating system. Additional functionality, appropriate to a given task, can be loaded as needed.

What you mean like Windows? When you need to load something, you load it up and when you're finished you close it so it's not using any resources. Jeez.

I can't even be bothered talking about the rest, this guy just has absolutely no clue, everything he says is wrong, it started off completely wrong, and he just went further and further towards cluelessness. He's got so many concepts just completely backwards, and he's propagating so many myths straight out of the Apple/Linux crowd like Microsoft didn't do anything for six years between Windows XP and Windows Vista.

You're wrong Randall, totally wrong.

Why isn't my computer seeing more than 3 or 4GB of RAM?

Increasingly I'm running into these sort of questions in technical communities, to the point where its happening several times a day. Questions like:

"I've 4GB of RAM, but Windows only shows 3GB" and "My PC's got 8GB of RAM but it only shows 3.1GB" etc

This stems from the fact that a 32-bit computer (sometimes referred to as x86) only supports a 4GB (2^32) address space. So why doesn't 4GB of RAM show up? Because the computer also needs to address other hardware in the computer like the CPU, motherboard, graphics card etc these all need addresses so the computer can access them.

It's time for one of my dodgy analogies, and for the 5 year old artist inside me to break out.

This is what the address space on a 32-bit computer with say 2GB of RAM "looks" like using my dodgy street/house analogy. The first row of houses are the first 1GB of addresses, and so on.

Say the red house is where the CPU lives, the sound card lives in the yellow house, and the graphics card in say the orange house, these are all occupying addresses within the 4GB limit. The green houses are all filled with RAM. And there are some empty houses shown in white.

So what happens if we try sticking another 2GB of RAM in the system to bring the total RAM to 4GB?

Uhh ohh... All of the houses are full up, and we've got some RAM left over. This RAM is unaddressable, and as such the system has no address by which to communicate with it, and it goes unused.

This is why people's computers are only seeing about 3GB of RAM (that number varies due to different hardware, some needs more address space, some needs less). Despite the address space being 32-bit, the rest of the hardware needs its addresses and so the extra RAM is pushed out of the address space.

The solution

There is no easy solution, if you want your computer to use more than around 3GB of RAM. You have one option.

Ensure your hardware is 64-bit compatible, and use 64-bit Windows.

The mainstream version of 64-bit systems were mainly developed by AMD (dubbed AMD64, x86-64, often shortened to just x64), which debuted in their Athlon 64 chips. Intel later adopted the same technology in their own chips, for the last couple of years almost all CPUs sold are capable of running in both 32-bit and 64-bit modes. In 2005 Microsoft released versions of Windows XP and Windows Server 2003 that had been rewritten to support these 64-bit CPUs, and along with the 32-bit versions of Windows Vista and Windows Server 2008 Microsoft also ship 64-bit versions.

64-bit has a significantly larger address space, 2^64 is 18,446,744,073,709,551,616 bytes, that's about 16 exabytes. About 17 billion GB of address space, using the analogy it looks like this:

Our street/house analogy breaks down here, and there's no way I can draw all the houses, but you can see the left over 1GB of RAM now gets an address.

Recent changes, and putting 64-bit to work

Microsoft made some changes in Windows Vista SP1 so that the system properties will display the installed RAM, instead of the usable RAM. This no doubt came at the request of computer manufacturers who were getting too many calls to their help desks about this issue. Instead of doing the obvious thing - which is using Windows Vista x64 when selling computers with 4GB or more RAM, they'd rather cover the problem up, it's not like the 64-bit version is anymore expensive to buy off Microsoft than 32-bit.

You can still check what RAM is usable by opening the Task Manager and looking at physical memory under the performance tab.

It is only a matter of time until computer manufacturers have to get their act together on this - in a couple of years when you can buy computers with 8GB of RAM they won't be able to get away with 5GB going unused and they'll have to start moving 64-bit versions of Windows in large quantities.

Using 64-bit versions of Windows does have its trade offs, the hardware needs to support 64-bit by supplying 64-bit compatible drivers, and some motherboards need an option to be changed in the BIOS to support 64-bit. There are also some software compatibility changes, although Windows XP/Vista x64 is compatible with 32-bit software, applications that dig in deep to the system like anti-virus will probably need to be replaced, in addition 16-bit applications from the DOS/Windows 3 era are no longer compatible.

A few interests tidbits

A 1 exabyte hard drive would cost somewhere in the region of $200 million to manufacture. I don't know how big it would be - but it would be pretty huge.

All the words spoken by every human through history would weigh in at about 5 exabytes.

Yes, a 16EB address space is pretty big, and we won't need to move to 128-bit for address space reasons anytime soon (and yes in 30 years I'll probably regret saying that).