Fog Creek Software
Discussion Board




Windows XP is not an operating system


http://www.pbs.org/cringely/pulpit/pulpit20030116.html

Cringely's true ignorance is beginning to show.... maybe he should stop pretending he understands techie stuff and go back to flying his old planes.

HeyMacarana
Saturday, January 18, 2003

Wow.. I am surprised at this article... anyone else has any thoughts?

He kind of gets it right until you get to NT/2000/XP

- Raist

Raist3d
Saturday, January 18, 2003

I'm not a fan of MS, but this article is pure ignorance.  It would be like claiming Linux isn't a real OS because of bash (yes, I know Linux is really just a kernel, you know what I mean).  I don't see what they would gain by porting to Linux (nevermind how it would even be possible).  Linux is certainly not the best example of a secure open source/free operating system.

Anonymous
Saturday, January 18, 2003

Gee whiz, just replace the core of Windows XP with Linux.  After all, Windows XP isn’t an operating system …   

Cringely unfortunately claims to know more about the architecture of NT/2000/XP than he really does, and I can’t even fathom where he gets some of his ideas.  And then he writes an entire opinion piece based largely on his own misunderstanding!  Was it a joke??

He’s kind of like that character Gilda Radner used to play on Saturday Night Live; they both get all riled about something they misunderstand in the first place (I personally think Gilda Radner was funnier).

Nick B.
Saturday, January 18, 2003

I won't pretend to know anything about XP architecture or even that much about Linux architecture. But it sounds like a good idea. Consider this: Microsoft and Apple used to be enemies. Now MS makes a version of Office that runs on Apple’s OS. Why not make a version of Windows that runs on Linux? They don’t have to give up their other OS products and they expand into a new market! Granted most of the flaming Linux fans I know hate MS and Bill with an unreasonably fervent hatred, but all those businesses that are supposedly moving to Linux might be customers. It’s like IBM buying Rational Software. Or a publisher selling the Koran and the Hebrew Old Testament.  Or it might be a reason I'm a broke thirty something fat guy and Bill is a Billionaire.

WNC
Saturday, January 18, 2003

As an idea, the article is interesting.

However, am I supposed to visualize lots of COM servers running behind the "windowing" all on top of Linux.  This strikes me as bizarre.  I would think the Microsoft OS has functionality built-into or ontop of their OS that makes their applications profit as such.

If this is the case, then isn't a 1000 lb. gorilla, being placed ontop of a bending branch?

Brian R.
Saturday, January 18, 2003

No, no, no. Make MS *Office* available for Linux!

Chi Lambda
Saturday, January 18, 2003

I'll be the contrarian here. I don't have a lot of heartburn with Cringely's article. Yeah, it's a typically glib op-ed piece about fairly deep technological and architecture issues, but he's basically right. He just leaves out the total rearchitecture of *everything* that would be required to implement his vision.


What the *public* generally perceives Windows to *be* is the GUI system, period.  The guts aren't really important to most consumers.  So from a marketing standpoint, it could (in another universe!) make some sense for the GUI system to be unbundled and sold in OS specific incarnations: Linux, Solaris, QNX, whatever.


IE, slap the Windows GUI onto Linux and you have an easy to use, Win32 compliant system (with the help of a glob of code similar to Cygwin but going in the other direction bundled into the thing, of course.... :-) )


However, that last aspect is what brings the fantasy crashing down to earth. Windows (the entire product as we know it today in our universe) sort of mooshes together the windowing system with the OS. It's assumed you will always have a display. IE: writing an NT service is a special case of application, and is harder to do with most languages than developing a straight Win32 GUI app. A blue screen in a screen driver in NT can bring the OS to its knees. (since I've rarely heard of many blue screens in 2K or XP, I will defer to someone else's experience.)


So the foregoing vision implied by Cringely REALLY isn't practical. Mainly, the massive Win32 API plus all the subsystems such as COM, etc that comprise Windows as it is known today prohibit this from happening. And if you did carve out a huge chunk of Windows and make it a layer atop Linux (for instance) you would wind up inheriting most Windows behaviors anyway.


But if it *were* possible, it would make some sense and be kind of cool.

Curmudgeon
Saturday, January 18, 2003

MS Office for Linux. That's a great idea. It would cost a fortune. It would legitimize the Linux OS in the minds of many businesses. That is probably why it won’t happen.

WNC
Sunday, January 19, 2003

Cringley seems to miss the point that without the Win32 subsystem, the NT kernel is a awesome piece of engineering that quite probably IS better than Linux.

Wayne Venables
Sunday, January 19, 2003

Ho ho, that was fun.

Im no MS fan but I think the 2k/XP kernel is actually pretty good. Also, one of MS' big competative advantages is the fact that everything x86 has win drivers.

The reasons for using Nix IMHO has more to do with the loads of useless crap being piled upon the avrage windows install rather then any real problems with the kernel.

Eric
Sunday, January 19, 2003

The vice-rector at my college once told me that the reasons the machines in some labs kept crashing wasn't to do with age, viruses, or deletion of system files, but because the students kept changing the screensavers!

Critchely's "Windows is the GUI" is at the same intellectual level.

Stephen Jones
Sunday, January 19, 2003

Cringely is a joke. Surely we could run the XP kernel on top of a VM that runs on a Linux kernel, but why would anyone want to do this? This would be pure overhead, without a single benefit.
A more interesting project could be running a Linux personality on top of the XP kernel. Pure as a research topic though, since I doubt very much there would be any commercial incentives.

Related link:
http://www.cs.cornell.edu/vogels/papers/informatik.pdf

Just me (Sir to you)
Monday, January 20, 2003

[Cringley seems to miss the point that without the Win32 subsystem, the NT kernel is a awesome piece of engineering that quite probably IS better than Linux. ]


Exactly! XP is based on the NT kernel which is based on the work of DEC and it's VMS operating system, a unix like variant OS, created for the VAX minicomputer (Actually Microsoft stole the team that created VMS and was subsequently sued by DEC and was forced to create the Alpha version of Windows NT but I digress..).

Never the less the NT kernel has a lot of history and work that cannot simply be thrown away because Linux is gaining popularity and NT is being seen as an arguably  unstable and insecure OS. I don't personally agree but nonetheless it is argued repeatedly every day on the internet.


But here is where Cringely's article gets good:
[Linux is better, faster, stronger than whatever is living underneath XP now, right?]

faster? I wonder if Cringely has ever actually used Linux?... Yes some services/daemons are faster on Linux (this is up for debate also). But to call the entire thing faster? Hahaha. Good one. I'll make sure I remember that the next time I run GNOME or KDE and it's slow as a dog. His statement reeks of ignorance.

Look I like Linux a lot and use it every day in my home setup. But to say throw away the NT kernel and place windows on top of Linux is ignorance. However I would not be surprised if Microsoft released a *nix based OS if they felt that it made sense in the future. They could create a windowing system that rest on top of BSD or GNU/Linux just like KDE or GNOME that could run windows applications using a emu set up similiar to WINE. But again, it would have to be in their best interest and I don't see it happening any time soon.

Ian Stallings
Monday, January 20, 2003

I would expect any NT based system after NT4.0 to run faster than Linux. The reason is that the video display can access the hardware directly in NT, whilst in Linux you have a whole house of cards with the X Windows manager on top of the shell and then the windowing system on top of that.

Giving the video driver direct access was a debatelable decision; it caused increased instability in return for speed.

Indeed one of the advantages of a Linux server is the fact that you don't need to install a GUI at all.

Stephen Jones
Monday, January 20, 2003

Do you have any figures to back up your assertion that it caused increased instability, Stephen?

John Topley
Tuesday, January 21, 2003

I thought Microsoft could add a Linux subsystem anytime they wanted:

http://www.windowsitlibrary.com/Content/356/01/1.html#2

Am I oversimplifying?

Ged Byrne
Tuesday, January 21, 2003

"Do you have any figures to back up your assertion that it caused increased instability, Stephen? "

I'm quoting Mark Minasi here  "Mastering Windows 2000 Professional"  Chapter 18, p560. What he was saying is that from NT 4 onwards the display drivers work in Kernel mode; as they are not written or tested by Microsoft, then he reckons there is going to be some increased instablity. Obviously the more there is that is running in Kernel mode as opposed to user mode the more chances there are of instability.

Stephen Jones
Tuesday, January 21, 2003

"I thought Microsoft could add a Linux subsystem anytime they wanted:
Am I oversimplifying? "

Sorry to be pedantic but Linux is not an operating system it is a kernel. How you can add a kernel to a kernel is beyond me.

Stephen Jones
Tuesday, January 21, 2003

"I'm quoting Mark Minasi here  "Mastering Windows 2000 Professional"  Chapter 18, p560. What he was saying is that from NT 4 onwards the display drivers work in Kernel mode; as they are not written or tested by Microsoft, then he reckons there is going to be some increased instablity. Obviously the more there is that is running in Kernel mode as opposed to user mode the more chances there are of instability."

That's correct but there is another crucial fact that is usually overlooked. The Win32 subsystem is the primary environmental subsystem within the Windows NT architecture. In versions prior to 4.0, display drivers run in User mode within this subsystem. Because it's the primary subsystem, Windows NT is actually designed to shut down the entire OS if a crash brings the Win32 subsystem down. After all, a kernel isn't much use without any means of inputting or outputting data, is it? Because of this, Microsoft decided that the increased performance resulting from the reduced number of context switches from Kernel to User mode was worth any theoretical loss in stability.

John Topley
Tuesday, January 21, 2003

Stephen is right. That is why I said add a Linux personality on top of the XP kernel (such as the Posix personality or the now defunct OS/2 personality), but I guess this is also what Ged refered to.

Just me (Sir to you)
Tuesday, January 21, 2003

Reading that post again, Ged also refered to a Linux subsystem, not a kernel.

Just me (Sir to you)
Tuesday, January 21, 2003

"After all, a kernel isn't much use without any means of inputting or outputting data, is it? Because of this, Microsoft decided that the increased performance resulting from the reduced number of context switches from Kernel to User mode was worth any theoretical loss in stability. "

Minasi answers this point very clearly. If you've got a server you don't need a GUI or indeed any input output devices.

All the performance enhancement caused by letting the Win32 system run in kernel mode as opposed to user mode is for a workstation.

The point is that NT workstation and NT Advanced Server to give it it's original name were actually identical. People found out that you simply had to buy the workstation and then change one registry key and you found that you had NT Server, with the added bonus that as it was still officially a workstation you didn't have to pay for any client licenses.

There is an official Microsoft report on changing over Hotmail to W2000 from Linux, where it was admitted that Linux was easier to administer precisely because it ran from the command line.

Stephen Jones
Tuesday, January 21, 2003

With the current design of Windows NT/2000/XP, the NT kernel is, in practical terms, useless without the Win32 subsystem. This has nothing to do with whether the operating system is being controlled using a GUI or CLI, locally or remotely. The kernel depends upon components of that subsystem, for example, the message queue. It could be re-architected in a non-pragmatic way, so that the kernel could continue running when all around it had failed but with no contact with the outside world, what would be the point of that?

John Topley
Tuesday, January 21, 2003

>>>>>>>>>the kernel could continue running when all around it had failed but with no contact with the outside world,<<<<<<<<<<<<

I'm not sure who you're adressing with this. I presume it's those who think Critchely's arguments are practical.

You have to have the whole kit and caboodle with NT. What I am saying is that in order to increase performance for the workstation they compromised on what was needed for a server.

Stephen Jones
Tuesday, January 21, 2003

"You have to have the whole kit and caboodle with NT. What I am saying is that in order to increase performance for the workstation they compromised on what was needed for a server."

How would you have designed things differently?

John Topley
Tuesday, January 21, 2003

"There is an official Microsoft report on changing over Hotmail to W2000 from Linux, where it was admitted that Linux was easier to administer precisely because it ran from the command line."

Tiny pedentaic point but it was FreeBSD, not Linux.
It has been a while since I read this, but I believe the main point on ease of administration back then was that the existing admins were very proficient in their environment and not used to Win2K at all. This was the main reason they used SFU (http://www.microsoft.com/windows/sfu/default.asp)
This presents through the Interix subsystem sort of what we were talking about, but it is Unix, not Linux.

relevant links:

http://asp01sea.activate.net/microsoft/teched2002/publish/WIN308_files/default.htm#profile=1

http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/windows2000serv/case/hotmail/hotop.asp

Just me (Sir to you)
Tuesday, January 21, 2003

Point taken about BSD.

What I remember was that they said it was easier to administer a large server cluster in Unices because of the ability to write batch files. The fact that NT used a GUI appeared to make things a little more difficult.

Stephen Jones
Tuesday, January 21, 2003

>>>>>>How would you have designed things differently? <<<<<<<<

I'm not saying I would.

Presumably MS decided that it was too expensive to design a separate server and workstation system.

W2000 does appear to be having trouble getting the mid to high end server market though (and of course loses much of the low end market because of price).

Stephen Jones
Tuesday, January 21, 2003

I doubt it was cost that was the issue. I think they probably asked why administering a server should force you to use command line tools in an age of graphical users interfaces. There was probably something in there too about consistency of user experience across different products in the Windows range. Having said that, one of benefits they're touting for Windows Server 2003 is that it features much better support for command line and remote administration, so they are learning that that's important for a server.

John Topley
Tuesday, January 21, 2003

Thinking about it a bit more, cost would have been more of an issue for MS back in 1988 when work started on what would become Windows NT. They were still "riding the bear" as Steve Ballmer called their relationship with IBM. MS-DOS was a cash cow but Windows 3.0 hadn't yet exploded into the world.

John Topley
Wednesday, January 22, 2003

Also, bear in mind that from a *nix perspective, for most users anyway, if X dies, the box has died.

If you boot into X, and all your apps are X, when X dies all your work is lost. The only benefit is that you don't have to reboot, but for a workstation, you might as well.

For a Win32 server it's pretty unlikely that you'll hit a video driver bug, as most of the time there is no one logged in to the machine, so no GUI activity is taking place.

Also, to make a blanket claim that the Linux kernel is better than the NT kernel is a bit much. Each has it's strengths and weaknesses.

slarty
Wednesday, January 22, 2003

-------------------------------------------------------------------
such as the Posix personality or the now defunct OS/2 personality
--------------------------------------------------------------- Sir

Thats exactly what I meant.

Ged Byrne
Friday, January 24, 2003

*  Recent Topics

*  Fog Creek Home