A comparison between

Microsoft Windows and Linux


Operating Systems (OSes) are very complex programs that act as an intermediary between the user and the computer. Modern operating systems include a lot of features, so it is nearly impossible for one person to understand all aspects of an operating system. Most users only need their computer for doing their daily tasks like word processing or surfing on the web. They just want to be given an easy interface to their computer. However, advanced users need to be able to configure nearly everything, making their system safe and fast.
Microsoft Windows and Linux are the two most popular operating systems. Both try to cover the needs of very different types of users. However, there are a lot of differences between them. This text tries to point out these differences, showing the advantages and disadvantages of these two operating systems.

What is Windows?
Windows is privided by a single vendor: Microsoft. Microsoft is a big and very mighty company which head department is located in Redmond/USA.
The first version of Windows was available in 1985. Since then it has changed almost completely.

Microsoft's operating system is known to be very easy to use. Basically Windows can easily be configured. Configuration beyond the basics is complex or nearly impossible, however. Microsoft operating systems have spread computer usage and have spread among a large number of computers  (it is said that about 1 billion people worldwide use Microsoft products worldwide).

There are many different versions of Windows, the current version are: Windows XP and Windows 2003 Server. XP is even more userfriendly and adds more media features to Windows.

What is Linux?

Linux is a clone of the operating system Unix, written from scratch by Linus Torvalds with assistance from hackers across the net.

Linux is available in so-called 'distributions'. A distribution is a package containing a Linux system that is ready to be installed on your computer - including software for most purposes. The difference between the  distributions are configuration (e.g. different default directories) and special software packages.

(untrue?) stereotypes people have about Linux:

Linux's hardware support is bad.

There is no technical support

There are no applications for Linux

Linux is hard to learn

Different philosophies

GNU(Gnu's Not Unix)

Linux and most programmes running under Linux are published under the so-called 'GNU public license', meaning that these programs can be copied, changed and redistributed freely. However, the copyright remains with the author. GNU's first aim was to create a free operating system. In the 1990s all the major coponents were written - except the kernel. Then Linux, a free kernel, was developed by Linus Torvalds. Linux became the kernel of the GNU project in 1994.

When we talk about Linux we generally mean 'GNU/Linux'.

Microsoft products follow complex rules for licensing. Generally every person that wants to run Microsoft software has to have a license for it (meaning they have to pay for it). If you run a Microsoft Server and serveral clients you will have to have a license for each client plus a server connection license for each client, because of the client's capability to connect to the server.

The source code of Windows is considered a trade secret and is not published. A compiler is not included in the standard distribution, but can be bought.


Windows can be bought at nearly every software store. Too, when you buy a computer you are likely to have Windows preinstalled on it (the price of Windows is then included in the price of the computer). Windows XP home edition costs $199. Every computer needs its own license.

Linux can be downloaded for free (if your internet connection is fast enough) or bought for under €100. The number of computers with Linux preinstalled is increasing, but they are few.
You can give your Linux-CD to your friends without having to pay an extra amount.

Long term costs for running systems under Windows or Linux depend on the kind of system and on what it is used for. It cannot be told whether Linux or Window's TCO (total cost of ownership) is less. Generally Linux runs on weaker machines then Windows.

Supported platforms

While Windows runs on PCs and Alpha machines only, Linux supports every machine that is capable of paged memory management and has a C compiler. Linux even runs on IBM hosts! Microsoft 'encourages' hardware manufacturers to add the features Microsoft wants to their hardware, otherwise Windows will not support products of  this hardware manufacturer any more.


Installing Windows is considered easier than installing Linux. The computer is booted from the Windows-CD. The harddisk may be re-partitioned. Windows uses NTFS (or FAT32) as filesystem. The necessary files for the OS are copied into a temporary installation folder, then moved to the system directory (usually C:windows). After rebooting the system the hardware of the computer will be detected. Some hardware installation requires a reboot, meaning that the system has to be rebooted several times as a part of the installation. If some devices were not configured correctly, downloading a driver from the homepage of the hardware's vendor might help. Installing these drivers is very simple and can be done with just a few clicks.

Additional Software:

As there is very little software included in the OS (only browser, media player, image-view tools and very simple cd-recording software), you may want to install additional software.

Most programs come one seperate CDs, so you'll have to insert every CD into your CD-ROM-drive.


The computer is booted from the Cd or DVD. The installation is divided into several steps. Linux can  be installed remotely from another PC running Linux.

Partitioning: Linux must be installed on the harddisk and therefore requires space and at least two partitions. Linux supports many different filesystems e.g. ext2, ext3 or reiserfs.

In addition Linux needs a so-called swap-partition for extending the virtual memory. Most distributions come with partitioning tools, meaning the harddisk can be reorganized during the installation.

Copying files: After partitioning and minimal configuration of input devices, programs to be installed are selected. Modern distributions come with tons of software for nearly all purposes e.g. office suites, user interfaces, programming kits. A minimal Suse Linux system without graphical user interface requires about 180 MB.

Hardware configuration
Nearly all hardware is configured automatically. Exceptions to this rule are very new devices, which are not included in the linux kernel yet. Installing a kernel patch, (described later) may solve this problem. After having configured the network, the system is ready for being used.

Adding Kernels
A lot of Linux Kernels can be installed, using the same configuration files. If you install a new kernel, the old one can still be used if there are problems with the new one. Linux comes with powerful boot-managers capable of booting different kernels and non-Linux Operating Systems.


If you plug in new hardware under Windows it is detected automatically and installed as described above (including a reboot). Under Linux newer hardware requires patching the kernel. Windows kernels cannot be patches for Windows is monolithic.
For patching the kernel you first need to download a kernel patch and then unpack it. Then the 'patch'-command alters the sourcecode of the kernel according to the downloaded patchfile.
The kernel has to be compiled (this is done by using the make-command) and moved to the /boot-directory. Recompiling the kernel always requires a reboot.

Windows Update
Windows features automatic updating via internet. The auto-update program checks for available updates periodically. Updates to be installed can be selected and are downloaded from a Microsoft server.

Linux Update
Modern distribution come with a possibility to update the system automatically (e.g. Yast under SUSE). One or more update servers can be selected. When the update tool is started, it checks first if and what updates are available. This includes updates for the OS itself and updates for programs installed on the computer.
Debian Linux's update program can upgrade Debian to a never version without requiring a reboot!

There is more application software available for Windows, but much of the Linux software is free. Linux Software cannot be run on Windows systems and vice versa.

Windows: Although installing software on Windows is not standardisized, it is generally consistent and done with just a few clicks. In fact, a lot of programs need to be installed to work with the computer.

Under Linux lots of software are shipped with the OS and therefore need not to be installed. However, you may want to add programs for special purposes or to update your software. Generally, there are two ways of installing software under Linux: rpms and running a „makefile“.

RPM stands for „Red Hat Packet Manager“. A file with the extension .rpm (or .deb for Debian-Packets) includes the software and all necessary information about it. The rpm-packet can be installed via command-line or by just a few clicks. The rpm-program checks if the packet can be installed in the preferred directory. In addition it checks dependencies, meaning if there are other packets needed in order to install this rpm-packet. Software installed via RPM can easily be removed.

The other way of installing is more complex. First of all you need to run a configure-script. The configure-script checks which hardware you have and which programming-tools are available. The configure-script creates a makefile. The makefile consists of rules. By passing these rules to the make-program, the program that is to be installed is compiled and linked. This may take serveral minutes, depending on how big the program is. Finally 'make install' has to be run. This command copies the program-files into the specified directories. The software is installed now, but uninstalling has to be done by hand.

Computer programs are very complex and it would be very inefficent to write every part of a program from the scratch. Therefore, some parts of a program can be stored in a so-called 'shared library' that can be dynamically loaded by every program if needed.

Under Windows shared libraries are files with the file extension 'dll' (dynamically linked library). Dlls will only be detected if they are in Window's system directory or in the same directory as the program trying to access the dll. When installing a new version of a dll, the old one has to be overwritten. When buying a Windows program, necessary dlls will be included.

Linux's shared libraries are files with the extension 'so' or 'la' and the beginning 'lib' (e.g. Shared libraries can be in any directory as long as they are listed in the environment variable 'LD_LIBRARY_PATH'. Linux's superior concept using links makes it possible to have different versions of each library installed. A link has to point to the preferred so-file. When downloading a program for Linux, shared libraries are often not included but have to be downloaded and installed.

Look & Feel

Both Windows and Linux provide a CUI (Character based User Interface) and a GUI (Graphical User Interface).

Linux provides serveral different GUIs (e.g. KDE, Gnome, ICEWM, CDE,..). The user can choose which GUI to use. Programs designed for one GUI run on other GUIs as well, but the user has to learn the special features of each if they want to use more than one GUI. The GUIs are highly customizeable, the graphical output can even be forwarded to another computer. However, the GUI is not part of the OS. In addition Linux's CUI is very powerful. The CUI is implemented via a program, the so-called 'shell'. Usually, bash (bourne again shell) is used under Linux. It features a lot of small, yet useful commands which can be combined. It even features programming structures for writing scripts

screenshot of linux desktop (KDE)

Windows' GUI is a part of the operating system, meaning the OS cannot start without GUI. This means Windows needs a computer with at least 32 MB memory to run. The GUI features two basic 'styles'. Windows was designed to be customized over the GUI, everything is designed to be done with a few clicks. Windows aims towards 'zero administration'.

Windows' CUI was realized via a DOS-prompt in Windows 9x (MS-DOS was a former operating system, sold by Microsoft). In versions of Windows based on the NT-technology, there is a program called cmd.exe. Scripting capabilities and commands are limited, however, the use of so-called bat-scripts is supported.

screenshot of windows desktop (XP)


All devices on a Linux system are available as files in the /dev directory. Devices containing data can be „mounted“ into the file system. If a user or a program tries to read or write in this part of the file-tree, the device is accessed automatically. The main partition, referred as 'root-partition', is always mounted into the directory-root (/).
Mounted CDROM-drives will not open before unmounting them. This may seem confusing to the unexpierienced user.
Some neccesary parts of the filesystem (e.g. the /usr-directory) can be a seperate partition, being shared by a large amount of machines. Thus, software has to be installed into the /usr-directory only once. Another advantage of the way Linux treats filesystems is that they treat links more correctly. Links are files that point to other files. If a program tries to read something from the link-file, it will read it from the linked file. Under Windows, the link itself is read. Linux supports a very large amount of different filesystems.

Devices having data on it are accessed via a drive-letter. A and B are reserved for floppy drives, C is the main harddisk partition. D-Z are free for use, so there are 23 slots free for other hardware. Windows supports only a few different filesystems. Devices having no data on it cannot be accessed directly, but can be configured graphically.



No software is supplied without bugs (programming mistakes) and vulnerabilities. If an error occurs, people should immediatly report this error to the programmers. Within the Linux community bugs usually get fixed within a few days. Kernel patches and software updates fixing the problem are available for download very fast. Under Windows you'll have to execute „Auto-Update“, which downloads and installs security patches, service packs and, of course, updates for you. If the error still occurs, only calling Microsoft might help.

Viruses and Internet attacks
Under Windows there are various virus-protection programs and firewalls available. For most of them you will have to pay, some are free. Linux is generally known to be immune to viruses as most viruses are created to damage Windows. As Windows executables cannot run under Linux, Anti-Virus software for Linux is not spread widely.
Both modern Linux distributions and Windows XP have firewall software included. However, OS hardening (making the OS safe by better configuration) is easier when using Linux.

User security:

The biggest danger for a computer comes from the user itself. The users must be prevented from using unsafe passwords, leaving doors open for attackers and destroy their own (and others') files.

Linux uses different password encryption machanisms for different users. Its encryption algorhytm breaks the password into pieces of ten characters. Windows uses a longer encryption key, but always the same algorhytm and only seven character pieces.
Also, only Linux can check if a password is safe by checking dictionaries if the password can be found there.

After a new user was created, Windows has no possibility to force them to alter their password.

File security is more complex and stricter under Windows. Every user can have different rights on a file. There are more different types of rights than under Linux. The disadvantage is that the rights are not saved with the file. After a re-install all security information is gone.


When needing support for Linux you generally call or mail to the company procudcing your distribution. Support for your product will be limited, however. If you have downloaded Linux you may not get support at all.
Even though you may not phone your distributor, you can just write to the developer of the software you have a problem with. Developers are always happy to get feedback from the users and will generally try to fix the problem as soon as possible.

As Microsoft is a company, you know exactly whom to call if you have a problem. On Microsoft's homepage there are many tools and bugfixes available. However, if your problem is more complex, support is not free. Writing an email requesting help costs about 80€. Support by phone costs even more.


Linux and Windows follow very different rules concerning administration. Administration can of course only be done by the super user (root under Linux or the administrator under Windows). Linux's root user can change anything they want, Window's administrators abilities to change the system are intentionally limited (you cannot uninstall or downgrad system components under Windows!). A Windows computer can have more than one Administrator, a Linux computer only has the user 'root'.

Linux's configuration is stored in a large amount of text files. The contents may seem cryptic to beginners but are well documented (in manual-page-section 5). If you configure your system, changes in some of these textfiles will be necessary. However, you might use graphic tools (e.g. linuxconf or menuconfig) which edit the configuration files for you. Saving the whole configuration is very hard as it is fragmented.

Window's configuration is stored in the so-called registry. The registry uses a database to store its key-value-pairs. For administration Windows provides graphical frontends. If these graphical programs don't fit your needs, you'll have to change the registry manually using the program regedit. Registry entries are very cryptic and not well documented. If there is a problem within the registry you'll have to load the registry from your backup.
If there is a problem with a Linux computer you will be able to log in remotely or boot the system with a bootdisk. Recovery attempts can be done without the GUI running. Under Windows however, the GUI cannot be turned off.

Demands on Server OSes are generally high. Servers need to offer various services as printers, files and web pages. In addition, they have to be immune to attacks from the outside. Companies rely on firewalls and virus protection software, company secrets must be kept beyond closed doors. The server must not be turned off as the provided services have to be available around the clock.
As both Windows and Linux have abilities to handle network communication protocols, they can be used as server OSes. Windows has its own Server-OS version (Windows 2003 Server). It costs more than Windows for workstations. Generally, each Linux workstation distrubution can be used as server too. Most distributions can be configured as a server during installation.
Servers should only have the functionality they need an nothing else. Any software installed that is not needed might open the doors for attackers. Unused ports should be closed. There are Linux webservers running without GUI, having only one port open. As Window's GUI cannot be turned off and useless applications (for servers) like Internet Explorer are part of the OS, Windows has more vulnerabilities. However, Microsoft tries to close this gap by providing a 'Microsoft Terminal Server' product. For executing programs on different machines, a 'terminal client' is required to run on the computer where the program should be executed.
Linux servers can be used for different purposes as Linux features so-called runlevels. Each runlevel starts different services and can be configured easily. The purpose of the server (e.g. file-server - webserver) can be changed without rebooting by just changing the runlevel.
Generally Linux servers have a longer on-time as Windows servers. Linux or Unix servers are often used as firewalls, hiding entire networks behind them.

Other differneces

Windows uses a swap file, Linux an entire swap partition.

Windows can only boot from a primary partition.

Under Linux you can start automated tasks by using crond.

What is the better OS - Windows or Linux? It is impossible to say which is better - it depends on the person using the computer. The average computer user is neither interested in how the OS works nor do they know how to configure it. People just want to do their tasks, surf on the net but they do not even want to have the choice of different window managers or boot managers. Some people do not even realize, that the internet is not 'in' their computer. They know how to click on a button in the start-menu but when it comes to configuration decisions they want have the freedom not to choose. Repairing the system after a virus has corrupted it is not done by the user, but by relatives who know more.
More expierienced computer users often have the knowledge to configure, reinstall and protect their Windows systems. They know how to download cracked software and know about the most basic hacking tools. And they often HEAR about Linux. The point is that 75% of all computer users HAVE NEVER HEARD OF Linux.
Magazines like Easy Linux give an introduction for users who have never worked on a Linux system. They describe how to install Linux and how to run Linux and Windows on the same PC. Most users installing Linux first try it as second OS. Under Linux you generally need more time to get familiar with configuring and handling. However, this might be because only expierienced users install Linux, and they generally go beyond the basics.
Only professionals using Linux or Unix at work have no problem using Linux at home. All work they do is done on Linux systems, they are not dependent on Windows any more. For many people are afraid of correcting hardware compatibility problems by changing the source code, only few people reach this higher level of expierience.
However, Linux has become more and more userfriendly in the last few years. Using Linux's user interfaces is nearly as easy as using Windows nowadays, more 'average' computer users will begin to support Linux.
If you are happy with Windows just as it is and do not care about its security problems and limitations it is best not to try Linux. However, if you want to learn more about the core of operating systems and if you like solving problems and higher scalability, Linux should be your choice.

intermediary - Vermittler

redistribute                        - neu verteilen
partition - (Festplatten-)Partition

vendor                               - Hersteller, Verkäufer

aim                                    - Ziel

remote                               - entfernt

monolithic                         - monolitisch, aus einem Stück

compile                              - übersetzen

and vice versa                - und umgekehrt

to do something from the scratch - etwas völlig neu beginnen

access                                - zugreifen

customizeable                    - einstellbar

mount                               - anbringen

vulnerabilities                    - Schwachpunkte

encryption                         - Verschlüsselung

rely          - verlassen

Haupt | Fügen Sie Referat | Kontakt | Impressum | Datenschutz

Neu artikel