COMPARISON OF WINDOWS 2000 AND LINUX

advertisement
CS550
COMPARITIVE OPERATING SYSTEMS
COMPARISON OF WINDOWS 2000 AND LINUX
ON PERFORMANCE AND SECURITY
Presented by Makesh Balasubramanian
Student ID:999-29-3290
Course: CS 550-395
Email: balamak@iit.edu
1
COMPARISON OF WINDOWS 2000 AND LINUX
ON PERFORMANCE AND SECURITY
ABSTRACT:
To make a choice between two operating systems really needs a lot of considerations.
This paper is going to be a discussion on the features of the two famous operating
systems, Microsoft’s WINDOWS 2000 and Linus Torvalds’ LINUX, focusing on the
aspects of performance and security. Performance, in general, may be considered to be a
technical measure of the system but what is discusses here, as performance is not only the
technical aspects but also the users’ view of the two operating systems. The reason for
comparing windows 2000 and Linux is that the former with its grand Microsoft banner
has already established its power in the industry while the latter, considered to be the
future hope by many, being so young, has given the hope of a potential alternate, leaving
the users with a choice. This discussion is purely on comparing these two operating
systems and doesn’t aim arriving at a conclusion of which is better or worse.
2
CONTENTS
1. Introduction.
2. History and features of Windows 2000 and Linux.
3. General comparison:
a. Ease of use.
b. User assistance
c. History
d. Technical assistance
e. Pricing
4. Performance comparison:
a. Stability
b. Plug ‘n play
c. System resilience
d. Workload management
e. Partitioning support
f. Web service support
g. Flexibility of commands
h. Complexity
i. Speed of execution
5. Security comparison
6. Tests
7. Conclusion
8. Bibliography.
3
INTRODUCTION:
Operating system, being the nucleus, is responsible for all the actions a computer
performs. Hence it has to be designed in such a way that it makes an efficient use of the
system resources and perform all the desired activities. With the advent of new
technologies and improvements in the already existing ones, it has become equally
important for the operating system to support them, as to perform well with what it has.
So, the operating systems should be designed with a foresight in such a way that it is fine
with the existing technology and copes with the new technologies. At present, we have a
lot of operating systems of which only a few have turned out successful. In this paper, a
brief comparison of the two representative operating systems namely windows 2000 and
Linux has been made. Following is the comparison of these two operating systems
generally and then targeting on the aspects of performance and security.
It’s quite interesting to trace the history of these two operating systems. Before
going into the actual comparison lets briefly browse the histories of these two operating
systems.
WINDOWS 2000:
The Windows traces its history from the time when the Microsoft developed a
GUI based operating system to compete with the Macintosh. That was Win 3.0.It was
basically developed as a desktop operating system. Then slowly the other versions of
Windows were developed. Finally Windows-95 was released with much more features
and later Windows-NT and then the version of Windows 2000 was released. This was
developed to exploit the capabilities of a 32-bit processor.
FEATURES:
 Windows 2000 has the same executive and microkernal architecture as the
Windows NT 4.0.
 Windows 2000 is both single-user multitasking (W2K-professional) and
multi-user multitasking (W2K server).
 Windows 2000 supports threads, SMP and IPC.
 It supports also the concept of multithreading within a single process.
 The thread management is fully by the kernel.
 The processes and threads are implemented as objects.
 It has got mechanisms for concurrency namely semaphores, mutex etc.,
 The scheduling is priority-driven preemptive round robin within a priority
level.
4
LINUX:
It was in August 1991, when Linux first started to get into shape as a primitive
operating system resembling minix. With its developer Linus Tovalds’ efforts, it soon
took its shape as a major operating system. As it was given for free, many got interested
in that effort and joined hands with Linus forming the Open-Source Society (OSS) and
now it’s a potential alternate to Windows, a well-established operating system.
FEATURES:
 Linux can be considered a full-featured Unix system running on a variety
of platforms.
 It has a modular structure, that is, the kernel is organized in as a collection
of loadable module.
 The thread management is fully by the kernel.
 Process are represented not as objects as in windows but represented as a
task_datastructure.
 It supports virtual memory and the virtual memory management is by the
3 levels of paging structures.
 The scheduling policy followed here is the enhancement of traditional
Unix scheduling with two new scheduling classes with the total of three
classes namely SCHED_RR, SCHED_FIFO and SCHED_OTHER.
A user’s acceptance of an interface depends mainly on the ease-of-use, quality
and performance that it provides when trying to complete a specific task. An analysis of
the organization and time/performance ratio of two different operating environments
shows that advanced (power) users generally prefer a command-line interface to a system
whereas novice users almost always prefer the graphical environment because of it’s
visual object oriented approach to the system.
GENERAL COMPARISON:
The primary difference between the two is that in the Linux command line, tasks
have to be performed using specific command and their proper parameters, whereas
Windows 2000 sometimes provides a more logical task hierarchy, so it is easy for the
user to perform a task even though the user has never done it before. Lets discuss some of
the aspects in which these two operating systems can be compared:
EASE OF USE:
As we all know, the major reason for the success story of Windows is its ease of
use and its logically understandable GUI. Though Linux also tries to compete with
windows GUI, the vote is for the well-established Windows due to the ease of use even
for the first time user.
For example, let’s assume that both systems have a web server installed. In order
for a user to manually start the web daemon on a system running Linux, they would have
to type in a command similar to the following: “httpd –f /www/conf/httpd.conf”. This
command would tell the program httpd (which is the web server) to start and use the file
“/www/conf/httpd.conf” as its configuration. In Windows 2000, however, the user would
just have to click the “Internet Information Services” node in the Computer Management
5
program and then select the “Default Web” and click the “Start service” button. As you
can see, the steps required in performing the task in Windows 2000 were greater, but the
graphical “Computer Management” program allows the user to visualize his entire
system in a tree. Therefore if the user wanted to do something similar in the future, he
would remember to use this program; and the chances of him finding the right
information is great. However, in the command-line interface of Linux, if the user wanted
to know where the root web directory was, he has no immediate way of finding it just
because he remembered that he started the web server with the “httpd” command.
USER ASSISTANCE:
Some amount of help is available to both systems. In Linux however, help is
command specific, whereas in Windows 2000 help is application specific.
HISTORY:
The Linux command-line provides a well-defined history that can be easily
manipulated by the user. Windows 2000, however, does not have a history of any sort so
it is really hard for the user to repeat tasks or retrace his steps. To view the history of
commands that a user has typed, the user has to just type in a history command and he
can get a list of all the previous few hundred commands. The history list is a saved file in
the user’s home directory, so the user can also perform searches and compile statistics
using this history file.
TECHNICAL SUPPORT:
Though Linux has the strong supporting arms of OSS, it still lacks the vendor
depth or enterprise experience of Windows.
SYSTEM MANAGEMENT:
Windows has the necessary breadth of system management while Linux cant
handle the variety of functions of a managed distributed environment.
PRICING:
As Linux is free software, it has a low and mid-ranged pricing depending on the
distribution but this is not the case with Windows.
PERFORMANCE:
Performance benchmarking is subjective. So the only way of proving this is to try
two systems and compare the response time, the requirements, and ultimately, the cost;
even if Linux systems were to run half as effectively as a Windows equivalent, the low
cost of implementation still means that a solution involving two systems will work out
cheaper to install and maintain. There is currently almost no situation or scenario that
shows Linux to be anywhere near as poor in performance as half that of an equivalent
Windows system - the balance lies very much in the opposite direction.
As a direct comparison, using equivalent hardware in both, it has been shown
time and again that Linux will not only install, but perform adequately, on a system that
Win2k will not even be able to grace with its presence. It of course depends somewhat on
the requirements. Though, Windows 2000 has brought the Windows family to almost the
6
same level of reliability as Unix systems, making it a potential contender for deployment
as a server, but in the server room, there is very little Linux systems cannot do more
efficiently than a Windows system, and at a far lower cost. However, major omissions
from an administrative point of view in Windows include granular system automation
and scripting support - it is difficult to run scheduled tasks more than once a day.
Given below are some of the performance comparisons:
STABILITY:
When compared to Windows Linux is far more stable. Windows NT has 16
million lines of code while Windows 2000 has 32 million lines of code. This large size
mainly contributes to the instability of Windows 2000.
PLUG ’N PLAY:
As we all know Windows supports, in majority cases, the policy of plug and play
but Linux, as it all started from scratch, still lags behind windows 2000 in this aspect.
SYSTEM RESILIENCE:
While comparing these two operating systems on the system resilience functions
like the component failure resilience, dynamic reconfiguration and such functions,
Windows 2000 looks ok while Linux is still developing.
WORK LOAD MANAGEMENT:
The work load management in both the operating systems is developing and for
both these systems, it can’t be stated that the workload management has reached an
appreciably enough state.
PARTITIONING SUPPORT:
Both the systems in this aspect works fine.
WEB SERVICE SUPPORT:
The web service support for these two operating systems is good as both these
systems provide a good IP support, IP multi-path routing and such things but the web
application server availability is just ok with Linux with PERL and J2EE but it is very
good with Windows 2000 with. NET. Both these systems provide a good heterogeneous
platform interoperability.
FLEXIBILITY OF COMMANDS:
The Linux commands are highly flexible. In Linux, unlike Windows 2000, for
example, each task does not have it’s own command. Users can extend commands to
perform tasks that were not thought of by the programmer. For example, the user can
issue the copy command and then rename the destination file so that one command
actually copies and renames a file at the same time. However, in Windows 2000, a user
has to copy a file to the destination and then open up
the destination location and then rename the file. The steps required to do certain tasks
are reduced because of this command extensibility that Linux provides with pipes and
redirection.
7
COMPLEXITY:
The extensibility that Linux provides gives a way for users to perform complex
operations using the same commands that they use for simple tasks. Linux provides a
way for users to combine two commands using pipes or redirection, whereas in Windows
2000 this type of command-combined operation is almost impossible. For example, to
search for a particular process id of a command that you have entered in Linux, you can
type ‘ps –e | grep “<commandname>”’, which would filter the output of ps and display
only results that match <commandname>, which makes it easy for the user to see the
process id without having to look through many of them. In Windows 2000, however, the
user has to manually search for the process id using the list of processes that is displayed
in the Windows Task Manger.
SPEED OF EXECUTION:
Power users who probably know most of the important commands would be able
to work quickly in the Linux environment as opposed to the Windows 2000 GUI. For
example, if a user wants to move a file, he has to make sure they can see the source and
destination and then they have to drag the file from one place to another. In the
command-line however, the move command is called and the source and destination are
passed in one line as arguments— something that is faster for a power user to do. Most
tasks can be completed quickly and correctly because of the way the commands are
designed. For example, deleting a file in both environments would cause the system to
display a command confirmation before actually deleting the file (even if the user picked
a time-saving shortcut method to delete the file).
For example, in Linux there exists a ‘kill’ command to end currently running
processes. If a programmer were to implement a different way of killing threads, for
instance, then he would be forced to use a command like ‘killt’ instead of ‘killthread’
because the former is easier to type and could save time and user performance even
though the latter is easier to remember. However in Windows 2000, since commands are
usually labeled according to full phrases, one could implement a “Kill Process” and a
“Kill Thread” button that is easy for the user to remember and recall.
The really compelling reason to use Windows 2000 in the server room is for the
speed of application development, especially in the areas of web and web-enabled
desktop applications. Active Server Pages coupled with SQL server and IIS allow us to
rapidly churn out web applications.
SECURITY:
The Internet has become more dangerous over the last few years. The amount of
traffic is increasing and more important transactions are taking place. With this the risk
from people trying to damage, intercept or alter secure data grows. So it is good that the
systems are robust against the storms of the Internet and have many sophisticated security
measures.
This is a primary reason why Linux systems are so popular as Internet
workhorses. However, if the Linux security tools are not used in an appropriate way then
8
they can be a liability. Problems can be caused by badly setup security measures. Linux
has always been designed as a multi-user system. Windows 2000, on the other hand - its
root being buried in the development of NT, was more of a patch to an existing legacy
graphical shell running on DOS.
Windows 2000 is not Linux, of course. One of the largest differences is in the
security model - the security of NT pervades the entire operating system, not just that of
the file system. Because of this, the implementation of controlling permissions and access
means that the registry has to be able to encompass all possible settings for all data,
applications, and resources found on the system. The biggest advantage of Linux over
windows 2000 is historical. Windows grew out of a single-user context, and most
developers build applications for windows with that philosophy. In windows, users are
not as isolated from one another as they are in Linux. In Linux, each user gets his own
separate user directory and can run processes (programs) as one another. While many of
these things are possible in windows 2000, most commercial applications do not exploit
this capability, nor do most windows-educated systems administrators take advantage of
these features. This is one of the reasons why so many NT/2000/windows 9x machines
are vulnerable to problems such as email attacks. For example, many think that the way
to avoid being infected by a virus is to make it impossible for their email program to run
an attached application.
While this works, it is easy to be safe in Linux without having to give up this
capability. First of all, Linux can protect all system programs from being touched by any
user except root. That way, if a user runs a virus from his email program, it is impossible
for that virus to infect anything but programs in his own home directory. Since root does
not run any of those programs, the user may experience difficulties, but the system is
safe.
Better still, the system administrator can simply create a user account specifically
for running email attachments and then isolate the account (put in ‘jail’). Then the system
administrators set up the email programs so that all users automatically run their mail
attachments as this ‘jailed’ user .now it is possible to run any attachment desired and it is
impossible for any Trojan or virus to do harm the system or to the user’s own directory.
Windows Scripting Host is not only horribly prone to insecurities, but also
limiting in what can be done - the problem caused by relying on graphical tools rather
than command line interfaces to maintain systems. It makes it very difficult to run
centralized servers without these two basic control methods in place.
Web and FTP hosting:
These require separate user accounts and areas for each distinct user. In these
instances, shell accounts are also useful to provide non-standard user-administered
services such as cgi scripts, mailing lists, and the like. Attempting to achieve this securely
within a Windows environment where applications frequently run with administrator
privileges are difficult to say the least.
9
But Windows 2000 has also appreciable security systems. When dealing with the
level of security obtainable with the systems it is necessary to distinguish between the
security level realized by each of the standard installations and the level that can be
achieved with an operating system in principle. In this respect, Windows 2000 standard
installations are said to be more secure than Linux standard installations, the latter
requiring further protection work by the administrator. The standard installation of a
Windows 2000 network already contains an implementation of the Kerberos protocol for
simple user authentication and access control in the network. Linux also provides this
functionality as open-source software, albeit with additional installation effort.
In the event of the theft of a mobile client encrypting the file system since the
perpetrator gains unlimited access to the hardware can only protect important
information. The NTFS 5.0 Windows 2000 file system, contains the Encrypted File
System (EFS) installed as standard solution, which can be activated for any number of
folders and all files. Encrypted file systems are available under Linux as an upgrade
solution with additional installation effort.
In large-scale organizations, the introduction of Public Key Infrastructures (PKI)
often involves considerable expenses. Windows 2000 provides a simple PKI, which goes
beyond the use of passwords and has smart card-based authentication mechanisms for use
in the network. For Linux PKI functionality is only partly available at present.
The results of the investigations showed that Windows 2000 was better suited for
corporate use as a network operating system than Linux.
Hence, when security is considered, Linux has the upper hand but it is the
application that decides which operating system will suit the most.
10
TESTS:
Given below are the results of some of the primary tests conducted in order to
compare the two operating systems:
Operation
Copying a file
Getting help
Activation of editor
Printing a file
Linux
Issue
the
copy
command with both
source
and
destination
file
name.
Issue
the
help
command
along
with the command
for which help is
needed.
Windows 2000
Bring source and
destination windows
in the screen and
drag’n drop.
Result
Linux is faster as
the existence source
and destination need
not be seen before
copying
Windows 2000 is
faster. But Linux
has a much better
command-specific
help.
Just F1 is enough
for
application
specific
helps.
There’s
no
command specific
helps in windows.
Type the editor Just select the icon
Windows 2000 is
program’s command
better.
name
Issue
the
print Open the file and Though both are
command with the select the print from same
in
filename.
the menu
performance
printing
options
such as selecting the
number of pages
and all are better in
windows 2000.
11
CONCLUSION:
Linux is simpler, cleaner, and more efficient with fewer bugs and generally less
strangeness; whereas Windows 2000 is larger with bugs but at the same time has a lot
more features and ease than Linux. So it really becomes a difficult task to judge the better
of the two. As already stated, this paper aims not at concluding the better one, but
comparing the features of the two, so as one can get a clearer vision of these two
operating systems. Hence it could be concluded with a note that the knowledge of the
features of these two operating systems, can well make one to take an educated-decision
on which operating system to be chosen and for which application.
BIBLIOGRAPHY:
1.“OPERATING SYSTEMS” by William Stallings.
2. www.linuxdocs.org
3. www.melbournelinux.com
4. www.microsoft.com/windows2000
5. “Linux Vs Windows 2000: the pros and cons” -an article by Erik Hughes.
12
Download