Click on our Sponsors to help Support SunWorld
Connectivity by Rawn Shah

The world in a (single!) box

Operating environment software emulation brings PC and Mac operability to your Unix-based desktop

January  1996
[Next story]
[Table of Contents]
Subscribe to SunWorld, it's free!

This month we head back to the Unix workstation to peer through a different looking glass: the world of PC emulators. These products let you use commonplace PC applications on a variety of Unix workstations. And unlike their predecessors, this crop of emulators delivers performance that doesn't always leave you longing for a true PC. (2,400 words)

Mail this
article to
a friend

No, this is not another in the CompuServe/SPRY Internet-in-a-Box series full of networking acronyms and nitty-gritty technical terms; this month we consider the viability of hosting multiple operating environments on your Unix workstation or X terminal. We look at three popular software emulators: Wabi from SunSoft, the Macintosh Application Environment (MAE) from Apple Computer, and SoftWindows from Insignia Solutions. We also consider add-in boards such as the SunPC board that provide not only software but hardware emulation of these foreign operating systems.

Freedom of choice
Most workstation users do not have the luxury of personal productivity software on their Unix desktop (many desired apps simply aren't available for Unix machines) and usually turn to a separate personal computer for common PC applications like word processors and spreadsheets. Even if a similar Unix application is available, it may lack a key feature or function, be less familiar, or have an unreasonable price tag. (As some cost-conscious administrators say, why should workstation users have to create and format their documents in a $5,000 Unix version of a software package when they can get a software emulator for $500 and the same document processing system for the Windows environment for $500-$800?)

Workstation users often don't have access to PCs. The rare sites that do provide two computers for their users suffer from the corresponding high cost of maintaining two distinct sets of desktop hardware and software on their networks. Furthermore, dual-desktop setups create cramped workspaces and have users moving from one machine to another, depending on the task at hand.

PC emulation products offer an alternative to the dual-desktop environment. They let Unix workstations run off-the-shelf Microsoft Windows and Macintosh System 7 software, and thus promise lower costs and more convenience by putting both environments in a single computer.

Better than ever
If you've explored software emulation in the past, you know that early attempts often fell short in performance and did not support a great deal of software. As time and technology progressed, so did software emulation. Running on current RISC hardware, today's software emulators have enough zip to mimic the performance of high-end personal computers. For example, MAE 2.0 running on a SPARCstation 20 outperforms the Macintosh Quadra series and holds its own against midrange PowerPCs.

Power aside, the software now also offers a greater level of internal functionality. The latest versions of MAE and Wabi, for example, provide AppleTalk and Winsock emulation, respectively, allowing applications on the virtual PC to communicate across the network just like a real Mac or PC.

Let's take a closer look at three of these software solutions.


SunSoft Wabi
When it first unveiled Wabi, Sun pitched it as a serious competitor to Microsoft's flagship product, Windows 3.1. The power of RISC-based workstations and compatibility with Windows-based software applications could have made Wabi a dreaded Windows-killer, or so Sun thought. Unfortunately, only a handful of apps were guaranteed to work in the Wabi environment, which no doubt hurt the product's potential market.

Today, Wabi is a versatile product that works well with a lot of popular Windows software packages and can be installed directly from DOS-based diskettes or even CD-ROMs. The latest version supports more software than the first release and has ironed out some bugs.

After installing Wabi in the Solaris environment (it comes preinstalled in Solaris 2.4 and higher), users must install and configure MS-Windows. This involves mostly feeding Windows disks and following the Windows and Wabi installation instructions. Note that Wabi 2.0 does not yet support Windows for Workgroups 3.11a (the 'a' version adds TCP/IP to Workgroups) but does support standard versions 3.1 and 3.11. Without the TCP/IP support we could not install third-party network applications. Installation from floppies on a SPARCstation 20 is significantly faster than on a PC, comparable to a CD-ROM installation on a PC; this is most probably due to the SS20's high-speed processor SCSI-II drive system.

With the Windows environment set up, we promptly installed popular applications like Microsoft Word and Excel to test compatibility. These apps installed without a hitch, and we encountered no trouble when performing some detailed word-processing and spreadsheet calculations. Interestingly, Wabi relies on the Unix print system to locate available printers. Although we could not see our network printer from the Wabi session directly, we could still mount the printer through the Unix lpr facility; Wabi even recognized our HP LaserJet 4MV Postscript printer.

Next we tried running several Wabi sessions simultaneously. Each of our three users started a Wabi session and had it displayed to a separate Unix workstation. Users did not notice any slowdown in speed of the applications; the SS20 itself churned along happily. SunSoft does not suggest that you run multiple Wabi sessions in this manner, however. They recommend instead that you purchase a separate product known as SunSoft WabiServer. With WabiServer, instead of multiple complete copies of Windows installed, the users share a common set of system files supplemented by personal profiles created for individual needs.

As a final test to push Wabi's limits, I attempted to start a Wabi session from inside my Windows 95 system through an X-windows server package. It actually worked, although I had a little trouble getting the two systems to agree on the color palette.

Wabi is an equitable solution for Windows emulation performance on workstations. In earlier competitions, Wabi has shown to meet or beat the speeds of Pentium-based systems when run on Sparc 5 class machines. The application base needs to grow, however; Wabi users are now limited to 24 popular business-oriented Windows software titles -- a meager sum compared to the vast number of applications available for true PCs. Although a number of other applications do unofficially work with Wabi (see The Wabi Library Web page for the latest list), they have not passed with a complete seal of approval. SunSoft is currently working to add more to its "certified" list.

Apple Macintosh Application Environment (MAE) 2.0
MAE 2.0 is Apple's System 7 emulation product for Solaris 2.3 and higher and HP-UX 9.x systems. This product provides a complete emulation of MacOS 7.1 and adds several networking and drawing extensions such as full AppleTalk phase II, MacTCP 2.x, and QuickDraw II functionality. It performs significantly better than earlier versions, according to Apple.

We installed MAE from CD-ROM into our Solaris 2.4 system as a new package. The procedure itself was automatic except for some licensing details. Once installed, we needed to reboot the system so that it would recognize the system-level AppleTalk device drivers and recognize DDP EtherTalk packets. With a quick reboot, we were set. The license can be bound to the X Window display or to a user account. On the local system, all elements including the sound device were recognized. Displays to remote X servers simply disabled the sound system, but were otherwise identical.

The default system is very familiar to the Macintosh user; even the boot process is identical. The exception to the display is a secondary toolbar at the base of the screen showing MacOS-to-X11 clipboard commands and Unix system functions such as mounting disks. In the Solaris environment, you need to run the Volume Manager software to allow floppy or CD-ROM drives to be mounted onto the virtual Macintosh. Once mounted on the Unix system, drives are recognized by the Macintosh emulator and appear as desktop icons as usual.

The basic MAE 2.0 environment is a bare-bones Macintosh system with only a few added applications such as SimpleText, HyperCard, and a QuickTime movie player. Several shareware applications, such as Fetch (an FTP client) and NCSA Telnet, allow TCP/IP connectivity . These gave us the basic ability to download and install other packages. In addition, we could see our AppleTalk server and network printer using the Chooser, and thus could run programs off the network and print to a common network output device.

Unfortunately, I did notice several problems with MAE. The default configuration assumes a small computer with only 8MB of RAM. You can increase this by extending the virtual swap space in the Memory control panel. Some of our applications behaved strangely, almost as if they were being interrupted in the process of execution. Our tests with the Netscape Navigator browser gave constant pain; the browser would quit every now and then and, in other cases, simply fail to resolve any hostnames at all. (Of course, since Navigator is in beta, the problems may have more to do with the application than MAE.) Also, Fetch would sometimes close the network socket connection without warning. Both of these problems point to possible flaws in the MacTCP implementation. Application-wise, Microsoft Word and Excel performed well.

As a test of non-standard Macintosh code, we attempted to install a freeware game that works perfectly on regular Macintosh computers. In MAE it simply locked up and reversed all colors on the screen. The QuickTime Player, on the other hand, had no trouble showing movies. We even installed a QuickTime VR player to see how the latest Macintosh software fared in this environment; we were happy with the result.

In a non-deterministic test, we found that MAE displayed almost as fast as our Windows version of the player. Note that the movie was displayed over the network to the PC, through the emulated QuickDraw system and through the PC X server.

This product is probably the best Macintosh emulator available. The 2.0 version brings MAE in sync with current Macs. This product will help those who need the power of a Macintosh only part of the time. Unless you use software that works directly with hardware components on a Macintosh (e.g., a PPP Datalink driver), this is the perfect software substitute for occasional users. Also, if you already have a large base of Unix users and need to deploy Macintosh applications to a number of these users, MAE is better than setting up a separate Macintosh for each user.

Insignia Solutions SoftWindows
Insignia Solutions is one of the first DOS/Windows PC emulator developers to arrive in the market. The older versions of SoftWindows provided DOS and standard-mode Windows emulation capabilities in separate packages and was available for Unix and Macintosh systems. SoftWindows 2.0 now provides 80486-level emulation for both DOS and enhanced-mode Windows in one package. In fact, the 486 system emulation is so good, you can even run Windows 95 on it, albeit not as well as you might like. Insignia has licensed the source code for Windows 95, and plans to release newer versions of SoftWindows in the first half of 1996 that will enhance Windows 95 performance.

The difference between SoftWindows and Wabi is the level of emulation. Wabi is an API that converts standard Windows function calls to X-Window and Unix system functions. Although you do need to install Windows to use Wabi, the package supports only versions 3.1 and 3.11 of Windows. SoftWindows, in contrast, emulates a full processor and PC system and replicates all hardware-level functions as well. Users install and run Windows on top of this system; SoftWindows can actually run any type of DOS-based application (Windows 3.1 is actually a DOS-based application), or a program that has been compiled for the 486 platform. This means you can install Windows 95 and, in theory, other PC operating systems like IBM's OS/2 Warp.

Once completely installed with the Windows version of your choice, SoftWindows lets you bring up the Windows desktop on any X-Window-capable display. SoftWindows also includes a version of Flex-LM license manager software to regulate the use of application software in the environment.

Another SoftWindows advantage over Wabi is its SoftNode unit, which provides datalink driver emulation through the Novell Open Datalink Interface (ODI). This, together with a "shim" or driver emulation interface to Microsoft's Network Device Interface Specification (NDIS, a competing datalink driver standard), covers about 95 percent of all networking applications for Windows. In addition, a Winsock.DLL lets users run applications like Netscape Navigator, Telnet, and FTP over the TCP/IP protocol. In short, the level of networking in SoftWindows is what you would expect of any physical PC system supporting popular PC network operating systems such as Novell NetWare, LAN Manager, Banyan Vines, and so on.

Unlike Wabi, SoftWindows achieves complete emulation of the PC including hardware emulation. If you find that you need to use DOS products or a Windows product that is not certified to work with Wabi, choose SoftWindows. The emulation makes performance a little slower, but greatly increases the compatibility.

Software versus hardware
Software emulation of computer systems is not new. With the growth in processing power of workstations as well as emulation technology, virtual PCs are coming to the point of practicality. What we now have instead are powerful Unix servers that provide the necessary applications to workstations as needed. Software emulation is of course no absolute substitute for the real thing. It is best used in an environment where the need for a PC is not critical but occasional.

All packages mentioned above use soley software emulation technology. Although this technology has improved over the last few years, to the point where you can have sufficiently powerful virtual PCs inside your Unix desktop, the best (and most expensive) solution relies on a hardware/software combination.

There are several hardware and software emulation combinations that provide remote display of a desktop onto a Unix workstation. Tektronix provides a package known as WinDD (pronounced "win-dy") that is a modification of the NT server operating system; it uses a special client program in Tektronix terminals and some Unix flavors to display a desktop on the X display. Insignia Solutions has released a similar package known as NTrigue that does not require any special client programs, only the ability to use the Unix rshell or rexec command to start a session.

One advantage of this system is that PC hardware can be scaled inexpensively in comparison to Unix hardware. When the virtual PC user demands more processing power, it is typically cheaper to purchase the newest Pentium-based system than to upgrade the Unix system hardware.

`What everybody is using' at Sun
Sun also offers a software-hardware combination called SunPC. The software will function as a standalone product, but it emulates only an ancient 80286 processor. Combined with the latest SunPC SBus card that features a DX2 66MHz processor, however, the $850 hardware/software package aptly handles most of today's PC applications. In fact, a SunExpress sales rep says that internally at Sun, SunPC -- not Wabi -- is what everybody uses. Solaris 2 users get the benefits of SunPC 4.1 software, which supports ODI and the Unix Common Desktop Environment (CDE), and Solaris 1 users get NetWare client support with SunPC 3.1.

Although we didn't get a chance to evaluate the product for this article, one of the SunWorld Online editors who recently used SunPC says it offers more compatibilty than Wabi. It doesn't run many PC games (sadly, no Doom) but does run other DOS and Windows apps of the low-graphics intensity stripe.

In the end
Software emulation technology certainly is here to stay. Heck, consider the Macintosh PowerPC-based system; Apple ships it with a 68000 emulator to support the current base of software as they wait for new products specifically for the PowerPC to emerge. Apple plans to continue this until native PowerPC software outnumbers 68000-based Macintosh software. In the Unix world, software emulation is the consolation for dedicated Unix users who must also have their PC applications. The current incarnations of Wabi and SoftWindows offer a great deal to the PC users and support quite a number of popular products; the same goes for MAE. In the coming months, expect progress in Windows 95 emulation as well.

Click on our Sponsors to help Support SunWorld