WINDOWS - LINUX
A comparison between
Microsoft Windows and Linux
Preface:
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.
Cost
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.
Installation
Windows
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.
Linux
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.
Updating
Hardware:
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!
Software
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.
libraries:
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. 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.
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)
Devices
Linux:
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.
Windows:
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.
Security
Bugs
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.
Support
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.
Administration
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.
Servers
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.
Conclusion
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.
Vocabulary
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 | Nutzungsbedingungen