Case Study of 2 Operating Systems: Windows and Linux
Case Study of 2 Operating Systems: Windows and Linux
Case Study of 2 Operating Systems: Windows and Linux
Comparison of Windows and Linux has become a common topic of discussion among their users. Windows is the most prominent operating system released under a proprietary software license (though selected business partners may receive a shared source license), whereas Linux is the most prominent operating system released under a free software license. The two operating systems compete for user-base in the personal computer market as well as the server market, and are used in government offices, schools, business offices, homes, intranet and internet servers, supercomputers, and embedded systems.
Windows has tended to dominate in the desktop and personal computer markets (about 90% of the desktop market share), and Linux has achieved between 5080% market share of the web server, render farm, and supercomputer markets. They differ in philosophy, cost, ease of use, versatility, and stability, with each seeking to improve in their perceived weak areas. Comparisons of the two tend to reflect the origins, historic user base and distribution model of each.
Some major areas of perceived weaknesses regularly cited have included the poor ease of out-of-box mass-market use for Linux regarding the desktop, and poor system stability for Windows, both of which are areas of rapid development in the two camps. The key strength of Linux is that it respects what free software proponents consider to be the users' essential freedoms: the freedom to run it, to study and change it, and to redistribute copies with or without changes.
Because of its collaborative development model Linux has achieved a high degree of openness and configurability while adhering to ISO and IEEE standards, Windows has a careful anticipation of mass-market user requirements and has created shifting standardization around its products through market dominance.
Desktop
Windows
Estimated Desktop Usage Share
Preinstallation
Linux
As of December 2007, 0.63%
Pre-installed by default on very few new desktop PCs. However, Ubuntu Linux is now available on some Dell and System76 computers, and SUSE Linux on some Lenovo ThinkPads. Recently many more Linuxbased low-end consumer laptops have been introduced.
Windows
Window Managers/ Desktop Environm ents Only one available WM per release, parts of which may be modified; system file patching (uxtheme.dll) or third party software such as WindowBlinds is required for some modification; KDE 4 may be used as a third party WM on Windows; critically required to operate the system (graphics system failure will render the system unusable); remote control not part of original architecture.
Linux
GNOME, KDE, Enlightenment, Xfce, Openbox, Fluxbox, etc. Can be enhanced with Beryl or Compiz or the newer Compiz Fusion (merge of Compiz/Beryl forks). WM not critical for system operation (reverts to command line operation in case of failure); remote control implicit in design and protocol.
Notes
Different Window managers provide users with a uniquely different method of interacting with the computer, though sometimes at the cost of compatibility.
Windows
System consoles/ Command line interface The Command Prompt exists for power users. A new .NET based command line environment similar to that provided in Unixlike operating systems called Windows PowerShell has been developed. Currently, Cygwin provides a UNIX-like terminal for Windows.
Linux
Strongly integrated with system console. All applications can be scripted through the terminal, there are a lot of small and specialized utilities meant to work together and to integrate with other programs. This is called the toolbox principle. The command line can be used to recover the system if the graphics subsystem fails.
Notes
It is very difficult to properly gauge the number of Linux or Windows users as the former are mostly not required to register their copies; additionally, a large number of pirated Windows copies exist. Desktop usage share data is estimated from web browser user agent strings, rather than sales information or surveys. More estimates are available at http://en.wikipedia.org/wiki/Usage_share_of_desktop_operating_systems. Both Windows and Linux include shells. A study released in 2003 by Relevantive AG indicates that The usability of Linux as a desktop system was judged to be nearly equal to Windows XP (http://www.linuxusability.de/download/linux_usability_report_en.pdf).
Installation
Windows
Ease of Install
Linux
Varies greatly by distribution. General purpose oriented distributions offer a very simple live CD or GUI installer (SuSE, Mandriva, Ubuntu, Fedora etc.), others offer a menu-driven installer (Debian, Vector Linux, Slackware) while others, targeting more specialized groups, require source to be copied and compiled (Gentoo). The system can also be built completely from scratch, directly from source code (Linux from Scratch). Plus a Live Cd of Linux can work to repair Any broken OS as long as it can mount the hard drive.
Notes
Generally easy to install in the case of Windows Vista. Varies in the case of Windows XP, from relatively easy to hard, depending on installed hardware. May require the usage of a driver floppy disk, or slipstreaming the drivers and creating a new installation CD, if using a large number of SATA or SATA2 drives or RAID arrays.
Windows
Install time Estimated to be an hour (down to 1030 minutes for Windows Vista, depending on the system). For XP/2003, far more time may be spent due to updates from Windows Update, driver installations and multiple reboots.
Linux
Can range from 6 minutes to over an hour, depending on distribution, but is generally around 530 minutes for general-use distributions like Ubuntu. Can be compiled from source in a few hours if not using the installer, depending on hardware.
Notes
Please see footnotes for Ease of Install.
Windows
Drivers
Linux
Most free drivers available are included in most distributions or can be found in online archives. Some devices (e.g. graphics cards, wireless adapters) do not have free drivers available due to licensing issues, but proprietary drivers are available from manufacturers or special archives. Some devices allow using Windows drivers. For some devices no usable drivers are available. Most special-purpose drivers must be compiled by the user manually. Time has been invested in centralizing and automating some driver installation through a package manager.
Notes
Often drivers must be installed separately. If not included in install media they must be provided by manufacturer. Most common drivers are available in the Windows install or after a quick Internet update. The process of installing drivers is mostly automated.
Windows
Installatio n via Live Environm ents
Linux
Almost all Linux distributions now have a live CD that may be used W for install. All main distributions ni o contain numerous dnt programs: multimedia, o uinternet, e graphics, office w x s suites, games, system sand alternative utilities desktop environments. Some distributions specialize in education, games, or security. Most distributions give users the choice of which bundled programs to install, if any.
Notes
May be installed through WinPE and BartPE. However, only the former is endorsed by Microsoft. Some multimedia and home use software (IE, Media Player, Notepad, WordPad, Paint) plus OEM bundled software. Windows Vista Includes IE7, Windows Mail, Windows Media Center, etc. depending on which edition you purchase. It does not include Office suites or advanced multimedia software.
Preinstalled software
i LN
Microsoft's methods of bundling software were deemed illegal in the case United States v. Microsoft.
Windows
Partitioning
Linux
Depending on the type of filesystem, resizing of partitions without losing data is possible, and the user may install multiple operating systems. Dynamic partitioning scheme through LVM or EVMS.
Notes
Some third party tools for Windows may allow better partitioning than the built in partitioning tools.
Expanding NTFS partitions is possible without problems (on Vista it is possible to shrink partitions as well); however, the included diskpart commandline tool has more functionality than the graphical interface provides. Dynamic partitioning scheme through Dynamic Disks.
Windows
Boot Loader May boot to multiple operating systems through a Microsoft boot loader (NTLDR).
Linux
May boot to multiple operating systems through GRUB or LILO. Also has security features, like passwording, that is not found in the Windows boot loader.
Notes
For a Windows and Linux Dual-Boot System, it is easiest to install Windows first and then Linux. Numerous Third-Party boot managers are available for Windows.
Linux distributions were said to be difficult for the average user to install. Today, most distributions have simplified the installation and offer a LiveDistro system allowing users to boot fully functional Linux systems directly from a CD or DVD with the option of installing them on the hard drive. The Windows install process, like most generaluse Linux distributions, uses a wizard to guide users through the install process. Unlike most general-use Linux distributions, drivers are often installed separately.
Linux
The quality of graphical design varies between desktop environments and distributions. The two biggest desktop environments (GNOME and KDE) have clearly defined interface guidelines, which tend to be followed consistently and clearly
Notes
User interaction with software is usually consistent between versions, releases, and editions.
Consistency can be poor between distributions, versions, window managers/desktop environments, and programs. Software is highly usercustomizable, however, and the user may keep the customizations between versions.
All Microsoft software follows the same guidelines for GUI, although not all software developed for Windows by third parties follows these GUI guidelines. As stated above, backports tend to follow the guidelines from the newer operating system.
Customization
Source code may be purchased for modification in some circumstances (restrictive), or third party tools may create modifications.
Accessibility
Both Windows and Linux offer accessibility options, such as high contrast displays and larger text/icon size, text to speech and magnifiers.
Stability
Windows
Gene- Windows variants ral based on the NT stabi- kernel (Windows NT, lity
Linux
Notes
Instability can be caused by poorly written programs, aside from intrinsic OS stability. Software crashes, however, can usually be recovered without restarting the entire operating system, and losing data from other applications.
The kernel inherits the stability of UNIX due to its modular 2000, XP, 2003, Vista) architecture are technically much (acknowledged to be more stable than stable). Linux terminal earlier versions (95, emulators and frontend 98, 98 SE, ME). Window Managers Installing unsigned or stabilities vary widely, beta drivers can lead but are generally stable. to decreased system Mechanisms to stability. Mechanisms terminate badly to terminate badly behaving applications behaving exist at multiple applications exist at levels. multiple levels.
Windows
Reboots are usually required after system and driver updates, and D are occasionally needed o for software installations if w the installer wishes to n overwrite a file that is ti being used by critical m running program. e Microsoft has its hotpatching technology, designed to reduce downtimes.
Linux
Notes
Linux itself only needs to restart for kernel updates. but a special utility can be used to load the new kernel and execute it without a hardware reset (kexec) and hence can stay up for years without rebooting.
In terms of potential uptime, lists of the highest web server uptimes had shown Linux/Unix to run longer, However, due to a 497 day limit on Linux's uptime counter (only in old 2.4 release), these listings are usually inaccurate.
Windows In modern, NT-based versions of Windows, programs that crash may be forcibly ended through the task manager by pressing CTRL+SHIFT+ESC or CTRL+ALT+DEL or through the command line in professional SKUs. Reboots were often required in preNT versions (Windows 9x).
Linux All processes except for init and processes in D or Z state may be terminated from the command line. In KDE applications can be closed using CTRL+ALT+ESC or by KSystemGuard by pressing CTRL+ESC. SysRQ allows low-level system manipulation and crash recovery if configured. Reboots are seldom required.
Re co ve ry
Windows If the kernel or a driver running in kernel mode encounters an error under circumstances whereby Windows cannot continue to operate safely, a 'Bug check' (colloquially known as a 'Stop error" or Blue Screen of Death) is thrown. A memory dump is created and, depending on the configuration, the computer may then automatically restart. Additionally, automatic restart can be applied to services.
Linux
Unrecoverable errors
The Unix equivalent of the Windows blue screen is known as a Kernel panic. The kernel routines that handle panics are usually designed to output an error message to the console, create a memory dump, and then either wait for the system to be restarted or restart automatically.
Performance
Windows NT series use a process scheduling mechanism with priorities. A user found that Windows prefers one continuously computing process more than two (constantly) inter-communicating processes when all three have the same priority (awaiting experimentational proof). As Windows Vista brings a new cyclecount scheduling algorithm this might be mitigated already as well as preventing CPU monopolization due to inaccurate usage estimation. In Windows before Vista, Programs could hog up the CPU while trying to run causing the machine to overload the buffer causing either resets or the OS to freeze/ run slowly, as it would not kill the process if it had failed to work.
Process Scheduling
Linux kernel 2.6 once used a scheduling algorithm favoring interactive processes. Here "interactive" is defined as a process has short bursts of CPU usage rather than long ones. It is said that a process without root privilege can take advantage of this to monopolize the CPU, when the CPU time accounting precision is low. However, the new CFS, the completely fair scheduler, addresses this problem.
Performance
Windows
Memory Windows NT and its variants Management/ employ a dynamically allocated Disk Paging swap file for memory management. A page/swap file is allocated on disk, for less frequently accessed objects in memory, leaving more RAM available to actively used objects. This scheme suffers from slow-downs due to disk fragmentation, which hampers the speed at which the objects can be brought back into memory when they are needed.
Linux
Most hard drive installations of Linux utilize a "swap partition", where the disk space allocated for paging is separate from general data, and is used strictly for paging operations; reducing slowdown due to disk fragmentation from general use.
Programs
Linux distributions come with a great deal of software which can be installed for free, with an especially large collection of computer programming software. Debian comes with more than 18,000 software packages. Microsoft has had a longstanding emphasis on backwards compatibility. In general, the Windows API is consistent over time; programs designed for earlier versions of Windows often run without issues on later versions. For the sake of progress, however, Microsoft sometimes draws a line precluding support of very old programs. That first happened with Windows 95, where some purely 16 bit Windows 3.1 applications would not work, and again with Windows XP, where certain mixed-bit applications would not work. 64-bit versions of Windows (XP-64 and Vista-64) drop 16-bit support completely. However, 16 bit emulation and the enormous array of applicationspecific tweaks (shims) within new Windows versions ensure that compatibility with old applications remains very high.
Gaming
A major attraction of Windows is the library of games available for purchase. The majority of current major games natively support Windows and are released first for the Windows platform. Some of these games can be run on Linux with a compatibility layer like Wine or Cedega. Others, and especially more modern games that rely on proprietary delivery systems, copy protection, Windows dependencies, or advanced acceleration features, may fail. Recently, virtual machines such as VMware Workstation 5.0 have added support for accelerated 3D graphics. This provides much higher framerates at no performance cost. There are also numerous Open Source games designed first for Linux. While most of these are small games like Kolf or Pingus, there are also bigger games, such as Nexuiz and Freeciv. Many have been ported to work on Windows as well.
Security
The ideal software to facilitate the spread of malware has several characteristics. It should be: Widely used, to maximize the number of those who could be infected, and the likelihood that infected systems will contact others able to be infected Slowly patched, to maximize the time the malware remains effective, and minimize development effort for new malware Monolithic with no compartmentalization of components, to maximize the damage malware can do Secure software should therefore have a small user base to discourage malware development, rapid updates to neutralize new threats, and a compartmentalized structure that isolates damaged sections. Linux is superior to Windows in all three areas. The last is achieved by separating user and root privileges. Prior to Windows Vista, almost all Windows users were given a root account by default because lesser accounts were overly restrictive for most users. Linux user account tiers have historically allowed greater control, precluding the need for all users to have root access. Without root, it becomes much more difficult for malware to spread.
Permissions
Both Windows NT-based systems and Linux support permissions on their filesystems, except for FAT which has no permission support.
Linuxand Unix-like systems in generalhave a user, group, other approach to filesystem permissions at a minimum. This can be seen by typing ls -l in a text terminal on a Linux system. There also Access Control Lists available on some filesystems, which extends the traditional Unix-like permissions system. Security patches like SELinux and PaX add Role-Based Access Controls, which add even finer-grained controls over which users and programs can have access to certain resources or perform certain operations. Some distributions, such as Fedora, CentOS, and Red Hat use SELinux out of the box, although most do not. Most Linux distributions provide different user accounts for the various daemons. User applications are run on unprivileged accounts, to provide Least user access. In some distributions, administrative tasks can only be performed through explicit switching from the user account to the root account (tools such as su and sudo are very common).
Windows Windows NT uses NTFS-based Access Control Lists to administer permissions, using tokens. However, these capabilities were often not used to their full extent. On Windows XP and prior versions, most home users still ran all of their software with Administrator accounts; as this is the default setup upon installation. The cumbersome runas mechanism and the existence of software that would not run under limited accounts also forced many users to use administrative accounts. This gives users full read and write access to all files on the filesystem. Windows Vista changes this by introducing a privilege elevation system called User Account Control that works on the principle of Least user access.
For more information on the differences between the Linux su/sudo approach and Vista's User Account Control, visit
http://en.wikipedia.org/wiki/Comparison_of_privilege_authorization_features
Localization/Globalization
Linux has moved ahead of Windows in terms of languages and writing systems supported out of the box. Stock Linux distributions support all of the following writing systems for modern national languages and various minority languages except Mongolian, which the Soyombo Linux project is working on. Windows lacks support for Ethiopic, Gurmukhi, Oriya, Tibetan, Mongolian, Burmese, and Lao.