Wednesday, June 18, 2008

Comparing Linux to Windows


Contents

VITALITY
Security
Servers

STABILITY

COMPATIBILITY
Hardware
Windows

VALUE

UTILITY
Installation
Configuration
Application

CONCLUSION

APPENDIX

ENDNOTES

  The quality of Linux distributions has improved dramatically in recent years. Mark Shuttleworth, a wealthy South African, invested millions of dollars into developing his own free distribution called Ubuntu, first released in 2004. In 2005, Novell released a free version of SUSE Linux called Open SUSE. And in 2002, Sun Microsystems introduced a free alternative to Microsoft Office based on its own Star Office suite called Open Office.Because of the gains it has made, it is a good time to write a complete, fresh evaluation of the strengths of Linux and Windows. Linux is more secure and stable and is less expensive than Windows. But due to issues of compatibility and utility, it is not a viable alternative to Windows for desktop users, although it remains viable for business applications. Today, Linux is the second-most popular operating system for business desktops.1

VITALITY

Security.  Linux is more secure than Windows against external threats. For one, Linux is based on a mlti-user operating system (UNIX). Thus, there is a clear separation between accounts and their functions in Linux. Unlike in Windows, users are not given administrative privileges by default. In order to perform an administrative task — like access a control panel or install a program — a user must enter the administrator’s password. At the command prompt in Linux, a user can type su, “substitute user”2 to log in as root (administrator) for the session. They can also type sudo, “substitute-user do” to perform a single command as root. Windows Vista also prompts users before making important changes, although this is user confirmation, not authentication. Linux even has a firewall called iptables built into the kernel. It has no services that await external connections like Windows. In the past, worms such as Blaster used this vulnerability to spread.3

In Windows, viruses have infected users of Outlook who simply opened e-mails — not their attachments. Others have been infected just by visiting web sites. Others still have been infected by doing nothing at all: They simply connected their computers to the internet. No doubt, many undiscovered vulnerabilities exist in Linux, but there has not been as much motivation on the part of the criminals to exploit them. Less than one percent of consumer desktop computers use Linux, so even if an individual machine is compromised, there is little possibility of a virus spreading to other Linux machines. In 2007, 91 percent of desktop computers ran Windows.4 Although there have been viruses that have targeted Linux in the past, there are currently none in the wild.

Internal security, however, is a different matter. There are many internal security flaws in Linux. For example, if you have forgotten your password, you can log into BASH as root by editing the boot options in GRUB (a Linux boot loader), although GRUB can be protected by a password.

Servers.  Linux Apache servers have fewer security issues than Microsoft IIS servers.5 One reason some give for this is the smaller surface area of a Linux server. The surface area is the footprint in terms of code, ports, and features that expose it to the Internet.6 Windows Server 2008 will try to address this issue by installing fewer features by default. Having fewer features installed reduces the number of patches administrators have to install whenever vulnerability is discovered. This is not to say that Linux servers are immune to threats. An example of malware that targeted Apache servers was the Slapper worm of 2002. Unlike desktop computers, a significant percentage of servers use Linux. The most-recent survey from Netcraft shows 48% of servers using Apache and 37% using Microsoft, although the latter are gaining ground.7

Fewer third-party security applications are designed to run on Linux than on Windows, although there are still many choices. Bit Defender – ranked fourth by Consumer Reports in 20078 – offers an antiviral program for Linux and Windows. McAfee also sells a program called Linux Shield. Other antiviral programs for Linux include Kaspersky, AVG, and Avast! However, three other popular antiviral programs — ZoneAlarm, Trend Micro, and Live OneCare — have not been ported to Linux.

Novell’s App Armor is a firewall and access-control program built into SUSE Linux and the latest versions of Ubuntu and Mandriva. One can also install SE Linux or Systrace for this purpose.

Stability.  Unlike NTFS or FAT, the ext3 file system does not need defragmentation.9 Although there are defragmentation programs available for Linux, none of these work well enough to warrant using. To reduce fragmentation, some distributions create separate partitions for the page file (called the swap partition) and for a user’s home directory. The latter is important because more of the fragmentation in hard drives results from the movement of documents, pictures, and music, than programs.

However, unlike the NTFS, the ext3 system does not calculate a checksum when writing to the journal. This raises the danger of corruption of the journal if a system crashes.

Luckily, Linux almost never crashes.10 Individual programs may freeze, but the system as a whole does not need rebooting. It is possible to leave a Linux machine running for months without restarting it.11 This is an advantage especially for servers. Windows is improving, though: Windows Server 2003 requires fewer restarts than Windows 2000.12

Tom Yager wrote in InfoWorld that Linux loses when it comes to the other sense of stability: consistency over time. According to him, Linux changes too often to win over business customers.13

COMPATIBILITY

Hardware.  Unfortunately, some peripheral hardware manufacturers do not make drivers for Linux. Those that do so often make them for certain distributions. For example, my scanner from Canon will not work in Linux because Canon does not make Linux drivers for it. However, Linux hardware compatibility did improve with the release of version 2.6 of the Linux kernel in 2003.14

Linux was actually designed to run easily on many types of computers. It can run on mainframes with very few modifications to the kernel15 (although mainframes are designed to run many types of operating systems). Compatibility does depend on the distribution, though. For example, Debian and Gentoo Linux can run on x86, Power PC, Itanium, SPARC, ARM, MIPS, PA-RISC, DEC Alpha, and ESA/390 processors. Fedora, on the other hand, can only use x86 or Power PC processors. Because of the range of hardware supported, Linux may be a viable option for older computers running unsupported versions of Windows (e.g., Windows NT or 98). Emerging security holes in Linux are patched, whereas those in unsupported Windows releases are not.

Linux tends to scale well.16 Figure 1 in the Appendix shows an experiment conducted with an IBM zSeries processor using Linux. It shows that the response time of the CPU increased at a linear rate as copies of a workload were added. Each time a CPU was added to compensate, the response time was roughly halved.

Windows.  Installing a new operating system is usually difficult and dangerous. This is especially true when trying to run two operating systems on the same computer. But Microsoft has made this more difficult than would normally be true. It has made very little effort to provide interoperability with Linux. Windows will only see Linux partitions or drives if you install an add-on from a third party. Consequently, booting both Windows XP and Linux is best done using the Linux boot loader. Linux distributions usually automatically add Windows to their boot menus, but Windows does not. It is relatively easy to configure Vista’s boot loader for this, though.

Although newer Linux distributions automatically see Windows drives, not all automatically support writing. Open SUSE users can only read NTFS files by default. Ubuntu users can edit them by default. There is a risk of damaging NTFS partitions when mounting them as writable.17 However, I have had no problems with this nor have my friends. The worst I have ever seen was a Windows disk check at boot-up. FAT 32 partitions are mounted as writable in all distributions.

VALUE
Can free software be valuable? It depends. Even commercial versions of Linux compare favorably with Windows in terms of licensing costs. In 2004, for example, a copy of Red Hat Linux cost $50 compared to $200 for Windows XP. And if you purchase a copy of Linux, you can usually install it on as many machines as you wish without any extra fees.18 Almost all applications that run on Linux are free, as well.

However, most business computing costs result not from software licensing (typically 8-10% of costs) but from administration, development, and support (50-70% of costs)

Figure 1

TOTAL COST OF OWNERSHIP OF LINUX

The total cost of ownserhip of Linux.
Source: McMillan, Robert. “The Business Case for Desktop Linux,” InfoWorld, Vol. 26, Issue 31 (2004) p.50

Windows XP Professional comes with a group of servers called IIS (Internet Information Services). So if you already own a copy of Windows, you can conceivably run a server on it for free. Apache can also be run without cost on Windows. However, XP restricts the number of simultaneous connections to the server to ten and the number of hosted web sites to one.19 Windows Vista also comes with a server but does not restrict the number of simultaneous connections. However, both Windows XP Professional and Vista Ultimate only support up to two processors running on one computer. The number of processors supported on Windows Server 2003 ranges from four (for the Web Edition) to 64 (for the data center edition).20 See ‘Compatibility’ above for information on how Linux can create value through its long hardware support cycle.

UTILITY
Windows is more user-friendly than Linux, although this is changing. Today, practically anyone can install and use Linux, although usability varies depending on the distribution. For example, the newest version of Ubuntu Linux automatically configures a user’s printer during installation. Likewise, SUSE downloads the printer drivers for its users during installation. On the other hand, in Debian, a GUI is not installed by default.21 Individual packages (e.g., CDW, a CD-ROM burning package) are selected during installation. Gentoo’s files must be compiled before installation. Another factor that determines the usability of a distribution is the choice between the GNOME and KDE desktop environments. Those used to Windows have a harder time learning GNOME because it is less similar to the Windows GUI. For Macintosh users, GNOME might be easier to learn. Many distributions offer a choice between the two during installation. (See Figure 2 in the Appendix.)

Figure 2
Ease of use by operating system

Another usability problem with Linux involves documentation. The built-in GUI help documentation of Linux is less comprehensive than Microsoft’s. In most cases, it is of no use. To be fair, the documentation for the command line in Linux is very good, but the most comprehensive and readable Linux manuals have to be purchased.

Insallation.  Program installation is more difficult in a Linux environment than in Windows. For example, to install programs in older versions of Red Hat, SUSE and Fedora Linux, one had to download an .rpm (Red Hat Package Manager) file, navigate to its folder in the command prompt, and type rpm -i [file name]. To uninstall it, you had to search for the package name (rpm -qa), then uninstall it (rpm -e [package name]). Today, in many distributions common Linux programs are listed in graphical configuration tools. SUSE uses a program called YAST for this. Fedora has a graphical installer as well located in the System menu named Add/Remove Programs. In Ubuntu, it is in the Applications as Add/Remove. But the easiest to use of all is the new double-click installation feature introduced in Open SUSE 10.3.

Newer Debian-based operating systems (Ubuntu, Debian, Xandros, and Knoppix) have an installation command called apt-get, “application package tool-get.” You type apt-get install [program] and the computer will download and install the program for you. However, if you mis-spell the program’s name, the utility will return an error message.

Unfortunately, obscure Linux programs are often distributed as source code. For these, users create make-files, then install any missing supporting programs for the application, and then install them – all from the command line.

For businesses, switching to Linux can present daunting difficulties. For them, a strategy of gradually introducing open-source applications may be a better alternative than installing an entire Linux operating system. For example, having employees use Open Office inside Windows reduces the training they will need when they switch to Linux.

Configuration.  Although many settings can be configured via the graphical interface in Linux (e.g., the screen resolution), many settings are still set by editing text files. For example, in SUSE, you can configure boot settings via YAST, but in Ubuntu, you must edit the GRUB.LST file in the /ETC/GRUB directory. In Windows XP, you click on the following links: Control Panel → Performance and Maintenance → System → Advanced → Startup and Recovery.

Linux’s Apache web server also relies on editing text files for configuration, while Microsoft’s Server 2003 primarily relies on a GUI. Some Linux distributions allow the configuration of Apache via a graphical tool, though. For example, SUSE Linux allows Apache configuration using YAST. Some have said that server patch management is easier using YAST than Windows Server 2003.22

The Linux community is helpful to fellow users. There are many forums where one can post questions, and you usually receive an answer within 24 hours. Of course, Windows users have their own forums to do this, as well. At least a dozen people – usually more – read each post. Often, though, none of them know how to fix the problem. Of course, in many businesses, a 24-hour maintenance window would not be good enough. For them, distributors like SUSE and Red Hat sell packages with support contracts. Linspire, a commercial distribution, also offers e-mail support (albeit with a 24-48 hour window).23

Application.  There are many more applications designed to run on Windows than Linux. However, there are free Linux replacements available for the most-popular programs. For example, there are Evolution, K-Mail, Thunderbird, and Kontact for Outlook. However, these applications are harder to use and have fewer features. For example, Linux mail programs generally cannot access HTML mail sites within the client. In addition, importing contacts or mail from other applications is very difficult.For chat, Linux uses a free application called Pidgin. It was very easy to configure for me and it works flawlessly with my AOL screen-name. There are also free photo editors, word processors, PDF editors, calendars, and games. The quality of some of these applications comes close to those found in Windows. For example, the GIMP image editor contains many features and is considered by many to be a viable alternative to Photoshop.24 Likewise, although not considered superior, the Open Office suite is considered a viable alternative to Microsoft’s Office. Users can export presentations as flash files. They can also export documents as PDF files (Office 2007 has an add-on that also does this). Nevertheless, learning how to use another set of applications is never quick or easy. Recently, improvements in a Linux application called Wine have enabled Linux users to install and run simple Windows applications. Another program called CrossOver enables users to run certain complex programs, like Microsoft Office, World of Warcraft, and Adobe Photoshop, on Linux – although the program must be purchased and it does not support some of the newer program versions. Unlike in the desktop arena, more applications are available for Linux mainframes than for other operating systems.25 Simpler Linux distributions are useful in other respects. For example, distributions like Slackware, Gentoo, and Debian force the user to learn how their system works. They also tend to run faster. This is especially true without a GUI installed and when they are compiled on the user’s machine. Some say that using a command prompt is slower because it takes longer to type commands than use a mouse. But these people may not be factoring in the faster response time of the prompt to commands once they are submitted. Simple distributions also require less disk space. Slackware, for example, only occupies about 100 megabytes.26 Finally, they are very customizable.

CONCLUSION
If you want to try a Linux distribution, you can download a live CD. Live CDs are self-contained Linux installations that you can run from a CD drive. They make no modifications to hard drives and store all of their working files in memory. But because they tie to take up more of a system’s memory, they run slower. SUSE, Mandriva, Ubuntu, Linspire, Fedora, Slackware,27 and Gentoo offer live CDs.

Linux is still a work in progress and cannot replace Windows. However, dual-booting Linux is useful. Given the progress it is making, Linux will soon become a viable alternative.

APPENDIX


Figure 1

PERFORMANCE OF LINUX UNDER STRESS

The performance of Linux as workloads are added.

Figure 2
DESKTOP SELECTION IN OPEN SUSE
Desktop selection in Open SUSE Linux

Figure 3

LINUX EQUIVALENTS OF WINDOWS PROGRAMS

Type of program
Windows
Linux
Word processor
Microsoft Word
OpenOffice Writer
Spreadsheet
 Microsoft Excel
OpenOffice Calc
Presentations
Microsoft PowerPoint
OpenOffice Impress
Drawing
Adobe Illustrator
Inkscape
Databases
Microsoft Access
OpenOffice Base
Web pages
Adobe Dreamweaver
KompoZer
E-mail
Microsoft Outlook
Evolution
Contact manager
Microsoft Outlook
Kontact
Web browser
Internet Explorer
Mozilla Firefox
Disc burning
Nero
K3B
Music player
Windows Media Player
XMMS
Movie player
Windows Media Player
Totem
Movie editor
Movie Maker
Cinelerra
Image editor
Microsoft Paint
GIMP
Command line
cmd.exe
Konsole
Calculator
Calculator
Calculator
Text Editor
Notepad
Gedit


END NOTES

1. McMillan, Robert. “The Business Case for Desktop Linux,” InfoWorld, Vol. 26, Issue 31 (2004) p. 45
2. Hagen, William von. Ubuntu Linux Bible, (Wiley, 2007) p. 104.
3. Ibid. p. 171.
4. Thomas, Keir. Beginning Ubuntu Linux. Second Edition (Apress, 2007) p. 6
5. Combating Spyware in the Enterprise. (Syngress Publishing) p. 268
6. “Windows Server 2008 Features Address Linux Challenge” eWeek (May 17, 2007)
7. “October 2007 Web Server Survey” Netcraft.
8. “Net Threats,” Consumer Reports, Vol. 72, Issue 9 (September 2007)
9. Easttom, Chuck. Moving from Windows to Linux, (Charles River Media, 2004), p. 11.
10. Thomas. p. 8
11. Gagné, Marcel. Moving to Linux: Kiss the Blue Screen of Death Goodbye (Addison-Wesley, 2003)
12. Tittel, Ed and James Michael Stewart. Windows Server 2003 for Dummies (Wiley, 2004)
13. Yager, Tom. “Linux Can’t Kill Windows” InfoWorld. (2007) p. 58
14. McMillan, op. cit., p. 50
15. Eilert, John. Linux on the Mainframe (Prentice Hall, 2003) p. 31
16. Ibid. p. 33
17. Thomas, Keir. Beginning Suse Linux. (Apress, 2006) p. 274.
18. Easttom. op. cit.
19. “Internet Information Services 5.1”
20. Tittel. op. cit.
21. Barkakati, Naba. Linux All-in-One Desk Reference for Dummies (Wiley, 2006) p. 43
22. McMillan. op. cit., p. 50
23. “Support” (Linspire, 2007) [Accessed November 19, 2007]
24. Easttom. op. cit. p. 286
25. Ibid. p. 41
26. Negus, Christopher. Linux Bible. (Wiley, 2007) p. 42
27. The Slackware live CD (Slax) is offered through a separate project.

Copyright © 2008. Richard Maxwell.