Solaris 2.1 for x86, also known as SunOS 5.1, was Sun’s first entry into the PC market (technically it was SunSoft, a subsidiary of Sun Microsystems, who released Solaris). However, it wasn’t Sun’s first x86 operating system. In the late 1980s, Sun sold 386i workstations based on Intel 386 processors. The 386i workstations were not PC compatible and ran SunOS 4.0, a BSD UNIX derivative with many custom Sun enhancements.

In Summer of 1993, SunSoft released Solaris 2.1 for x86. At that time, Sun was not selling any x86-based systems and Solaris 2.1 targeted standard (if such a term is not a complete oxymoron) PC hardware. With a small caveat that Solaris needed a bit more than a typical PC of the era, ideally a fast 486 with 16MB RAM.

The Solaris operating system was the result of Sun’s cooperation with AT&T on the development of System V, Release 4 (SVR4). It implemented both BSD and System V programming interfaces, and on x86 there were also provisions for compatibility with XENIX applications (although it is unclear how workable to compatibility layer was).

Solaris 2.1 for x86 was distributed on CD-ROMs, not on tapes like most other UNIXes of that era. It came with a boot floppy, since bootable CD-ROMs were not yet standardized. Solaris could be also installed over the network, again with the aid of a boot floppy. Purely floppy based installation was not an option. Only SCSI CD-ROM controllers were supported because the ATAPI standard did not exist yet; however, Solaris could be installed onto standard ATA disks.

Solaris Kernel

Solaris 2.1 was a very modern UNIX system designed for both workstation and server use. Unlike traditional UNIXes, the Solaris kernel did not need to be recompiled to accommodate hardware changes; instead, loadable modules were used. At that time, only Windows NT had similar support for dynamic kernel module loading, although Solaris 2.1 for x86 was in fact released before Windows NT 3.1 (approximately May vs. July 1993).

Solaris was also moving towards multi-threading (standard on OS/2, but not most UNIX systems at the time) and SMP. The interfaces existed in the system, but were not yet fully supported.

Naturally Solaris came with a full TCP/IP stack and NFS support. The OS was heavily geared towards networked and diskless systems. On the x86 platform, fully diskless systems were problematic, but Solaris could in theory work as a diskless system on a generic PC, using a special boot floppy.

The diagnostic features in Solaris were excellent. Every version came with kadb, the Solaris kernel debugger; kadb stood for kernel adb, and adb stood for Advanced Debugger, a venerable BSD interactive debugger.

Solaris Desktop

Since Solaris was designed as a workstation operating system (typically running on Sun’s own SPARC-based workstations), it came with an advanced graphical user interface and the typical user didn’t need to spend much time outside the graphical desktop.

The Solaris 2.1 graphical environment was based on OpenWindows 3.1. The GUI was a hybrid of X11 and Sun’s older NeWS (Network extensible Window System).

This wasn’t always a happy marriage. At the time, X11 was the standard display protocol for UNIX workstations. To support NeWS, SunSoft needed a custom display server (Xnews) significantly different from the standard MIT X11 implementation, but that was a source of incompatibilities with other X11-based systems.

NeWS was Sun’s window system developed in the late 1980s and based on PostScript (not Display PostScript). The primary authors of NeWS were James Gosling (of Java fame) and David H.S. Rosenthal. NeWS was a very advanced windowing system, in many ways ahead of its time. Probably too far ahead, which caused it to be somewhat slow.

Unfortunately for Sun, NeWS never really caught on. By the time Solaris 2.1 for x86 was released, NeWS was already on the way out, being replaced by X11. NeWS in Solaris 2.1 was rather slow, reportedly in part due to the merged X11/NeWS window server (Xnews).

There was naturally excellent PostScript support in OpenWindows. SunSoft delivered much of the Solaris documentation in electronic form as a so-called AnswerBook. AnswerBooks were in many ways similar to PDFs, combining PostScript with hypertext. AnswerBooks could be easily converted to PostScript and sent to a PostScript-capable printer, or they could be viewed on-line.

OpenWindows also included multimedia support. Solaris 2.1 came with an audio playback and recording tool and a few sample audio files. Since Solaris was delivered on a CD, there was enough room for demonstration applications and data files (images and audio).

SunSoft’s windowing system also implemented ToolTalk, a system for inter-application communication (either locally or over a network).

The x86 version of Solaris 2.1 supported only 256-color graphics modes and effectively only 1024×768 resolution. For most graphics cards, the display server was entirely unaccelerated, which hurt performance. Only for 8514/A style adapters (including the S3 805 chip) there was accelerated drawing support.

Impact

Solaris 2.1 for x86 did not have a significant impact on the industry, but it was a sign of things to come. While the x86 version of Solaris 2.1 was developed separately from the SPARC version, by the time Solaris 2.4 was released, the SPARC and x86 code bases were merged. With a few exceptions, the x86 Solaris versions then tracked the SPARC releases.

In 1993, Solaris 2.x was not yet fully stabilized, and Solaris 2.1 was a bit too much for the typical PC—not unlike Windows NT 3.1. That said, the real (and successful) competitor of Solaris on the x86 platform was ultimately Linux, not Windows.