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