SideBar    Linux and the Enterprise

OS heavyweights go head-to-head for the enterprise

As Windows NT's share of the workstation and server market has eroded UNIX's dominance, discussion regarding which operating system (OS) is the superior one continues to rage. Many people argue with religious fervor that whichever OS they worked with first is best. In particular, some members of the UNIX camp seem to believe that if they argue loudly enough about the merits of UNIX, the tide of NT growth will slow. In light of this heated debate, it's ironic that both NT and UNIX have roots in the mid-1970s and that both were influenced by many identical theoretical OS concepts and principles (for more information about NT's history, see "Windows NT and VMS: The Rest of the Story..." page 114). No one should be surprised to discover that NT and UNIX have many similarities as well as differences.

In this article, I'll hold NT and UNIX side by side to compare their architectural subsystems, and I'll review the major features of each, touching on process management, scheduling, memory management, and I/O processing. I'll present the results of the most objective measurements available: industry-accepted benchmark results. Finally, I'll address the question any comparison begs: "Which OS is better?" No matter which side of the NT-UNIX debate you're on, you'll find some surprises waiting for you.

A Brief History of UNIX
Ken Thompson developed the first version of the UNIX OS in 1969 at Bell Laboratories. Dennis Ritchie joined Thompson early in the project and not only invented the C programming language but contributed to UNIX's design. Thompson and Ritchie rewrote UNIX in C, converting it from PDP-7 computer assembly language. This conversion was key to UNIX's later acceptance, allowing different computers to easily recompile and run the OS code. Some estimations hold that only 3 percent of UNIX's early source code was hardware-dependent, requiring programmers to rewrite it for porting to different computers.

UNIX underwent further development at Bell Labs, debuting to the research community in an academic conference paper in 1974. Bell Labs released the first version of UNIX, Version 6 (V6), in 1976. UNIX use quickly spread to many universities and research centers, fueled in part by the OS's portability to new and different computer systems. In 1978, Bell Labs released UNIX Time-Sharing System, Seventh Edition, a version of UNIX that had portability as a specific design goal. At the time, UNIX included many features that only mainframe OSs had, and its hardware resource requirements were relatively light. Thus, UNIX was an ideal OS for smaller systems that people commonly called minicomputers.

Bell Labs distributed UNIX with full source code. Researchers took this version of UNIX and developed custom versions with experimental design modifications. These customized versions of UNIX fueled UNIX's market acceptance because they made integrating OS innovations easy for developers. However, this heritage is a mixed blessing that the UNIX community still wrestles with today. Within a year after Bell's release of UNIX's full source code, three or four major UNIX variants began to evolve.

In the early 1980s, three major branches grew on the UNIX tree: UNIX System III from Bell Lab's UNIX Support Group (USG); UNIX Berkeley Source Distribution (BSD) from the University of California at Berkeley; and a version of UNIX that ran on the x86 processor family, Microsoft's XENIX. Are you surprised to learn that Microsoft had a version of UNIX? If so, you'll be even more surprised to learn that XENIX had the largest installed base of any UNIX system during the early 1980s. Microsoft sold XENIX to The Santa Cruz Operation (SCO) in 1995, when Microsoft purchased a portion of SCO. Throughout the 1980s, the UNIX market fragmented further, with versions of the OS splitting several times; in many cases, descendant branches of a version merged with separate UNIX lines.

UNIX's fragmentation spawned many variant OS interfaces, and the result of the variation was that any particular version's programs did not port to other versions. To stem this trend, a group of vendors, working through the Institute of Electrical and Electronics Engineers (IEEE), formulated the POSIX standard. A major milestone in this effort was the creation of a definition for a standard system-call interface, or UNIX API, in 1988. This API was POSIX 1003.1. The POSIX standards have grown to include other aspects of UNIX design, including realtime processing capabilities, user interfaces, and application suites. To the detriment of standardization, however, other organizations were establishing UNIX standards in the late 1980s. The X/OPEN Group, consisting primarily of European vendors, published a standard specification called the X/OPEN Portability Guide in 1987.

Although most UNIX variants today support either the POSIX or X/OPEN standard, every UNIX vendor has tried to differentiate its offering with a proprietary interface, applications, and architecture. Several dozen widely used versions of UNIX exist today, and Sun's Solaris, HP's HP/UX, and IBM's AIX hold the largest shares of the commercial UNIX market. The Linux version of UNIX, which has become the centerpiece of the so-called open source movement, made headlines in the trade press recently. Linux is a homegrown UNIX variant designed by Linus Torvalds and further developed by hundreds of independent developers around the world. In 1993, Linux (including source code) became available on the Internet for free download. An ironic twist to the tale is that only a few years ago the computer industry press debated whether NT could challenge UNIX's market share--today the argument is whether Linux can be the UNIX challenger to NT. Recent market-research reports show that Linux is the only server OS besides NT to gain market share. Other research reports 11 million NT installations, whereas the Linux community reports an estimated Linux installed base of between 5 and 7 million. (To read more about the Linux challenge to NT, see the sidebar "Linux and the Enterprise" and David Chernicoff, "Walking the Walk and Talking the Talk," November 1998.) The bulk of those NT installations are in the business community, whereas a large percentage of the Linux installations are still in the realm of the computer hobbyist. This situation might change, however, with the recent release of Oracle8 for Linux and Netscape's and Intel's investment in Red Hat Software, a commercial provider of Linux software.

   Prev. page   [1] 2 3 4 5 6     next page



You must log on before posting a comment.

If you don't have a username & password, please register now.

Reader Comments

I'd like to see these benchmark comparisons versus server 2003

perris

I have worked on unix servers for over twenty years. Often, I have seen solaris servers that have been up for over five years. I have have never seen a windows server stay up for more than a few months. Why do you think that all the critical applications run on unix ?

Anonymous User

Guite a good article. One thing disappoints me, talking like 'blaablaablaa... UNIX has similar to NT ....'. Well, I remember the 1st time I saw NT bootin' (when it came on market) boot process was something like UNIXs :) So, You should more over talk 'blaablaablaah .... NT has similar to UNIX'. This is just a small psychological trik You're doing here.

Anonymous User

Article Rating 2 out of 5

The author should have compared charles babbage machine and NT and can prove NT is omni potential???

What he meants by Traditional Unix? Unix prevailing during 1970 - 1980's??? Loads of trash.

If we take a simple example like redirecting output to a file, instead of screen? Do anybody honestly say In NT- cmd mode you can redirect the results of command to a file. Unix has similar to NT.. stuff

Anonymous User

Article Rating 1 out of 5

In unix the system call to create a new process is fork(). Now they have clone.

do u think createprocess() with all its 12 arguments is similar???

And still its proven the fork algo is faster and hence the process creation time is more faster than the hapless M$ $#17

Anonymous User

Article Rating 1 out of 5

Why do you refer to the tradition Unix version of things. It seems to me that what NT can do Unix can do. I am reading a book on Unix internals from 1995 and it pretty much is Verbatim the way you describe NT. I think the real question should be what Windows products actually stand for and to a lesser extent Proprietry Unix, which is to close off knowledge and prevent the masses from empowering themselves. Knowledge is good, denial of access to that knowledge must be treated with suspicion.

Anonymous User

Article Rating 3 out of 5

Article was published in 1998 and frist comment is from 2004? Am I missing something?

Nice article, but there are no details like what is better for what in which system (but neutral as is it article has drawn enough flams).

- fork!=createprocess - fork is not used to create another/child process but to spawn clone of the same process - and Win32 does not have same call (no need for this?), but there is POSIX for NT sub-system with fork implemented.

createprocess is more like exec call, and its 10 arguments are all used to customise new process. Still this was not enough and you now have: CreateProcessAsUser, CreateProcessWithLogonW, CreateProcessWithTokenW

Win32 developement does not use same methods as developement for Unix - creating of new processes is something to be avoided use threads or fibers with DLLs instead, which is much faster, cheaper and easier to develop with than forking. --- To redirect IO in NT use similar syntax as in Unix: test.exe | more test.exe > test.txt test.exe 2> test_err.txt test.exe < test_i.txt Or use CreateProcess STARTUPINFO to redirect from API. --- Uptime of Windows is solid enough, uptime of 5+ years is great, but I belive people would rather use clustering of several less expensive machies (with unlimited uptime) than single expensive machine with GREAT uptime. Oh and I belive netcraft has uptime section with fast-changing list of longest running web servers and Windows is common on this list.

Anonymous User

Article Rating 3 out of 5

Love Win2003,Its super stable plus superb features, I am a SAP Basis Consultant trying to maintain an installation on Solaris system, & i hateeee unixxxx. I don't want to byheart thousands of crappy unixxx commands. Its no fun at all.

For all you Shell Lovers, grow up to GUI or lie in Dark VI hell forever......

Anonymous User

Article Rating 2 out of 5

 
 

ADS BY GOOGLE