January 17th, 2011
WINDOWS V/S LINUX
A COMPARATIVE STUDY
Submitted to: Mr. Faisal Shehzad Submitted by: Bilal Haider, Mehreen Nawaz, Sadaf Afzal, Samia Akhtar, Nukhba Afzal, Anila Yasin, Sabiha Reyaz [ MCS 2010-12 – SEMESTER 1 - MORNING] Department of Computer Science – The Islamia University of Bahawalpur
WINDOWS V/S LINUX: A COMPARATIVE STUDY
2011
In the name of Allah the Most Merciful and the Most Beneficent
ii | P a g e
WINDOWS V/S LINUX: A COMPARATIVE STUDY
2011
Contents The need of a comparative study ……………………………….1 Overview ……………………………………………………….1 License ………………………………………………….…1 Cost …………………………….………………………….2 Market Share And Usage ……………………………………3 Distributions/ Flavors ………………………………………3 General Differences …………………………..…………………4 User Interfaces ………………………………………………4 Command line Interface …………………………………4 Graphical user Interface …………………………………5 Usability ……………………………..………………………6 Stability ………………………………..…………………….6 Security ………………………………..…………………….6 Applications/ Softwares ……………………………………...7 Multi-user Environments ……………..…….……………….7 Technical Differences …………………………………………….8 Hardware Support ………………..………………………….8 Structure ………………………….………………………….8 Windows ……………………..………………………….8 Linux …………………………………………………….9 Networks …………………………………………………….9 Performance …………….………………………………….10 Virtualization ………………………………………………11 References …………………………………………………….12
iii | P a g e
WINDOWS V/S LINUX: A COMPARATIVE STUDY
2011
This page intentionally left blank
iv | P a g e
WINDOWS V/S LINUX: A COMPARATIVE STUDY
2011
THE NEED OF A COMPARATIVE STUDY The study of the differences between operating systems usually helps students in developing a deep understanding regarding implementation of the various structures and algorithms to fulfill specific requirements for an operating system. The comparison is also required when we have to decide which operating system should be adopted in an environment particularly a large environment where a wrong decision could cause delay in its operations or a huge monetary loss. Furthermore, these studies help in evaluating the system performance. This document illustrates some major differences between Microsoft Windows and Linux. As the number of distributions of Linux is huge, some common features of “GNU/Linux” will be discussed alongwith Linux Kernel version 2.6.37, being the latest version. Similarly, different versions of Windows are present to cater different purposes, here will be discussed the Windows NT 6.1, which serves as a base for the latest, Windows 7 and Windows Server 2008 R2.
OVERVIEW LICENSE Linux is an open source operating system making available its source code online and most of its distributions come with the GNU General Public License (GPL) and GNU Lesser General Public License (LGPL), allowing the users to modify and redistribute the system under the same license. Contrarily, Microsoft Windows is a closed source, and to some extent a shared source operating system, so only some of the source code is provided when some eligibility criteria is met. Windows comes with a Microsoft End User License Agreement (MS-EULA) which prohibits the installation of a single OS on several machines (One Copy per Computer).
1|Page
WINDOWS V/S LINUX: A COMPARATIVE STUDY
2011
COST The acquisition costs for Windows are generally much higher than Linux. Microsoft allows a single copy of Windows on only one computer. In contrast, Linux is completely free and you can run it on any number of computers. However, the hidden cost in Linux lies in its support and maintenance, but this typically does not affect home users. But businesses are required to get subscription based support from other companies. Similarly, Linux systems require relatively higher paid administrators which increase the Total Cost of Ownership (TCO) of Linux. However, the TCO of Linux is generally perceived as much lower than that of Windows. The chief technology architect at Merrill Lynch & Co. is quoted in Computer World for stating that “the cost of running Linux is typically a tenth of the cost of Unix and Microsoft alternatives”. On the other side Microsoft claimed in 2004 that "Linux was found to be over 10 times more expensive than Windows Server 2003" but got warned from UK's Advertising Standards Authority (ASA) which regarded it as misleading.
2|Page
WINDOWS V/S LINUX: A COMPARATIVE STUDY
2011
MARKET SHARE & USAGE When we see at the general market share analysis of both operating systems, Windows certainly dominates but these analyses are formed by the web access counts. In addition, usage of both operating systems varies greatly. Windows is generally preferred for desktops, but Linux is highly preferred for Servers, Supercomputers and Embedded systems. Linux is also gaining popularity in smartphones.
DISTRIBUTIONS/ FLAVORS Microsoft Windows family has two main operating systems intended for personal computers and servers, namely Windows 7 and Windows Server 2008 R2, which have further editions classified according to the features and functionality provided. Similar is the case with Linux, as Linux is only a kernel, not always but most operating systems come as GNU/Linux. These Linux derivatives are called distributions. Major distributions are Red Hat, Debian, Ubuntu, Fedora, SuSE for computers and Android, Maemo, MeeGo for smartphones. These distributions vary drastically as these are designed for different uses and targeted at different user groups.
3|Page
WINDOWS V/S LINUX: A COMPARATIVE STUDY
2011
GENERAL DIFFERENCES USER INTERFACES Command Line Interface The Command Interpreter in Linux is called Shell. While the most common is GNU Bash, more than one shell can also be used on a Linux system. As these are much powerful, the CLI on Linux is preferred for administrative tasks. CLI is always accessible as the user has option to load the CLI before GUI (Multilayered Run Levels). Whereas the Command Interpreter called “Command Prompt” in Windows is not that powerful and does not provide any benefit over the GUI.
4|Page
WINDOWS V/S LINUX: A COMPARATIVE STUDY
2011
Graphical User Interface In Linux, the GUI is not considered the part of Linux Kernel, so the distributions have to implement some other solution. Commonly used GUIs are „GNOME‟, „KDE‟, and „Xfce‟ and most famous user interfaces operate on top of the „X Window System‟. In some cases the GUI may not be implemented, like in embedded systems and servers, where the tasks are performed using CLI. The GUI in Windows is considered the part of the operating system. „Windows Shell‟ GUI is used in Windows systems with „Desktop Window Manager‟. The Server operating system, like Linux, can be operated without the GUI.
5|Page
WINDOWS V/S LINUX: A COMPARATIVE STUDY
2011
USABILITY Usability depends heavily on the focus of that operating system; Windows‟ focus is on consistency, usability and safety while Linux focuses more on performance, customizability and safety. Although the majority Linux variants have improved dramatically in ease of use, Windows is still much easier to use for new computer users. A “user friendly” software means software that can be used to a reasonable level of competence by a user with no previous experience of the software i.e. learning curve. As far as the user friendliness of Windows and Linux operating system is concerned, Windows appear to be more user friendly then Linux operating system. However, Linux has some plus points over Windows like many distributions provide “Live CD” installation which allows the user to use the operating system before it is actually installed.
STABILITY The majorities of Linux variants are notoriously reliable and can often run for months and years without needing to be rebooted. Linux supports multiple copies of the Kernel on the system such that if an error is encountered and the Kernel becomes corrupted, a different copy of the Kernel can be used to boot up the system, through the GRUB boot loader. As the device drivers can cause serious stability issues, Windows is providing “WHQL Testing”, which ensures the compatibility of third party driver with the operating system. Linux, most of the time has drivers included in its kernel, others are usually developed by the community, minimizing the stability issues. Downtime for Linux is minimum; in circumstance no hardware reset is needed.
SECURITY Linux, being an open source operating system, has always been considered very secure as compared to Windows, as open source offers a faster and more effective response to bugs and viruses. Similarly, open source operating system has millions of eyes on it, so the possible threats are constantly detected and removed. In addition, users perform their tasks as Limited Accounts, where permission for every system task is required and no user access to registry is provided. Whereas Windows is generally perceived as more vulnerable to security threats, its closed source nature allows only a team of limited developers fix the threats and usually the updates are released once in a month. The user privileges are implemented in Windows by using “User Account Control” Framework.
6|Page
WINDOWS V/S LINUX: A COMPARATIVE STUDY
2011
APPLICATIONS/ SOFTWARES Linux has a large variety of available software programs, utilities, and games. However, Windows has a much larger selection of available software. Many of the available software on Linux are open source hence available at low cost or free. Every type of software is available for Windows as Windows is regarded as a general purpose operating system. However, Linux is less common for general use and this has effects on the development trends, so the entertainment applications like multimedia, games etc are rarely available for Linux. But, there are softwares available for Linux, like WINE, which add a compatibility layer under Windows applications to run on Linux.
MULTI-USER ENVIRONMENTS Linux is a true multi-user operating system, designed to handle thousands of users at a time. While Windows can support hundreds or thousands of networked users, but the operating system isn't true multi-user operating system. The system administrator is the only "user" for Windows.
7|Page
WINDOWS V/S LINUX: A COMPARATIVE STUDY
2011
TECHNICAL DIFFERENCES Hardware Support The most interesting aspect of Linux, given its size and complexity, is its portability. Linux can be compiled to run on a huge number of processors and platforms with different architectural constraints and needs. While the Windows operating system can run on various available architectures, it does not have that level of versatility.
Structure Windows Windows has hybrid kernel i.e. microkernel implemented like a monolithic kernel. Some of the subsystems run in user space and some in kernel space. The Windows architecture consists of two modes; user mode and kernel mode. Further, user mode comprises two subsystems, the Environment subsystem, which runs different applications, and the Integral subsystem, which operates system specific functions on behalf of the environment subsystem. Similarly, kernel mode has executive services, kernel drivers, a kernel and a Hardware Abstraction Layer (HAL). Executive services subsystem is made up of many modules, that perform specific tasks, like I/O Manager, IPC Manager, VM Manager, Process Manager, Power Manager Etc. While the kernel performs almost all the tasks of a traditional microkernel, kernel mode drivers are used to communicate with hardware devices at kernel level, so all the user mode applications/services see the hardware as file objects. Hardware Abstraction Layer provides a consistent platform for kernel to run on, by hiding differences in underlying hardware. 8|Page
WINDOWS V/S LINUX: A COMPARATIVE STUDY
2011
Linux Linux has monolithic kernel with modules, means Linux is a dynamic kernel, supporting the addition and removal of software components, called dynamically loadable kernel modules which can be inserted at boot when they're needed. Linux architecture has two layers. At the top is the user space where the user applications are executed. Below the user space is the kernel space. Here, the Linux kernel exists. There is also the GNU C Library which connects the system call interface to the kernel. The Linux kernel space can be divided into three levels. At the top is the system call interface and below this is the kernel code, which can be more accurately defined as the architecture-independent kernel code, which include the subsystems for Process Management, Memory Management, File Systems, Networks and Device Drivers. This code is common to all of the processor architectures supported by Linux. Below this is the architecturedependent code, which serves as the processor and platform-specific code for the given architecture.
NETWORKS Linux, being a production operating system and open source, is a great test bed for new protocols and advancements of those protocols. Linux supports a large number of networking protocols, including the typical TCP/IP, and also extension for high-speed networking (greater than 1 Gigabit Ethernet [GbE] and 10 GbE). Linux also supports protocols such as the Stream Control Transmission Protocol (SCTP), which provides many advanced features above TCP (as a replacement transport level protocol).
9|Page
WINDOWS V/S LINUX: A COMPARATIVE STUDY
2011
PERFORMANCE Linux is generally considered faster as compared to Windows. As the Linux distributions range from minimal operating systems to full-fledged, very powerful systems, Ubuntu is selected for performance comparison with Windows 7. Here are given the results of some of benchmark tests.
10 | P a g e
WINDOWS V/S LINUX: A COMPARATIVE STUDY
2011
VIRTUALIZATION A recent advancement of Linux is its use as an operating system for other operating systems (called a hypervisor). Recently, a modification to the kernel was made called the Kernel-based Virtual Machine (KVM). This modification enabled a new interface to user space that allows other operating systems to run above the KVM-enabled kernel. In addition to running another instance of Linux, Microsoft® Windows® can also be virtualized. The only constraint is that the underlying processor must support the new virtualization instructions.
11 | P a g e
2011
WINDOWS V/S LINUX: A COMPARATIVE STUDY
References: 1.
Linux vs. Windows. http://computerhope.com/issues/ch000575.htm
2.
10 fundamental differences between Linux and Windows http://blogs.techrepublic.Com.com/10things/?p=406
3.
Linux vs. Windows http://www.michaelhorowitz.com/Linux.Vs.Windows.html
4.
kernel Comparison Linux vs Windows http://widefox.pbworks.com/w/page/8042308/Kernel-Comparison-Linux-vsWindows
5.
The Linux Kernel Archives: Linux Kernel Organization, Inc. http://kernel.org
6.
Anatomy of Linux Kernel http://www.ibm.com/developerworks/linux/library/l-linux-kernel/
7.
Linux Architecture http://en.wikipedia.org/wiki/Linux_architecture
8.
Architecture of Windows NT http://en.wikipedia.org/wiki/Architecture_of_Windows_NT
9.
Microsoft's Linux ad 'misleading'. http://news.bbc.co.uk/1/hi/technology/3600724.stm
10. Linux vs Windows TCO Comparison. http://www.cyber.com.au/about/linux_vs_windows_tco_comparison.pdf 11. Operating System Market Share (10-01-2011) http://www.netmarketshare.com/operating-system-marketshare.aspx?qprid=8&qpcal=1&qp stick=1 12. Web Server Survey https://secure1.securityspace.com/s_survey/data/201007/index.html 13. Operating system Family share for 11/2010 http://top500.org/stats/list/36/osfam 14. Linux Operating Systems http://www.altiusdirectory.com/Computers/linux-operating-systems.html 15. Benchmarked: Ubuntu vs Vista vs Windows 7 http://www.tuxradar.com/node/33 16. Linux vs. Windows Hardware Support: The Truth http://www.tannerhelland.com/371/linux-windows-hardware-support/
12 | P a g e