Go to Babel Com Australia Home Page Go to Babel Com Australia Home Page

Technical Reports

Windows NT Myths

 
Introduction Microsoft has attempted a belated de-bunking of several arguments that have appeared in the community over the last few years, on the comparative strengths and weaknesses of Windows NT versus Linux.

Unfortunately their arguments, as is often the case, are based on a deep, thorough, and intimate lack of understanding of the subject. Their comparisons appear to be mostly based on their experiences of "older style" unix systems, and in any case are based on incorrect assumptions and grounded in hyperbole and information that is in nearly all cases misleading or incorrect.

Their report, for what it is worth, is available here: http://www.microsoft.com/ntserver/nts/news/msnw/linuxmyths.asp


Linux -- The Reality The realities of Linux are based on an understanding of the operating system and its fundamentals. The author has been involved with Unix systems for over 15 years, and with Linux since 1991. I also work with Windows NT systems on a day-to-day basis, as a consultant and network engineer, and have significant administration and operational experience on Windows NT.

Despite the following statement from Microsoft:

With all the recent attention around Linux as an operating system, it's important to step back from the hype and look at the reality.
Microsoft have demonstrated that they are completely untainted by any sense of reality, and entirely consumed by their own hype.

First, it's worth noting that Linux is a UNIX-like operating system. Linux fundamentally relies on 30-year-old operating system technology and architecture.
The fact that Linux is based on mature, tried-and-tested, and long proven architecture is irrelevant to this discussion. Linux was developed from the ground up during the early part of this decade, as was Windows NT.

Linux was not designed from the ground-up to support symmetrical multiprocessing (SMP)
Excuse me for breaking in here, but neither was Windows NT. SMP is only a feature that has been in recent releases of either operating system.

Sharing a single processor between multiple processes is a design goal of all Unix operating systems, as the entire operating system was designed to support multiple users running multiple processes concurrently. Support for multiple users in Windows NT is a recent hack-in, was not developed by Microsoft, and has proven to be flaky and unreliable in many instances. Even pre-emptive multi-tasking is a relatively recent addition to Microsoft's operating system range, whereas it has always existed under Unix.

The ability to support multiple processes across multiple processors in a distributed manner (i.e. SMP) is best targeted at multi-user operating systems. Operating systems supporting a single user see little gain from SMP except in a back-end server environment.

graphical user interfaces (GUI)
The X11 graphical user interface is a standard feature of Linux and has been almost since its inception. The X11 interface supports multiple users, remote users, and remote administration, something that Windows NT has yet to achieve.

If Windows NT was designed from the ground up to be a networked operating system with a graphical user interface, why didn't Microsoft deliver a networkable GUI? The lack of a multi-user GUI in Windows NT is a primary pointer to its origin as a single-user, single-tasking operating system.

asynchronous I/O,
This statement is one that could only have been made by a person who has a distinct unfamiliarity with the POSIX specification. POSIX requires asynchronous I/O, and Linux was designed to be POSIX compliant from day one.

fine-grained security model,
Linux, as many other Unix systems, is designed to have a standard, reasonably course-grained, security model. This has proven to be sufficient for the majority of applications.

A finer grained security model (based on POSIX ACLs) has become a recent feature of Linux. Its exceptionally slow uptake in the Linux community merely demonstrates that such a security model is not necessary on the desktop, and is more of a hindrance than a help in the data center.

If Microsoft want to talk about Windows NT security, perhaps they could explain why, in a default installation, all operating system files are readable, executable, and writeable by all users! This is not a security hole that would be considered acceptable by any data center manager.

and many other important characteristics of a modern operating system.
At this point, Microsoft appear to have run out of ideas. Let me discuss a few more important issues:

  • Remote Admimistration. Despite recent advances, it is still a fairly difficult task to remotely administer a Windows NT machine. Installed out of the box, Windows NT is basically impossible to administer remotely. Only with the addition of the Resource Kit does remote administration take on anything like the power of the basic "telnet" interface of the Linux system.

    Windows NT administrators are forced to leave their desks continually to monitor, reboot, install and de-install software on, and perform other tasks on a remote NT server. Linux administrators generally sit in their chairs and either manage the system via telnet or secure shell, or run X based administration programs remotely.

    No data center manager can afford to have his or her staff leave their posts continually for simple day-to-day tasks.

  • Multi-user capabilities. Windows NT is still, essentially, a single user operating system. The lack of a multi-user graphical shell is a disaster.

    The "Terminal Server Edition" of Windows NT server is unstable, unreliable, and unsuitable for running data center applications.

  • Availability of Source Code. Time and time again, Windows NT's security features have been found lacking. The fact that the source code for the networking stack in Windows NT is not available means that there is no community of people interested or capable of making the system secure.

    Bugs are found in the TCP/IP layer of Windows NT completely by accident, and repaired by Microsoft only on an as-required basis. By comparison, most of the TCP/IP bugs found in Linux systems have been repaired before exploits have become available.

  • Wide-scale rapid deployability. Windows NT takes, at best, several hours to install and deploy. Red Hat Linux takes maybe half an hour. Using a rapid deployment mechanism (kickstart files for Red Hat Linux, and unattend.txt files for Windows NT) the most rapid roll-out of Windows NT that I have been able to achieve to a wide-ranging number of desktops is one every 90 minutes. By comparison, a typical kickstart deployment of Red Hat Linux takes less than 12 minutes.

    The story with Windows 2000 is going to be much, much worse. Apart from needing 128MB of memory for the operating system (and with memory prices skyrocketing, who can afford that enterprise-wide these days), and nobody knows how much more for the applications, the deployment process is difficult, cumbersome, and above all extremely time consuming. Hearing of 4 hour installation times just for the operating system is not uncommon.

Performance

Myth: Windows NT 4.0 Outperforms Linux On Common Customer Workloads

Microsoft make the following claim:

For File and Print services, according to independent tests conducted by PC Week Labs, the Windows NT 4.0 operating system delivers 52 percent better performance on a single processor system and 110 percent better performance on a 4-way system than similarly configured single processor and 4-way Linux/SAMBA systems.
As has been demonstrated in many press articles, these figures are highly disputable, and more importantly, are not based on real-world systems.

In particular, SAMBA is not the native file sharing protocol of Linux. Microsoft have conveniently overlooked NFS, which outperforms the SAMBA/SMB/NT suite by several orders of magnitude. NFS is a stateless file sharing system based on the UDP protocol, whereas SMB is connection-oriented. Connectionless UDP will always outperform connection-oriented TCP, regardless of the application.


Reliability

Myth: Windows NT is more reliable than Linux

There is a large amount of anectdotal evidence confirming this fact, more than can be ignored. Time and time again, NT administrators complain about their servers locking up, or displaying the infamous "blue screen of death". This sort of behaviour is almost unknown in Linux.

Even so, there are some compelling reasons to choose Linux over Windows NT in an environment that requires reliability:

  • Separation of processes. Under Windows NT today there are significant problems with the separation of processes from each other. As a case in point, the display subsystem in Windows NT 4.0 has been implemented at the highest privelege level in the processor, reserved for the kernel in a Linux system.

    This means that a bug in a graphics card or driver can cause the entire system to crash.

    This sort of lack of attention to detail, whether it is in the drive for greater speed at the expense of security and reliability, is a data center manager's nightmare.

  • Greater control over dynamic library compatibility. Every NT administrator knows the agony and grief caused by Microsoft's failure to control versioning of dynamic link libraries (DLLs). Installation of one application frequently over-writes DLLs used by other applications, causing instability and management problems.

    In Linux, different versions of different dynamic link libraries have different names. A simple enough concept, really.

  • Windows NT requires an extroadinarily large number of reboots. No manager of a reliable system ever wants to have to reboot it. Under Windows NT, many application installs require a reboot of the operating system. Additionally, simple functions like changing an IP address or network mask, modifying a WINS server address or increasing the swap file size require a reboot. Under Linux, the system is up and stays up the entire time.

Total Cost of Ownership

Myth: Free Operating System Does Not Mean Low Total Cost of Ownership

The cost of the operating system is only a small percentage of the overall total cost of ownership (TCO). In general Windows NT has proven to have a lower cost of ownership than UNIX. Previous studies have shown that Windows NT has 37 percent lower TCO than UNIX. There is no reason to believe that Linux is significantly different than other versions of UNIX when it comes to TCO.
There are significant reasons to believe that Linux has a lower TCO than commercial Unix systems. Here are some of them:
  • Linux is free. I thought I'd start with the obvious one.

  • Linux runs on low-cost PC hardware. The reason that NT has a lower TCO model demonstrated than high-end Unix systems is that NT doesn't require high-end hardware. High-end Unix systems do. Linux does not.

  • Essential networking services are built-in on Linux. An SMTP based mail server, a database server, a web server, and other networking resources are built-in to most modern Linux distributions. As an exercise, the reader might like to cost the equivalent components on a HP-UX, AIX, Solaris or Windows NT system.

  • Remote, GUI and web based adminstration tools. This is a feature that neither commercial Unixes or Windows NT can compete on.
Microsoft's assertion that Linux has an equivalent TCO to commercial Unix systems, or even a higher TCO than Windows NT, is based entirely on guesswork. There is no evidence to back this up.
Security

Myth: Linux Security Model Is Weak

Microsoft make the following statement:

Every member of the Windows NT family since Windows NT 3.5 has been evaluated at either a C2 level under the U.S. Government's evaluation process or at a C2-equivalent level under the British Government's ITSEC process.
Remarkably, they omit to mention how many of these "members" have actually passed this evaluation.

One. Precisely one. No more.

Not a particularly good record.

Finally, the Microsoft foot is totally and completely shot with this statement:

Configuring Linux security requires an administrator to be an expert in the intricacies of the operating system and how components interact. Misconfigure any part of the operating system and the system could be vulnerable to attack. Windows NT security is easy to set up and administer with tools such as the Security Configuration Editor.
One might ask how fast a novice Windows NT administrator, without being versed in the "intricacies of the operating system" might solve the problem of all system files being writeable by all users, and the lack of mandatory password lengths, before his or her system is blown out of the water by a casual hacker.


Linux on the Desktop

Myth: Linux Makes No Sense at the Desktop

Linux as a desktop operating system makes no sense.
Linux makes a heap of sense on the desktop.

Remote management of desktop operating systems is an IT manager's dream. The ability to remote control, distribute software to, inventory manage, and provide helpdesk functions for remote users is an expensive and not particularly cost effective goal.

With systems such as Unicenter TNG, HP Openview, and Microsoft's own SMS, hundreds of thousands of dollars can be spent in this area. It is an interesting point to note that most implementations of these expensive and cumbersome products fail.

With Linux on the desktop, your remote management problems are over.


Summary

Myth: The Linux operating system is not suitable for mainstream usage by business or home users.

Clearly, another statement made by someone out of touch with reality. What are these guys on?

The Linux operating system is in use by both business and home users alike. It is the fastest growing operating system in terms of number of sites and number of servers being deployed. Linux would not have achieved such penetration, without commercial promotion, if it was not extremely suitable for such use.

Today with Windows NT 4.0, customers can be confident in delivering applications that are scalable, secure, and reliable--yet cost effective to deploy and manage.
Ah yes ... but where do you want to go tomorrow?
Other Links
Constructed by Del (del@babel.com.au)