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