The original version of this document can be found at http://www.microsoft.com/ntserver/nts/news/msnw/linuxmyths.asp.
Microsoft
have produced an comprehensive but presumably not exhaustive list of why they
feel that NT is a better choice overall than Linux. We feel that some of the
points in this article are simply wrong and therefore have released this
response to their article. The 'we' who have contributed are named at the bottom
of the page. Our comments are in bracketed bold italics.
(7th October) - Thanks to all those that have taken the time to e-mail me.
Your comments are appreciated. I've posted some of the more interesting ones here. I'll keep posting
comments as and when they arrive. I will be attending the Linux Expo at Olympia
in London this afternoon so they'll be a delay in posts then.
(19th October) - We made a few mistakes that need to be cleared up.
Reality: Windows NT 4.0 Outperforms Linux On Common Customer Workloads
The Linux community claims to have improved performance and scalability in the
latest versions of the Linux Kernel (2.2), however it's clear that Linux remains
inferior to the Windows NT® 4.0 operating system.
- 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. ( For print services, the bottleneck is not with
the spooling speed to the server but in the output speed on the printer
)
- For Web servers, the same PC Week tests showed Windows NT 4.0 with
Internet Information Server 4.0 delivers 41 percent better performance on a
single processor system and 125 percent better performance on a 4-way system
than Linux and Apache. ( There were two problems with these results.
Firstly, they only took into account static HTML page content. Most web sites
use CGI to generate dynamic content - Linux beats NT at doing this. Secondly,
almost no internet sites use 100Mb Ethernet for their connection. Linux Apache
can saturate a 10Mb line even with low end hardware so the "performance"
figures are only of interest to high end server farms etc where the
competition is Solaris, not Linux See http://cs.alfred.edu/~lansdoct/mstest.html)
- For e-commerce workloads using secure sockets (SSL), recent
PC Magazine tests showed Windows NT 4.0 with Internet Information Server
4.0 delivers approximately five times the performance provided by Linux and
Stronghold. (SSL is about security not speed.)
- For transaction-orientated Line of Business applications, Windows NT 4.0
has achieved a result of 40,368 tpmC at a cost of $18.46 per transaction on a
Compaq 8-Way Pentium III XEON processor-based system. This industry leading
price/performance result from the transaction
processing council clearly shows how Windows NT can deliver world-class
performance for heavy duty transaction processing. It's interesting to note
that there is not a single TPC result on any database running on Linux, and
therefore Linux has yet to demonstrate their capabilities as a database
server. (See note on POSIX compliancy below.)
- Linux performance and scalability is architecturally limited in the 2.2
Kernel. Linux only supports 2 gigabytes (GB) of RAM on the x86
architecture,1 compared to 4 GB for Windows NT 4.0.
(Please read the footnote carefully.) The largest file size
Linux supports is 2 GB versus 16 terabytes (TB) for Windows NT 4.0. The Linux
SWAP file is limited to 128 MB RAM. In addition, Linux does not support many
of the modern operating system features that Windows NT 4.0 has pioneered such
as asynchronous I/O, completion ports, and fine-grained kernel locks. These
architecture constraints limit the ability of Linux to scale well past two
processors. (Linux generally uses swap partitions, not swap files. In
2.2 kernels, their maximum size is not limited to 128MB per partition, so this
is just plain wrong. However, even in 2.0 kernels one could create as many
128MB partitions as limited by the partition table on the disk. In either
case, its still possible to use a swap file in which case the limit is simply
the maximum file size supported by the OS. The 2gb limit is for x86
architecture only. Linux running on the Alpha platform supports much much
more. As for OS features, Linux has always used cutting edge technology but
not at the cost of increased size. The "core" NT system is several Megabytes
but Linux, due to it's modular nature, is never over 1 meg in size. A Linux
kernel over 500k is considered big. NT's lumbering size means that it will
never be reliable: bigger program, more bugs.)
- The Linux community continues to promise major SMP and performance
improvements. They have been promising these since the development of the 2.0
Kernel in 1996. Delivering a scalable system is a complex task and it's not
clear that the Linux community can solve these issues easily or quickly. As D.
H. Brown Associates noted in a recent technical report,2 the
Linux 2.2 Kernel remains in the early stages of providing a tuned SMP kernel.
(2.0 was the first SMP kernel, with hardly any optimization (one large
kernel-lock). 2.2 got more optimized, and 2.3/2.4 will almost certainly
support even better optimization in, for example, the TCP/IP stack. SMP under
Linux isn't yet perfect but improves with every kernel release.)
Myth: Linux is more reliable than Windows NT
Reality: Linux Needs Real World Proof Points Rather than Anecdotal
Stories The Linux community likes to talk about Linux as a stable and
reliable operating system, yet there is no real world data or metrics and very
limited customer evidence to back up these claims. (And, of course, you
very rarely see BSODs these days.</irony>)
- Microsoft Windows NT 4.0 has been proven in demanding customer
environments to be a reliable operating system. Customers such as Barnes and
Noble, The Boeing Company, Chicago Stock Exchange, Dell Computer, First Union
Capital Markets, Nasdaq and many others run mission critical applications on
Windows NT 4.0. (Most of these sites also experience more downtime than
Linux servers)
- Linux lacks a commercial quality Journaling File System. This means that
in the event of a system failure, such as a power outage, data loss or
corruption is possible. In any event, the system must check the integrity of
the file system during system restart, a process that will likely consume an
extended amount of time, especially on large volumes and may require manual
intervention to reconstruct the file system. (NT 4.0 doesn't include a
journaling file system either. There is one in development for Linux and may
be released with the 2.4 kernel. When NT 4 crashes it very rarely bothers to
even do a rudimentary integrity check of the hard drive(s) on restart. Linux
usually checks all partitions for errors on boot. I think we'd all rather see
data integrity than a fast boot time. Besides, this can easily be disabled
anyway. It also worth noting that NT has no quota support by default. Linux
has this and also supports many other filesystems such as NTFS, FAT and
FAT32.)
- There are no commercially proven clustering technologies to provide High
Availability for Linux. The Linux community may point to numerous projects and
small companies that are aiming to deliver HA functionality. D. H. Brown
recently noted that these offerings remain immature and largely unproven in
the demanding business world.
- There are no OEMs that provide uptime guarantees for Linux, unlike Windows
NT where Compaq, Data General, Hewlett-Packard, IBM, and Unisys provide 99.9
percent system-level uptime guarantees for Windows NT-based server.
(99.9% of what? One of the contributors to this article has 100% uptime
for the past year on several corporate scale Linux
servers.)
Myth: Linux is Free
Reality: Free Operating System Does Not Mean Low Total Cost of
Ownership (Likewise a £500 OS does not mean a low TCO.) The
Linux community will talk about the free or low-cost nature of Linux. It's
important to understand that licensing cost is only a small part of the overall
decision-making process for customer.
- 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. (This is a comparison to the
TCO of a Solaris based system, not Linux.) There is no reason to
believe that Linux is significantly different than other versions of UNIX when
it comes to TCO.
- The very definition of Linux as an Open Software effort means that
commercial companies like Red Hat will make money by charging for services.
(This is no different to Microsofts support.) Therefore,
commercial support services for Linux will be fee-based and will likely be
priced at a premium. These costs have to be factored into the total cost
model.
- Linux is a UNIX-like operating system and is therefore complex to
configure and manage. (That's pure FUD. Anyone with a moderate amount of
computing experience and the patience to learn can become a proficient Linux
administrator in a short time.) Existing UNIX users may find the
transition to Linux easier but administrators for existing
Windows®-based or Novell environments will find it more difficult
to handle the complexity of Linux. This re-training will add significant costs
to Linux deployments.
- Linux is a higher risk option than Windows NT. For example how many
certified engineers are there for Linux? (Linux certification is
relatively new. The ability to answer a multiple choice exam is questionable
as a certification method - this is how almost all Microsoft certifications
are currently achieved.) How easy is it to find skilled development
and support people for Linux? Who performs end-to-end testing for Linux-based
solutions? These factors and more need to be taken into account when choosing
a platform for your business. Myth: Linux is more secure than Windows NT
Reality: Linux Security Model Is Weak All systems are vulnerable to
security issues, however it's important to note that Linux uses the same
security model as the original UNIX implementations- a model that was not
designed from the ground up to be secure. (UNIX is designed from the
ground up to be stable. The Linux security model is simple. Simple!=Weak. No-one
I know has accused NT of being stable recently.)
- Linux only provides access controls for files and directories. In
contrast, every object in Windows NT, from files to operating system data
structures, has an access control list and its use can be regulated as
appropriate. (Not true. All devices attached to a Linux server are
represented as files. Linux mantains the security seetings on the file and
therefore the device.)
- Linux security is all-or-nothing. Administrators cannot delegate
administrative privileges: a user who needs any administrative capability must
be made a full administrator, which compromises best security practices.
(Wrong. All the Linux admin would have to do is create a group that has
the relevant permissions to the files in question.) In contrast,
Windows NT allows an administrator to delegate privileges at an exceptionally
fine-grained level.
- Linux has not supported key security accreditation standards. 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. (This is for the
same reason that Linux is not officially POSIX compliant. i.e. no one could be
bothered paying POSIX $15000 to test it.) In contrast, no Linux
products are listed on the U.S. Government's evaluated product list. (C2
classification is only for a specific configuration of hardware and software.
Microsoft seems to play down the fact that you cannot connect a Windows NT
machine directly to the Internet without violating its C2 rating.)
- Linux system administrators must spend huge amounts of time understanding
the latest Linux bugs and determining what to do about them. (And we
would hope that any NT Administrator would do the same.) This is made
complex due to the fact that there isn't a central location for security
issues to be reported and fixed. In contrast Microsoft provides a single security repository for
notification and fixes of security related issues. (Linux is based
on the Open Source model of development. Time and time again, bugs found in
Linux have been fixed within hours of discovery. Microsoft cannot respond to
issues this quickly.)
- Configuring Linux security requires an administrator to be an expert in
the intricacies of the operating system and how components interact.
(Please tell us when you wouldn't want an expert running your
server.) Misconfigure any part of the operating system and the system
could be vulnerable to attack. (And how does this differ to a badly
configured Windows NT Server?) Windows NT security is easy to set up
and administer with tools such as the Security Configuration Editor.
Myth: Linux can replace Windows on the desktop
Reality: Linux Makes No Sense at the Desktop Linux as a desktop
operating system makes no sense. A user would end up with a system that has
fewer applications, is more complex to use and manage, and is less intuitive.
- Linux does not provide support for the broad range of hardware in use
today; Windows NT 4.0 currently supports over 39,000 systems and devices on
the Hardware Compatibility List. Linux does not support important ease-of-use
technologies such as Plug and Play, USB, and Power Management. (Windows
NT 4.0 does not currently support USB. Linux has extensive support for APM and
some support for Plug and Play. USB will be supported in the 2.4 kernel chain.
Microsoft are also on record blaming 25% of systems crashes on 3rd party
device drivers.)
- The complexity of the Linux operating system and cumbersome nature of the
existing GUI's would make retraining end-users a huge undertaking and would
add significant cost. (The opposite is in fact true. On Linux there is
an extensive choice of GUIs and regardless of the experience of the end users
Linux can provide a user interface they would find familiar. The same is not
true of Microsoft's user interfaces. You only have one choice.)
- Linux application support is very limited, meaning that customers end up
having to build their own horizontal and vertical applications. A recent
report from Forrester Research highlighted the fact that today 93 percent of
enterprise ISVs develop applications for Windows NT, while only 13 percent
develop for Linux.3 (Big deal. Most people developing
for Linux are coding for love of the operating system or because they like
coding - many do so for free too without charging high prices for the
resulting software.)
Summary
The Linux operating system is not suitable for mainstream
usage by business or home users. 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. Linux clearly has a long way
to go to be competitive with Windows NT 4.0. With the release of the Windows
2000 operating system, Microsoft extends the technical superiority of the
platform even further ensuring that customers can deliver the next generation
applications to solve their business challenges. More
information
Customer Testimonials
See how these leading
companies and organizations have deployed Windows NT Server 4.0:
(We notice that Microsoft didn't include the US Navy on this list.
http://www.info-sec.com/OSsec/OSsec_080498g_j.shtml)
Performance
Data
See Industry
Benchmarks Show Windows NT Server 4.0 Outperforms Linux
Footnotes
1. Siemens & SuSE announced a patch in September 1999 to extend to
4 GB, although this is not part of the 2.2 Kernel or major distributions.
2. Linux: How Good Is It? D. H. Brown Associates Inc. April 1999
3. Forrester Research, Software Vendors Crown Server OS Kings, Aug.
31, 1999
Contributors to this response (in no particular order):
Martin Brooks (martin@hinterlands.f9.co.uk)
Steven Kowalik (stevenkowalik@subdimension.com)
Stafford Goodsell (surge@chariot.net.au)
Ivo van der Wijk (ivo@cs.vu.nl)
James Andrews (james@maths.ex.ac.uk)
Last updated: 19th October 1999