Edited May 27, 1998









An essay presented to the

Department of Information Systems

University of Cape Town

by





in partial fulfilment of the requirements for the

Information Systems 3 (INF300W) course

1997

Table of Contents

Apple's MacOS
Microsoft's Windows NT
IBM's OS/2
X Windows (X11)
Conclusion
Bibliography
Web sites of interest

Since the Altair in the 1970's, interfaces have advanced dramatically. The interfaces available to us today leave many of the early computer pioneers shaking their heads, as interfaces range from the ridiculous (Microsoft Bob) to the sublime (NeXTSTEP's window "widgets") - things have come a long way since the lights of the Altair.

What concerns most industry analysts is not only the appearance of the interface, but the underlying architecture and technology driving the interface. It is almost universally agreed that a graphical user interface (GUI) is by far the most preferred method of interaction between users and computers. TUI's (text user interfaces) are these days primarily for platforms that either do not or cannot run GUI's, or users who are wary to make the transition.

There is even further debate on the "correct" architecture / technology which should be used. The most pervasive GUI environment is Windows 3.x, by Microsoft Corporation, with over 130 million users [The Future of Windows, Mike Elgan]. This GUI implemented some pioneering technologies, not seen before on the PC. Most importantly, it made computers accessible to the ordinary user, and lifted computing from the realm of the guru.

Windows 3.x is dependent on the underlying technology : MS-DOS, running on a Intel-based (or compatible) PC. This partnering fashioned the catch-phrase WinTel : Windows, running on a Intel platform.

Windows 3.x is not a operating system on its own; rather, it can be seen as a collection of API's and a shell to run other vendor's products. Much of the functionality it provided were used by other vendors, but they were all limited to DOS' limitations - 8.3 letter filenames, 16-bit code and a basic lack of control over the hardware and software running on it.

There were some attempts to switch from a real mode-driven shell to one of virtual machines, but the simple fact that it did not multitask, but rather time-sliced, and was not multi-threaded, and incorporated most of the limitations of DOS were far too great.

Other major flaws in Windows 3.1 included :



all system DLL's were written to a virtual 4GB address space, which was writable to all other applications i.e. it was relatively easy to crash the system / other applications, by simply overwriting address space
hardware drivers were real mode, resulting in a lack of 32-bit control to video cards and other units, although VxD's (virtual mode drivers) were possible for file systems
64K stack heaps for the GDI (graphics) and USER (interactive) subsystem overflowed, resulting in out of memory errors even though the PC had plenty of RAM free

The era of Windows 3.x is over : it is old technology, which is no longer under development. Far better alternatives exist; some of them maintain compatibility with Windows applications, others don't.

The major alternatives to Microsoft Windows 3.x that are considered to be serious competitors are :



Apple's MacOS
Microsoft's Windows NT
IBM's OS/2 Warp
the X-Consortium's X-Windows

Microsoft's Windows 95 / 98 is not considered in this discussion; Windows 95 / 98 is a legacy operating system, used by most people as a intermediate step to converting to Windows NT. It offers the best of Windows 3.1 and Windows NT - a large, stable release of software titles, and the ability to multi-task (reasonably). It is the author's opinion that this Janus (the Roman god with two faces) of operating systems (if it can be called that) is simply a more refined version of DOS and Windows 3.x, with a different user interface.

Table of contents

Apple's MacOS

Apple's MacOS, and it's interface are copyrighted, since 1981. The Apple Mac interface was developed from Lisa, the precursor to the current MacOS at Xerox's PARC. Lisa introduced revolutionary ideas for that time : icons (pictures representing applications, data and programs), use of a mouse, pulldown menus and overlapping virtual "windows" [The First Decade, Apple Corporation]. Since it's appearance in 1984, Macintosh users in general are probably the most loyal of users, almost to the point of fanaticism (67% of a sample professed to love their Mac's; 11% of a sample of WinTel users loved their software/hardware combination [Survey Results, Robert Sharl Consultancy]). A recent Evans and Associates Research study on "Personal Computer Satisfaction" [ Personal Computer Satisfaction, Evans and Associates Research] taken between March - April 1996, with 150 participants, indicated that :



Macintosh is more enjoyable - 52% of Mac users said the Mac was enjoyable, while 39% said the same for Windows 95 PC's
Macintosh users rated overall satisfaction at 60%, while 41% rated equivalently for Windows 95


Apple also offer something revolutionary for a operating system not running on standard WinTel hardware : compatibility with Windows products.

Apple Mac's can :



translate between Windows versions of files and their Mac equivalents
run Windows - through either a 3rd party vendor product called SoftWindows (Insignia Corp), or via a "PC on a card" compatibility card, which is a card which fits into a Apple Mac, with a Intel microprocessor on-board. Both environments are able to access the system hardware and peripherals.

Distinct advantages that Apple's MacOS has over many other operating systems is twofold :



it is old, tried technology
MacOS is usually run on Apple hardware - simplifying the job of managing hardware and the resulting (inevitable) conflicts

Apple has shipped 27 million Mac's, all running MacOS [Why Macintosh ?, Apple Corporation]; it's estimated that in total, there are over 50 million MacOS users. Apple have a successful formula of hardware (PowerPC processors outperform equivalent Pentium processors by almost 81% [Go Figure, Apple Corporation]), software and operating systems, holding the number 1 position in middle- and high-school education [Go Figure, Apple Corporation].

The latest version of MacOS, system 7.5, offers the following features :



global clipboard with cut, copy, paste and undo
long filenames (up to 256 characters) - originally offered in 1984!
plug and play networking software - AppleTalk
fully 32 bit OS, with virtual memory
QuickTime multimedia support, as well as QuickTime VR virtual reality support
global language support
color matching software (ColorSync)
speech recognition
universal mailbox
hooks for the Macintosh Applications Environment - MAE allows Mac applications to run on UNIX (SunOS and HP-UX)
runs on PowerPC's, as well as other RISC-based Motorola 68x processors
built in script language (AppleScript)
integrated, 32-bit TCP/IP protocol suite

MacOS 7.5 and its predecessors still miss one thing the other operating systems in this discussion do : efficient multi-tasking. Like the other operating systems, MacOS is multi-threaded (as demonstrated by industrial-strength DTP applications like Photoshop and Pagemaker), but not multi-tasking. Using the Finder (the "scheduler" for MacOS), applications can be backgrounded while the current application runs in the foreground.

The background application can't be said to be active; the scheduler model under MacOS is much like Windows 3.1 in that it uses time-slicing rather than multi-tasking.

A recent advancement on MacOS is Apple's merger with NeXT; more specifically, a technology conglomeration of their two operating system products, MacOS and NeXTSTEP, called Rhapsody. Like MacOS and NeXTSTEP, Rhapsody will have :

efficient multi-threaded, preemptive multi-tasking with SMP (symmetric multi-processor) capacity
support for most major RISC platforms, namely Apple's PReP platform (Power PC Reference Platform, a standard "agreed" upon by Apple and IBM)
MacOS and NeXTSTEP (OPENSTEP, or "The Yellow Box" compatibility). OPENSTEP is a collection of API's and window programming standards, which aim to give the windowing environment a standard "look and feel", with much of the "hard" work in programming the interface a function of the operating system (and window manager), rather than the individual applications.


Apple and NeXT also plan to integrate a Java virtual machine into their operating system. Rhapsody is said to "fully integrate Java ........ with Java Libraries and a Java Virtual Machine (VM), giving Apple market-leading Java capabilities." [MacOS Rhapsody Architectural Diagram, Apple Corporation]

Apple's MacOS (and the soon to be released Rhapsody) appears to be the oldest windowing environment in this discussion, and has a long history of innovation and development. It is a solid, enjoyable environment to work in, and enjoys a faithful, dedicated following world-wide.

Table of contents



Microsoft's Windows NT

Microsoft's most impressive operating system effort yet, Windows NT is aptly named for it's predecessor (Windows) and the fact that it incorporates New Technology (NT). Re-written fully from the ground up, Windows NT is fully 32-bit, and preemptively multitasks, and includes multithreading.

Microsoft was also in a advantageous position in that it had access to much of OS/2's code, under a cross-licensing agreement which allowed Microsoft access to OS/2, and IBM access to Windows 3.x (but not Windows NT). There are strong rumours that much of the initial release of Windows NT (3.1) was made up of IBM OS/2 code, with the Windows 3.x Program Manager shell.

Windows NT can run certain Windows 3.x applications which do not attempt to access hardware directly. Windows NT (like OS/2 Warp) will only allow applications access to hardware devices through the operating system itself, thus protecting the stability and reliability of the operating systems.

Application development for Windows NT was initially slow, with much of the market ridiculing NT's high hardware requirements. NT 3.51 was widely applauded as a stable OS, but once again there were few applications for it. There is much rumour about why/how Microsoft introduced Windows 95, as opposed to leaving users with no option to go to Windows NT, but this much is clear : as a requirement for a product to be endorsed by the "Designed for Windows 95 logo", it had to run on Windows NT. This immediately gave Microsoft a large slough of applications for NT; things which run on Windows 95 should theoretically run on Windows NT (due to Windows 95's scaled-down 32-bit API library, as opposed to Windows NT's extended 32-bit API library).

The current version of Windows NT, version 4, incorporates most of NT 3.51's features, and includes :



Windows 95's shell / interface
improved networking
faster response on equivalent hardware, resulting in a lower effective hardware requirement
improved hardware design
more Internet / IntraNet features, to the extent that IIS (Internet Information Server) is included
ActiveX

Windows NT is available in a client version (NT Workstation) and a server version (NT Server), with the difference in version 4 according to Andrew Schulman [Differences Between NT Server and Workstation are Minimal, Andrew Schulman] as being simply two lines in Windows NT's registry (proprietary registry of application and system data) and their "street prices: NT 4.0 Workstation $260, Server 4.0 w/ 5 client $730, Server 4.0 w/ 10 client $1080" [Differences Between NT Server and Workstation are Minimal, Andrew Schulman]

Microsoft themselves admit that the difference is " [that] the two products share "the same kernel architecture." [Differences Between NT Server and Workstation are Minimal, Andrew Schulman]

This architectural difference is however immaterial to this discussion. Windows NT, in its present form (version 4), is gaining in popularity, and is fast replacing Windows 95 as the corporate windowing environment of choice. It's stability, moderate hardware requirements and the slew of applications available for it make it an attractive operating system, for end users and IT managers alike. Besides for the merits of the operating system, it has behind it arguably the biggest PC operating software manufacturer - Microsoft.

Table of contents





IBM's OS/2

Born out of a collaboration between Microsoft and IBM, OS/2 is IBM's second attempt at a industrial strength operating system, built with a core of IBM and Microsoft engineering.

Microsoft and IBM started working together on the OS/2 project, but Microsoft withdrew from the OS/2 project and left IBM with OS/2. Microsoft then went on to release Windows NT. The latest version of OS/2 is Warp version 4, the fifth release of OS/2. Arguably the most popular version of OS/2 was version 3, or OS/2 Warp. Version 4, otherwise known as Merlin, is OS/2's latest reincarnation.

This latest release of OS/2 Warp 4 :

is fully multithreaded, with preemptive multi-tasking
contains a improved user interface from that of the revolutionary Warp 3, incorporating IBM's SOM (System Object Model)





includes integrated Internet access, IBM's VoiceType navigation and dictation, as well as the BonusPak, a suite of applications which is included free with all versions of Warp
can run Windows 3.1, DOS and older releases of OS/2 applications, but cannot use 16-bit Windows device drivers
includex REXX, IBM's batch language used across most of their operating systems

OS/2 Warp 4 is the only other serious potential competitor to Microsoft on the WinTel platform, as far as the author is concerned. As John Dvorak points out, "OS/2 has superior characteristics and better multitasking than Windows 95" , but "The key to success is applications, and OS/2 has only a few" [Win95 vs OS/2 - Some Thoughts, John C Dvorak] OS/2 Warp's HCL (hardware compatibility list) is far smaller than Windows NT, and unarguably smaller than Windows 95 (which can use both 16- and 32-bit hardware drivers). This limits the number of hardware devices which can be used with OS/2, as opposed to Windows NT.

32-bit OS/2 applications, like Windows 3.x, see a 4GB address space. Unlike Windows 3.x, this address space is private, with the first 512MB used for OS/2 system libraries, while the address space from 512MB to 4GB is used for applications. Unlike Windows 3.x, applications cannot see each other or their code, but can communicate via cut-and-paste or OS/2 DDE.

OS/2 Warp has also overcome the 64K heap problem, due to the fact that all subsystems were re-written from the ground up to be fully 32-bit. Like Windows NT, OS/2 Warp is available in both a client version and a server version.

OS/2 Warp 4 is viable alternative to Windows NT on the PC platform. It has discovered a niche position in the banking environment, and like Apple, has a large group of faithful followers. Unlike Apple and Microsoft however, IBM is not as dynamic and innovative. This will inevitably result in OS/2 being used as a operating system being used in very specific markets, due to it's stability and customisation.

Table of contents

X Windows (X11)

X-Windows, unlike the other windowing environments in this review, is not a operating system on its own. It is instead a set of standards and protocols that define the way in which X-Windows interacts with the base operating system it is running on, and the way in which it interacts with other X-Windows clients and servers.

X-Windows is a open standard, with much of the source code available freely. It runs on a variety of platforms, primarily on various UNIX platforms, as well as Windows 95 and Windows NT. The most well known Windows 95/NT version of the product is Hummingbird Software's eXceed. For UNIX, the number of varieties is as numerous as the various flavours" of UNIX.

For the reason that Windows NT is discussed above, the author will limit this discussion to the UNIX aspects of X-Windows. Unix is (extremely) broadly categorised into BSD and System V derivatives, and further divided into free and commercial UNIX's. Commercial (and free) versions of X clients and servers are available for both BSD and System V derivatives of UNIX, and some as specific as to certain free Unix's (eg. Xi Inside Graphics' AcceleratedX for FreeBSD and Linux).

X-Windows on UNIX runs similarly to Windows 3.x and DOS; it is a "shell" to the operating system underneath. Unlike Windows 3.x however, X-Windows is able to control the hardware and software co-operatively with UNIX, and every application runs in it's own address space. The applications cannot see each other, except through a clipboard-like buffer (which was original to UNIX, and has since been used in other operating systems). The most powerful aspect of X-Windows is that of distributed applictions.

Unlike other operating systems, X-Windows allows a application to reside on one server, and be accessed locally by any other machine which can access the "server", in a way unique to X-Windows. This allows applications which make use of large amounts of RAM and disk space to reside on one machine, and another machine to simply run the application on their machine (without taking up processor, disk space or RAM - only network traffic).

The client machine only transmits "events" to the server, which then processes these events (be it mouse clicks/movements or keyboard input), and returns the relevant window changes (if necessary). A X server can also be a X client for other applications (either from other servers or from itself).

X clients do not need the full suite of X-Windows software on their machine; they simply need the relevant client software, due to the fact that all processing occurs on the server machine. This obviously loads the server, but it is invariably cheaper to upgrade one machine (the server) rather than individual client machines (which can number in the hundreds, if not thousands).

The most easily accessible implementation of X-Windows is in UCT's Computer Science department, in the senior labs. Tektronix X-Windows client machines, with 8MB of RAM and SVGA monitors are clients to Casper, a NCR 4-processor machine running AT&T UNIX, which is the X-server. In this example, if response times for the Tektronix PC's lag, ITS needs only upgrade Casper - the X-clients themselves need no upgrades. This can involve adding more processor speed, improving network connectivity to Casper or to increase the amount of RAM. Often, all three are done in cases when response times are slow.

This inter-connectivity is unarguably unsurpassed by the other operating systems under discussion. The popularity of X-Windows is not as significant as the other operating systems under discussion however. The lack of personal productivity software, as well as the inevitable UNIX learning curve make it extremely unattractive for most PC users. As of this writing, the author is aware of only one vendor in the top 10 word processor vendors who has a UNIX version : Corel WordPerfect maintains development on their WordPerfect word processor, while numerous free versions abound, with the TeX processor being used in technical environments and StarOffice for Linux. In the DTP field too few commercial applications exist - Corel once again have a version of CorelDRAW available for UNIX - it is version 3.5 though - a highly outdated version when compared to the feature-set of the new 32-bit version 7 for Windows 95/NT.

X-Windows has may faces to it. Window managers abound for it, notably AfterStep (a free NeXTSTEP-like interface), FVWM-95 (a Windows 95-like interface) and MLVWM (a Mac-like interface). There is of course always the UNIX way of doing things : the UNIX experts would tell you that it would be easier to write your own window manager, than to customise another.



X-Windows is a powerful, open standard, with much support from both commercial and non-commercial vendors. It is highly dependent on the operating system underneath, namely UNIX. X's lack of wholesale adoption by the public at large has been not due to the technology underlying the operating system, but rather due to the lack of end-user applications and the lack of ease-of-use, or intuitiveness of the UNIX underneath.

Table of contents

Conclusion

Windowing environments are the future in personal computing. Applications may differ, and the appearance of the environment (and consequently the applications on it) will no doubt change. Many windowing environments are available today, running on various hardware platforms, and utilising differing software. All windowing environments have similar goals :



uniform appearance of applications and operating system data/information
tight integration with hardware and software on the computer
ease of use for both the user (and the administrator)
relatively low learning curve to use (and administer)
powerful, subtle control over the environment in general

The different approaches with which they all attempt to achieve this is astounding. The windowing environments above (and the operating systems) differ remarkably, from the platform on which they run and their functionality, feature-set and design goal.

It is this author's opinion that although X-Windows is the most powerful, configurable, feature-rich windowing environment available today, it's lack of ease of use will define its end-user market - IS/Computer Science professionals, or other users with a high level of computer experience or knowledge. X-Windows has the advantage of being available for both RISC and non-RISC systems, running operating systems ranging from Sun's Solaris, to Windows NT to IBM OS/2.

IBM's OS/2 suffers from a lack of application support, with one of its most appealing features being its ability to run Windows applications. This powerful attribute proves to be OS/2's weak point; why emulate a operating system to run an application, when you can run the operating system ? More importantly, why develop for OS/2, when Windows applications will run on it ? OS/2, although extremely powerful, will not become a foreseeable competitor in the windowing environment.

Apple's MacOS is, in the author's opinion, the penultimate windowing environment on RISC-based PC's. It is facing a formidable competitor in Microsoft, who have already ported NT to DEC Alpha. It's partnership with Motorola and IBM (who have as yet not released OS/2 for the PowerPC, although plan to) will however allow it to dominate in the RISC market for years to come. It has a large base of applications, and a even larger base of faithful users, some more fanatical than others.

Microsoft's Windows NT is the logical successor to Windows 3.x; it is from the same vendor, it supports many of the same applications, it has the option to use the same interface, it is far more stable, and in general represents an improvement in every respect to Windows 3.x

Although this author has used all of the above operating systems, on various platforms, he will continue to use X-Windows. The feature set, configurability and ability to modify the environment by altering the source code is a alternative unparalleled. It is clear however, that NT is the clear successor to the Windows 3.x legacy.

Table of contents

Bibliography

  1. Windows 95 Base System Architecture, 43.DOC, Microsoft Corp.
  2. The First Decade, Apple Corporation, http://macos.apple.com/macos/aboutmacs.html
  3. Survey Results, Robert Sharl Consultancy, http://www.sharl.co.uk/results001.htm
  4. Personal Computer Satisfaction, Evans & Associates Research, http://www2.apple.com/whymac/satisfaction/default.html
  5. Why Macintosh ?, Apple Corporation, http://ww2.apple.com/whymac/
  6. Go Figure, Apple Corporation, http://ww2.apple.com/whymac/gofigure.pdf
  7. NeXTSTEP Introduction, NeXT Corporation, http://www.next.com/NeXTSTEP/
  8. OPENSTEP Technical documentation, NeXT Corporation, http://www.next.com/OPENSTEP/tech.html
  9. MacOS/Rhapsody Architectural Diagram, Apple Corporation, http://macos.apple.com/macos/releases/rhapsody/archiagram.html
  10. Press Releases, O'Reilley and Associates, http://www.ora.com/press/
  11. Dvorak, John C, Ziff Davis, Win95 vs OS/2 - Some Thoughts, PC Magazine, http://www8.zdnet.com/pcmag/issues/1417/pcm00051.htm
  12. Operating System Architectures, Ziff Davis, PC Magazine, http://www8.zdnet.com/pcmag/issues/1416/osarch.htm
  13. Operating System Compatibility, Ziff Davis, PC Magazine, http://www8.zdnet.com/pcmag/issues/1416/oscompat.htm
  14. Merlin vs Windows NT, IBM Corporation, http://www.software.ibm.com/os/warp/html3/merlinnt.htm
  15. Description, IBM Corporation, http://www.software.ibm.com/os/warp/html3/product.htm
  16. Warp GUI, IBM Corporation, http://www.software.ibm.com/os/warp/html3/gui.htm
  17. Advanced Features, IBM Corporation, http://www.software.ibm.com/os/warp/html3/gui2.htm
  18. NeXT Software Completes Transition from NeXTSTEP to OPENSTEP, NeXT Corporation, http://www.next.com/AboutNeXT/Presskit/PressReleases/1996/OPENSTEP/upgrade.html
  19. Bozman, Jean S, Johnston, Stuart J; NT aims for high end, Computer World, http://www.computerworld.com/search/data/cw_951016_951106/951030SL43SCALE.html
  20. Macintosh and Windows Compatibility, Apple Corporation, http://ww2.apple.com/whymac/compatibility/default.html
  21. Elgan, Mike, The Future of Windows, Windows Magazine, http://www.winmag.com/people/melgan/future.htm
  22. Schulman, Andrew, Differences Between NT Server and Workstation are Minimal, O'Reilley and Associates, http://software.ora.com/news/ms_internet_andrews.html

Table of contents



Web sites of interest

  1. http://www.linux.org
  2. http://www.freebsd.org
  3. http://www.apple.com
  4. http://www.ibm.com
  5. http://www.zdnet.com
  6. http://www.next.com
  7. http://www.gnustep.org
  8. http://www.x.org
  9. http://www.xfree86.org
  10. http://www.xinside.com
  11. http://www.redhat.com
  12. http://www.afterstep.org

Table of contents