BILL GATES HAS BECOME RICH, BUT MY WINDOWS CRASHED AGAIN

 
 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

 

[ Home ] [ About Us ] [ Achu's Page ] [ Interests ] [ Friends ] [ Photos ] [ Literature ] [ Technical ] [ Paintings ]