Differences between Windows and Linux operating systems
2.1 Desktop Environment
Item Windows Linux W i n d o w
M a n a g e r
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. WM is critically required to operate the system (graphics system failure will render the system unusable); remote control not part of original architecture 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. D e s k t o p
E n v i r o n m e n t s
Windows Millennium Edition
Gnome-2.20
Item Windows Linux D e s k t o p
E n v i r o n m e n t s
Windows Server 2003
Windows Vista
Kde35
Xfce-4.4
2.2 Accessibility and Usability
Item Windows Linux A c c e s s i b i l i t y
Both Windows and Linux offer accessibility options such as high contrast displays and larger text / icon size, text to speech and magnifiers.
C u s t o m i z a t i o n Source code may be purchased for modification in some circumstances (restrictive), or third party tools may create modifications. All of the kernel source code is freely available for modification. Most other software is free software too. Item Windows Linux U s e r
F o c u s
Mostly consistent. Inconsistencies appear primarily through backports - software ported from newer operating systems to older ones. For example, software ported from Vista to XP, or from XP to Windows 2000/98, must follow the guidelines of the newer system (IE7 and Windows Media Player 11 are examples of this). However, Microsoft continually pushes for consistency between releases with guidelines for interface design. The latest are Windows Vista User Experience guidelines. Their focus is on consistency and usability, but with increased concern for safety in new versions. 3rd party applications may or may not follow these guidelines, may have their own guidelines, or may not follow any rules for interface design.
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. [33][34] These provide consistency and a high grade of customizability in order to adapt to the needs of the user. Distributions such as Ubuntu, SuSE, Fedora or Mandriva take this one step further, combining well-functioning usability and safety. However, inconsistencies may appear, since GNOME- based programs, following different guidelines, look somewhat different from KDE programs. However, these differences are now considered minor and may not even be noticed.
Item Windows Linux C o n s i s t e n c y
b e t w e e n
v e r s i o n s
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 user- customizable, however, and the user may keep the customizations between versions. C o n s i s t e n c y
b e t w e e n
a p p l i c a t i o n
All Microsoft software follow the same guidelines for GUI, although not all software developed for Windows by third parties follow these GUI guidelines. As stated above, backports tend to follow the guidelines from the newer operating system. Highly consistent within KDE anf GNOME. However the vast amount of additional software that comes with a distribution is sourced from elsewhere; it may not follow the same GUI guidelines or it may cause inconsistencies.
Notes : Though Windows GDI and most widget toolkits in Linux allow for applications to be created with a custom look and feel, most applications on both platforms simply use the default look and feel. However there are exceptions like FL Studio for Windows and LMMS for Linux.
2.3 Stability
Item Windows Linux G e n e r a l
s t a b i l i t y
Windows variants based on the NT kernel (Windows NT, 2000, XP, 2003, Vista) are technically much more stable than earlier versions (95, 98, 98 SE, ME). Installing unsigned or beta drivers can lead to decreased system stability. Mechanisms to terminate badly behaving applications exist at multiple levels. The kernel inherits the stability of UNIX due to its modular architecture (acknowledged to be stable). Linux terminal emulators and frontend Window Managers stabilities vary widely, but are generally stable. Mechanisms to terminate badly behaving applications exist at multiple levels. 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 application. D e v i c e
D r i v e r
s t a b i l i t y
Device drivers are provided by Microsoft or written by the hardware manufacturer. Microsoft also runs a Certification program Device drivers are sometimes reverse engineered to work for Linux. Some vendors contribute to free drivers (Intel, HP etc.) or provide proprietary drivers (Nvidia, ATI etc.). Specifically designed server lines exist. Some Windows drivers can also be used (mostly wireless drivers using the ndiswrapper framework). Notes : Crashes can be caused by hardware or poorly written device drivers. R e c o v e r y
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 pre-NT versions (Windows 9x). 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 K System Guard by pressing CTRL+ESC. SysRQ allows low- level system manipulation and crash recovery if configured. Reboots are seldom required. D o w n t i m e
Reboots are usually required after system and driver updates, and are occasionally needed for software installations if the installer wishes to overwrite a file that is being used by critical running program. Microsoft has its hot patching
technology, designed to reduce downtimes. Linux itself only needs to restart for kernel updates.
However, 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. G e n e r a l
s t a b i l i t y
Windows variants based on the NT kernel (Windows NT, 2000, XP, 2003, Vista) are technically much more stable than earlier versions (95, 98, 98 SE, ME). Installing unsigned or beta drivers can lead to decreased system stability. Mechanisms to terminate badly behaving applications exist at multiple levels. The kernel inherits the stability of UNIX due to its modular architecture (acknowledged to be stable). Linux terminal emulators and frontend Window Managers stabilities vary widely, but are generally stable. Mechanisms to terminate badly behaving applications exist at multiple levels.
2.4 Performance
Item Windows Linux P r o c e s s
S c h e d u l i n g
NT-based versions of Windows use a CPU scheduler based on a multilevel feedback queue, with 32 priority levels defined. The kernel may change the priority level of a thread depending on its I/O and CPU usage and whether it is interactive (i.e. accepts and responds to input from humans), raising the priority of interactive and I/O bounded processes and lowering that of CPU bound processes, to increase the responsiveness of interactive applications. The scheduler was modified in Windows Vista to use the cycle counter register of modern processors to keep track of exactly how many CPU cycles a thread has executed, rather than just using an interval-timer interrupt routine. 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. M e m o r y
M a n a g e m e n t /
D i s k
P a g i n g
Windows NT and its variants employ a dynamically allocated pagefile for memory management. A pagefile 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. Windows can be configured to place the page file on a separate partition; doing this negates the disk-fragmentation issues, but introduces an I/O slowdown due to the seek time involved in switching back and forth between the two partitions.
However, the main reason this is not done by default is that, if the page file is on a separate partition, then Windows cannot create a memory dump in the event of a Stop Error. The ideal solution performance-wise is to have the page file on a separate hard drive to the primary one, which eliminates both defragmentation and I/O issues. 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. This reduces slowdown due to disk fragmentation from general use. As with Windows, for best performance the swap partition should be placed on a separate hard drive to the primary one.
2.5 Security
Item Windows Linux M a l w a r e
According to Kaspersky Lab, more than 11,000 malware programs for Windows were discovered in the second half of 2005. Botnets - networks of infected computers controlled by malicious persons - with more than one million computers have been witnessed. Users are advised to install and run anti-malware programs. More than 800 pieces of Linux malware have been discovered. Some malware has propagated through the Internet. O p e n
v s
C l o s e d
Claims its platform is more secure because of a comprehensive approach to security using the Security Development Lifecycle. However, due to the nature of closed source, only company programmers can fix bugs. Claims its platform is more secure because all of its code is reviewed by so many people that bugs are detected (referred to as Linus's law). Notes : Microsoft claims that Windows Vista is more secure than other operating systems. However, security vulnerabilities have been found in Windows Vista. R e s p o n s e
S p e e d
Claims closed source offers a faster and more effective response to security issues, though critical bug fixes are only released once a month after extensive programming and testing and certain bugs have been known to go unpatched for months. Bugs can be fixed and rolled out within a day of being reported, though usually it takes a few weeks before the patch is available on all distributions. U s e r
A c c o u n t s
In Windows Vista, all logged in sessions (even for those of "administrator" users) run with standard user permissions, preventing malicious programs from gaining total control of the system. Prior versions of Windows would assign administrator status to the first user account created during the setup process. The majority of users did not change to an account type with fewer rights , meaning that malicious programs would have full control over the system.
Users typically run as limited accounts, having created both administrator and user accounts during install, preventing malicious programs from gaining total control of the system. Notes : A malicious program executed under a limited account in both Linux and Windows is limited to the users data.