Originaldokument enthält an dieser Stelle eine Grafik!
Original document contains a graphic at this position!
Windows and Linux
Table of contents 2
What is Windows? 3
What is Linux? 3
Different philosophies 3
Look & Feel 6
Other differences 9
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.
is privided by a single vendor: Microsoft. Microsoft is a big and very mighty
company which head department is located in
The first version of
Windows was available in 1985. Since then it has changed almost
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.
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.
stereotypes people have about Linux:
hardware support is bad.
is no technical support
are no applications for Linux
is hard to learn
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
When we talk about Linux we generally mean
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
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.
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.
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.
give your Linux-CD to your friends without having to pay an extra amount.
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
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.
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
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.
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
Most programs come one seperate CDs, so
you'll have to insert every CD into your CD-ROM-drive.
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 must be installed on the harddisk and therefore requires space and at
least two partitions. Linux supports many different filesystems e.g. ext2, ext3
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.
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.
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.
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.
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
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
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 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
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
Debian Linux's update
program can upgrade Debian to a never version without requiring a reboot!
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
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.
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“.
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.
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.
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
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.
shared libraries are files with the extension 'so' or 'la' and the beginning
'lib' (e.g. libqt-mt.so.3.1). 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.
and Linux provide a CUI (Character based User Interface) and a GUI (Graphical
Originaldokument enthält an dieser Stelle eine Grafik!
Original document contains a graphic at this position!
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
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
Originaldokument enthält an dieser Stelle eine Grafik!
Original document contains a graphic at this position!
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
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
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.
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.
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
and Internet attacks
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
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
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.
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
Also, only Linux can
check if a password is safe by checking dictionaries if the password can be
a new user was created, Windows has no possibility to force them to alter their
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.
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
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.
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.
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'.
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.
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
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.
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
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
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.
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
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.
uses a swap file, Linux an entire swap partition.
can only boot from a primary partition.
Linux you can start automated tasks by using crond.
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 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
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
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
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
partition - (Festplatten-)Partition
vendor - Hersteller,
aim - Ziel
remote - entfernt
monolithic - monolitisch, aus einem
compile - übersetzen
... and vice versa - und
to do something from the
scratch - etwas völlig neu
access - zugreifen
customizeable - einstellbar
mount - anbringen
vulnerabilities - Schwachpunkte
encryption - Verschlüsselung
rely - verlassen