Individual Report

COMPARISON BETWEEN WINDOWS NT AND UNIX OPERATING SYSTEM
An Assignment for Operating System module,
in the University of Central England

By:  Harry Sufehmi, student-id #98799231



Introduction
------------
In this report, I abandons Windows95 for a strong reason: It
is very hard to compare Unix and Windows95 fairly. Windows95
is  a  desktop operating system, that is, it sacrifices many
power-features in exchange for ease of use.  And  it's  very
good  at it, it even dominates desktop PCs world-wide.  Unix
in  reverse,  is a heavy-duty operating system  that  mainly
targeted    for   utilisation   at   servers   or   high-end
workstations; although this started to change (very  slowly,
though)  with  the  emergence  of  Linux.  No  wonder  their
internal  structure  differs  greatly.  Comparing  this  two
operating system is quite like comparing apple and  chicken.
They  are for different usage so the discussion would become
too  broad  it would be easy to lose focus, and making  this
report too lengthy.

So I choose only WindowsNT and Unix, since they are targeted
to  quite the same niche; server application. For WindowsNT,
I  choose WindowsNT v4.0 Server edition. For Unix, I  choose
RedHat  Linux,  the  favourite flavour of  Linux  that  just
recently  got  supported  by Intel,  Oracle,  Informix,  and
Netscape.



Comparisons
-----------

[1] Kernel
~~~~~~~~~~
Straight  to  the  record, Linux is  based  upon  monolithic
kernel   architecture,  while  Windows  NT  is  based   upon
microkernel architecture.

These architectures have been, and I think is still, a topic
that's being debated by the operating system experts - which
one is the best?

From a designer's point of view; microkernel would be easily
voted  as  the  best,  since it's  very,  very  modular;  as
described  in Andrew S. Tanenbaum's famous book. The  kernel
itself  would  be very tiny, it's would be  just  enough  to
handle   communications  between  client  (a  user  process)
requesting a service from a server process (such  as  memory
manager,  file  service, etc). This makes it  very  easy  to
implement  or  add/remove features - simply load/unload  the
needed feature.

Also this makes it easy to implement a distributed system. A
client  doesn't  have to know where the server  process  is,
it'd just make a system call and the kernel handle the rest.
So  the  server process could actually located in a computer
4,000  miles away, and still able to serve the clients.  And
more.

Due  to  these  superior capabilities,  Tanenbaum  touts  it
highly  as  the design of the future operating  systems.  He
even  named monolithic kernel design as "The Big  Mess".  So
it's  quite  a  blow when Linus (creator  of  Linux)  choose
monolithic  kernel  design  for his  operating  system.  The
famous  flame  war  goes in the Internet between  Linus  and
Tanenbaum.   But   Linus  presented  very  good   arguments,
including speed and, surprisingly, simplicity. And it  comes
true,  Linux  is  now  recognised  as  one  of  the  fastest
performing operating system on the earth.

How about WindowsNT? To put it simple, it promises too much,
and delivers too little. Even though it utilises microkernel
architecture, strangely:

     (a)  It's nowhere fast:
          e.g.  Linux on 486 outperforms WindowsNT on  Pentium
          for use as a mailserver.
     (b)  It's not distributable:
          no NFS, no remote login/administration, etc
     (c)  It's not a bit modular:
          Adding  even  just  another  network  protocol  will
          require a reboot - devastating for a server that
          must be running 24x7.


[2] Networking
~~~~~~~~~~~~~~

A quick glance:

Linux:
TCP/IP, IPv6, NFS, SMB, IPX/SPX, AppleTalk, 
NCP (NetWare Core Protocol), plus many other protocols

WindowsNT:
SMB, IPX/SPX, TCP/IP, AppleTalk, plus many other protocols.              


We can see easily that Windows NT doesn't support:

     (a)  IPv6:
          The  limitation  of IPv4 have been  acknowledged  by
          international standard bodies,
          and  resulted in the specification of IPv6.
          Unix-world immediately embrace this new
          standard  -  giving 2.81x10(14) combination  of  IP
          addresses instead of just 4,294,967,296 from IPv4,
          and also more subnets to be allocated.

     (b)  NFS:
          Stands   for  Network  File  System,  a  recognised
          standard for years for distributed computing.
          The non-existence of this protocol in WindowsNT
          means user must buy a separate package from
          third-party vendor if they need this standard protocol.

     (c)  NCP
          Linux brought the NCP implementation one step further,
          by enabling itself to emulate a NetWare server.

Also, the newest information from John C. Dvorak's column in
PC  Magazine reveals Gigabit vendors' complain, that at most
WindowsNT could only pump 400 Mbps throughput on the Gigabit
Ethernet network. And that's only after much tweaking.
Other OS such as NetWare or Unix finds no difficulty in it.


[3] System Management
~~~~~~~~~~~~~~~~~~~~~
Linux  gives  a lot of it; you can telnet and rlogin,  which
equals  as  if  you're using the actual computer  even  when
you're  actually  somewhere else.  It's  very  essential  if
you're   administering  a  server  farm  or  geographically-
dispersed  servers.  All configuration files  is  stored  in
plain  ASCII  format, protected by security scheme  so  only
authorised person would be able to access it.
The  only  problem perhaps is lack of automatic new hardware
detection.

WindowsNT on the other hand, lack of any sophisticated built-
in  remote management capability. The closest thing to it is
perhaps some tools that would enable sysadmin to view  event
log, administering users, domain. If somebody needs anything
more,  they must buy from the third-party vendors. Plug-and-
play   support  in  WindowsNT  is  present  but  incomplete,
resulting in a lot of horrendous re-configuring sessions.

(update: now Microsoft has released Service Pack 4 that gives
 remote admin capability via Web, but how robust this solution
 is still in question)


And  one of the potential problem maker is its configuration
file;  it's stored in a storage named "registry"  in  binary
format. If it gets corrupt, you'll have to reconfigure  from
all   over  again  instead  of  just  fixing  the  corrupted
configuration only (as usually done in Unix).
A  client  even  lost US$ 10 million due  to  corruption  of
registry  files in its 10,000 NT workstations, resulting  in
12  hours downtime. The backup could not be restored because
it  insist  on being restored in a system with  exactly  the
same  registry  files  when it was backed-up  (for  security
purpose?).



[4] Reliability
~~~~~~~~~~~~~~~
The  easiest way to measure a server's reliability  is  from
its uptime.

For  Linux servers, it's usual for the uptime to be measured
in years.
For NT, it's usually in days.

In fact, some vendors recommends its clients to reboot their
NT  servers every week, to get rid of the random  junk  that
running the system has left over.



[5] Scalability
~~~~~~~~~~~~~~~
Linux  was  not known for its scalability, but  now  it  has
start  to.  The  new  kernel built recognise  multiprocessor
system,   and  will  utilise  it.  Clustering  in  parallel-
processing  environment  is  achieved  up  to  very  extreme
performance,  with  Beowulf. Started as a  NASA  project,  a
Beowulf  cluster consist of a computer acting  as  a  server
node and many other computer as client nodes. An example  of
Beowulf  system consisted of 24-nodes priced at US$  54,000,
and its performance rivals those supercomputers which priced
at US$ 10 million to US$ 30 million range.
Still,  Linux  lacks other Unix's OS like Sun  Solaris  that
offers  automatic  fails-over capability  (a  backup  server
automatically  serves the network when  the  primary  server
goes down), transparent clustering, etc.

The  only  scalability  that  NT  offers  is  multiprocessor
capability; and that's limited to just 32 processors,  small
compared  to Sun Solaris' ability to utilise 128 processors.
Automatic  fail-over capability could only  be  achieved  by
using Vinca's Standby-server software. Clustering capability
is still in development, code-named Wolfpack.



[6] Security/User management
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Linux utilise standard Unix security features that has  been
known and tested for years.

WindowsNT in contrast, is making its own. Its domain  system
is  too  awkward to be used compared to Unix's or  NetWare's
excellent  NDS.  Its  C2 security that Microsoft  so  highly
proud  of  was  proved to be not so good at  all.  Its  NTFS
filesystem  could be read from DOS or Linux, nullifying  any
of  its  built-in  security feature. A system  with  freshly
installed  WindowsNT  is  so highly  vulnerable,  a  lot  of
program  is available in the Internet for free to steal  its
passwords or to become administrator in the WindowsNT box.

Also   the   main  problem  with  WindowsNT  is  Microsoft's
reluctance to acknowledge a newly found security breach  and
fix  it.  After much criticism, the situation is becoming  a
bit better. But it's still nothing compared to Linux - a fix
could  be  available as soon as 2 hours  after  the  initial
security breach's announcement.



Conclusions
-----------
After personally researching and using both of the operating
system,  I  can easily say that indeed WindowsNT  still  has
along  way  to  go  to match the capability  of  Unix-family
operating system.

As  a  desktop  or departmental operating system,  WindowsNT
could  be the right choice for it gives consistent look-and-
feel  and a lot of application software to choose from.  But
for  a  250  users  (or more) environment,  WindowsNT  is  a
headache  for the System Administrator for lack of features,
reliability, scalability, and security.



References List
---------------

1. Digital, Inc (1997),
   AIX 4.3 Leaps To 64-Bits In Dead Heat With Digital UNIX 4.0,
   http://www.unix.digital.com/unix/v4/dhbrown/AIX43.htm
2. Kirch, John (1998),
   Microsoft Windows NT Server 4.0 versus UNIX,
   http://kirch.net/unix-nt.html
3. Bach, Maurice J. (1986),
   The Design Of The Unix Operating System,
   New Jersey, Prentice-Hall.
4. Tanenbaum, Andrew S. (1987),
   Operating Systems - Design and Implementation,
   New Jersey, Prentice-Hall
5. Rachel Polanskis (1998), Massive NT failure!,
   http://tacyon.spectrum.com.au/mail/slug/msg01137.html
6. Rogier Wolff (1998),
   Unix     vs     NT,
   http://www.bitwizard.nl/unixnt.html, BitWizard
7. InfoWorld (1998),
   Probing into C2 security claims:  Is NT as secure as Microsoft has said it is?,
   http://www.infoworld.com/cgi-bin/displayNew.pl?/petrel/980713np.htm

______________________________________________________________________
Last revision: 21 November 1998