| |
Home
About Us
Achu's Page
Interests
Friends
Photos
Literature
Technical
Paintings
|
|
This article appeared on the
IT Glimpse magazine (2001) published by Computer Science Students
Association, Mahatma Gandhi University, Kerala. (Given here is the original
article I wrote.)
While browsing through my
e-mails, I found this mail from one of my friends particularly interesting.
Even though there were a bunch of people in the To and Cc list, the mail was
directly addressed to me because I was the only one in the list of
recipients who was working with Microsoft. The mail stated: “Bill Gates was
the pioneer in DOS, but his first operating system was quite rudimentary and
was a work of three people. Coming to ... the area of my disappointment; I
could not find anything technically interesting with Windows. I used to be
interested in Windows NT, but the more I saw it the more it appeared like
traditional Windows with a stable Kernel.”
I wanted to write back, but my unusual workload prevented me from giving him
an immediate answer. My lack of knowledge about UNIX-based systems also
contributed to the delay in sending him a reply. I still don’t know very
much about UNIX-based systems, and I may be wrong in some of the specifics I
state in this article about UNIX-based systems, specifically about Linux.
Your Attitude Matter
I am not going to convince you that Windows is better. I am just presenting
some facts. All I request from you as a reader of this article is the right
attitude. If you want to tell me how much better a UNIX-based system is, and
if you are realistic, I am willing to listen. But I don’t like these: “You
like Windows because you are computer illiterate” (I have heard this many
times), and “Professionals around the world prefer to use Netscape ... they
have their own reasons to support that it is a superior product. Laymen
still prefer to use IE because it is bundled with the OS” (I got this mail
from the Senior Sub Editor of Malayala Manorama). This is what I refer to as
“right attitude”.
Oh, It Crashed Again!
Yes, it crashed again! System Crash has become synonymous with Windows
Operating Systems. How true is that? What are the other issues that most
people don’t like about Windows? Other than the often talked about issue of
its creator being a “monopolist”, the most common complaints against the
Windows/Intel (Wintel) Operating Systems are:
• Unreliability
• Lack of Security
• Viruses
• Reboot After Software Installations
• Mounting Software Costs
• Limited Server Capabilities
• Remote Access
• Memory/Process Management
The last one in this list is a complaint from the “more learned” community
who think that they should spit out such things to make them look more
“authentic”. Let’s examine each of these points a bit more in detail.
Unreliability: Windows Operating Systems are infamous for their
unreliability. “I can’t remember the last time I rebooted my UNIX machine”
may be true. But if you say you need to reboot your Windows machine at least
once in a day, you are just joining the band wagon. I am using Windows 2000
Server at my work for about two years now, and I can’t remember the last
time I rebooted the machine because of a crash. I agree that Win 9x platform
is more crash-prone when compared to the NT variant. (Remember to compare
apples with apples when you compare Operating Systems. When I talk about
Windows OS, I am talking about Windows 2000 Server or Windows XP Server
unless otherwise noted.)
Lack of Security: There is a big difference in the Security concept
used by Windows and UNIX. The Windows security model relies on the concepts
of users and user groups. Each of these users can have certain privileges,
such as accessing certain files and folders etc. Users belong to one or more
of such groups. UNIX can assign users group membership. Users, groups and
everyone else can be granted read, write and/or execute permission on
various system resources. UNIX also relies on a special user account called
root, which bypasses all security settings and have ultimate control of the
system. UNIX defines a file as having an owning user and group. I explained
this just to let you know that the two Operating Systems follow two
different paradigms when it comes to security. Security is getting the
utmost priority and attention in the upcoming OS from Microsoft, which is
Windows XP.
Viruses: I have seen people saying that “the Titanic can never sink”.
Yes, with the exception of once when the Internet was broken during that
“little” incident back in 1988.
(For those who don’t recall: On Nov. 2, 1988, Cornell graduate student
Robert Morris Jr. released a program in a lab at the MIT, allegedly as an
experiment to have software live within the Internet. The so-called Morris
worm exploited a flaw in the UNIX operating system and affected VAX
computers from Digital and Sun 3 computers from Sun Microsystems. Even
though the program was intended to infect a computer only once, a bug
allowed it to replicate hundreds of times, crashing computers in its wake.
Within days the worm had spread to an estimated 6000 computers, about 10
percent of the total on the Internet at the time. Morris was convicted of
violating the computer Fraud and Abuse Act and sentenced to three years
probation, 400 hours community service, and a $10,000 fine.)
Because of the nature of the Windows-based applications, especially
Microsoft Office applications with its rich scripting capability and with
its ability to access one-another so seamlessly, viruses are still a
potential threat in the Windows world. With increased security settings, and
the built-in preventive steps in Office XP, this threat is diminishing each
day. Microsoft already warned that it found a possible security flaw in
Internet Information Systems (IIS) that would potentially cause issues to
customers and then created a patch, so, those who were aware of this patch
were not affected by the latest of the 2 viruses: Code Red and Nimda.
Reboot After Software Installations: This is a tolerable offense to
those who are familiar with the way Windows works. A software installation
may replace the system files with latest one (or the one with which the
software is most likely to run). Or it may, in most of the cases, write some
“default startup set of values” in the Windows registry. In order for these
to take effect, the system needs to be rebooted. Microsoft is discouraging
frequent reboots when applications are installed. As a first step, in
Windows 2000 or later OS, you are not permitted to replace system files
randomly. Microsoft discourages reboot after application installation and is
showing this in its own most widely used application itself: Office XP
installation doesn’t require a reboot. By the way, this is more critical in
a server environment, and Windows XP Server will be the OS to watch out.
Mounting Software Costs: Well, it’s difficult to counter this
argument because it’s absolutely untrue. Most of the utilities that a
“normal” user would use come bundled with Windows. Compare this with the
UNIX world: almost all of the software is quite expensive. I should also
agree that if you buy a Solaris or Linux, then there may be some software
bundled with it for free that performs basic daily tasks. You get more “free
stuff” (as goody-goodies) in the Windows world though. In short, I would
just dismiss this argument altogether.
Limited Server Capabilities: I am 100% sure that you are comparing
apples to oranges here. You are comparing a server box from the UNIX world
to Windows 9x machines. Let’s honestly compare Windows 2000 or Windows XP
Advanced Server with any of the UNIX based servers. Windows 2000 Server and
the successor Windows XP Sever both have matured themselves as the best
Server Operating Systems that are available at unbelievably lower cost. One
general feeling among the UNIX admirers is that if you buy a Sun
Workstation, enough programs are “supplied” with the Operating System, that
the machine could be easily set up as your Web Server and to serve a Domain,
act as an E-mail Server and to be a File Server for other UNIX machines or
PC's, etc. They claim that this is simply unthinkable in the Windows world.
They cannot be more wrong. Even in Windows NT 4.0, you used get all these
bells and whistles as something called an “NT Option Pack”. With the
introduction of Windows 2000, everything just got better, and also with an
eye-pleasing UI and ease of use (which, of course, comes cheaper than the
text based UI in the UNIX world).
Recent studies by students of Florida State University show that that
Windows NT can compete with UNIX in high-end server scenarios which were
unimaginable a couple of years ago. Windows NT can scale well up to
4-processors on enterprise-level applications. Even though the results
indicate that Windows NT does not compete with UNIX in the area of large
multi-processor systems, such as systems with over 4-processors, it performs
an average 20 to 30% better in uni-processor machines and machines with 4
processors.
Remote Access: You may not hear this complaint about Windows any
longer. You can manage Windows machines remotely from anywhere if you choose
and the number of programs in front of you for remote computer management in
Windows may just amaze you. The remote control and access is superior in
Windows XP and this is going to revolutionize the way you get support for
such products. From Windows 2000 onwards, accessing, managing, and
controlling a computer remotely is an integrated feature of the OS. A
support professional can actually take control of your Windows machine
remotely and trouble-shoot it from the remote location should there arise
such a situation. Better still, these programs come bundled with Windows
operating system.
Memory/Process Management: Before discussing these in detail, I would
like to point out some of the basic differences between a UNIX-based system
and a Windows system. There are differences at every level, but here are the
major differences:
1 Architecture: The most notable difference between the architecture
of UNIX and Windows is that UNIX does not incorporate its windowing system
into Kernel mode. The UNIX windowing system is an add-on user-mode
application. Third-party products (such as the most popular X-Windows system
from MIT) can be used to replace UNIX’s windowing system. Another difference
between the OS architectures is that UNIX-based applications (if I remember
right from my class room days) can call the various system calls directly.
In comparison, the Windows system-call interface is not available and most
of these APIs are undocumented. Instead Windows exposes Win32 APIs that the
users/programmers can call.
2 Process Management:
Even though there are many common areas in process management that UNIX and
Windows share, scheduling algorithms and priority schemes in both OSs change
drastically. Windows increases the priorities of dynamic threads in response
to events such as input (mouse, keyboard etc), whereas UNIX decreases
dynamic threads' priorities as the threads consume the CPU.
3 Memory Management:
Both Windows and UNIX implement demand-paged virtual memory. They also both
have similar address-space definitions and both use variants of the clock
algorithm for in-memory data replacement. Windows manages memory on a
per-process basis. UNIX manages memory globally. UNIX relied on swapping to
avoid the event of thrashing. Windows avoids such problems through
per-process management.
Because of these differences, the approach to a particular memory management
issue by the OS affects the system stability differently in Windows and in
UNIX. The most common issue you may see is the “freezing” of the UI in
Windows. As I explained earlier, in UNIX, all you have to do is to exit the
windowing subsystem, but in Windows, since “windowing system” is very much
part of the Kernel, your choices are limited and you may require a reboot of
the machine. This almost doesn’t happen in a Server version of Windows.
While I examine the complaints that are lodged against world’s most popular
OS, I am not looking at the features that are only provided by Windows and
that are not available with any flavor of UNIX. That may well take another
essay, and I plan to do it at a later time.
New Desktop OS?
With the growing awareness of Windows’ exciting growth as a full-blown
Server-side Operating System, UNIX’s “monopoly” is fast disappearing. It is
particularly interesting to see how Linux is trying its luck at the Desktop
OS arena. There are several reasons why Linux is not going to deliver as a
Desktop OS, and I am more than thrilled to share some of them with you.
To qualify to be considered as a Desktop OS, the OS should be fairly
“simple”. Linux is complex for a common home user, and there is not going to
be enough investment to make such an OS “suitable” for the Desktop
applications. There is not going to be very many companies building Desktop
applications on Linux, mainly because of its tiny market share. Would you
rather write an application on Windows which runs 90% of the Desktops or
would you spend your time and money to write the application for an OS which
is not even in the market?
Java wished to emerge as a “write once, run anywhere” platform and ended up
as “write once, debug everywhere” cousin. The fate of Linux as a Desktop OS
wouldn’t be different and it doesn’t even stand at a remote chance of
unseating Windows. As always happened, there will be many non-compatible
versions of UNIX that from outside seem to be the same, until you get an
error saying: “This program needs Sun Solaris 4.5.1. Sorry! But hey, don’t
worry; rebuild your machine with a FREE copy of above version to run this
program. Once you are done, let me know, I will back up the current Linux
version, and get you back on track. Do you want to continue?” Why free is
not always good? Over the life of a system, the OS is such a small part of
the cost that it gets lost in the other software and hardware expenses. In
the “happy world of Linux”, you are going to get hammered specifically in
the software costs.
Linux may be a good Server OS. But when it comes to your OS, don't select
Linux just because you hate Microsoft. That isn't good enough reason to pick
an OS.
The Way to Go
Steve Ballmer, the CEO of Microsoft once noted: “If the PC ever gets boring,
it would be because we let that happen. Unlike thin clients, it has the
power to constantly morph into a new tool that lets people do great new
things. Already, it has evolved from a word-processing machine to a device
that enables email, games, browsing, digital media, peer-to-peer music,
document sharing, and even electronic books. As we look ahead, people will
be able to interact with it in much richer ways thanks to natural language,
speech and vision technologies. We also are investing in new form factors
like the Tablet PC and entertainment PCs. Importantly; Windows is also the
platform that continues to enable tens of thousands of developers to
continue to do amazing and exciting new applications.”
Nobody can deny the awesome effect that the PC revolution and Microsoft have
had on world economy in general and computing in particular starting from
the early 80s. Bill Gates has become rich, and rightfully so, for his
contribution to this revolution.
Read my other published works:
Are You A Better Software Engineer?
Enterprise Computing with Microsoft’s .NET Framework
The Good Doctor Prescribes You a Tablet
Try My
Colored Glass |