According to Steve Bourne, now director of ONC+ Open Network Computing and network technologies at the Sun Microsystems Inc company, the process change that SunSoft Inc undertook in the development of Solaris 2.X for Sparc and iAPX-86 has been one of the company’s most important achievements to date. Unlike previous operating system releases, which are often handcrafted patchworks of technology, Solaris is an assembly of working, tested and quality-checked components, Bourne declares, and the thing undergoes some 40,000 tests.
Modern design
The transformation of SunSoft’s operating system development effort into a modern design and production process is not typical of the software industry, but it represents a new model for the software business that will come to predominate, he believes. Investment in the process change was a major component of the overall Solaris development budget. SunSoft claims to have learned the process from Sun’s hardware manufacturing experience, the model for which is at least 10 years ahead of software, argues Bourne. That time lag is a feature that bedevils the software industry and led to the absurdity that the first generation 32-bit chip, the 80386, had been superseded and obsoleted by the 80486 before there was a 32-bit desktop operating system available for the processor. Bourne, creator of the original Unix Bourne shell command interpreter, believes that the fact that development of Unix operating systems is generally done in a handcrafted manner is not a function of the inherent diversity of Unix itself, but is a long-term software engineering problem. Solaris release schedules are another victim of SunSoft’s process change, although according to Bourne, one further revision is required to achieve simultaneous, worldwide Solaris releases on Sparc and Intel Corp iAPX-86 systems (and presumably the IBM Corp-Motorola Inc PowerPC in future too). Bourne says the company will reach its goal with Solaris 2.3, due late this year, or with 2.4, expected mid-1994. In the past, a long list of features promised for each new release inevitably meant that release dates slipped (Solaris x86 is a case in point?), and that won’t happen any more, Bourne claims.
By William Fellows
Now that SunSoft has committed to new Solaris releases every six months, the features requirement list for each release closes some six months before the final code specification and the release date are fixed. And whatever is ready by that day will be released. Ship rather than slip, is the way Bourne describes it. SunSoft has enhanced Solaris 2.0 to release 2.2 for Sparc (although it is not officially calling it that), and that should be up on all new systems from May. Some of these enhancements are also expected to feature in Solaris x86 for Intel iAPX-86 machines – the feature-for-feature implementation of Solaris 2.0 unveiled a couple of weeks ago – by the time that ships in May. Solaris 2.2 includes a re-write of the kernel using threads to implement enhanced multiprocessing functionality and to solve concurrency problems. Bourne says that SunSoft invested in multi-threading instead of things like security because distributed applications need multi-threading in the base system and Sun sees distributed applications and systems as the way of the future. The multi-threading project was led by Bourne, and SunSoft claims a 60% performance boost over previous Solaris versions as measured on an eight-way Dragon system. Bourne says that the rewrite has now achieved linear performance increases across multiple processors running a database. Independent software vendors can use Solaris’s C library to develop multi-threaded applications from now, although Solaris 2.3 will contain all system layers, says Bourne. Akin to the way Solaris x86 includes a device driver interface, Solaris 2.3 will also feature a Kernel Binary Interface, which will take care of hardware-dependent functions such as cache management, interrupts, temporary states and floating point processing.
Manhattan
All of which makes it sound as if SunSoft is p
ositioning Solaris to be a completely hardware-independent environment. An Intel version of multi-threading is currently being test on an AST Research Inc Manhattan multiprocessor and is due in 90 days. Solaris Release 2.4 will come with graphics features such as PEX and Phigs. On objects, Bourne says the DOMF – Distributed Object Management Facility – or system call layer, will be the kernel of SunSoft’s object stuff. Application services will reside on top, and that’s what the majority of software developers will wait for. Although object technology is a major technical change to the system, Bourne says that SunSoft’s approach is very different from other efforts such as the IBM-Apple Computer Inc Taligent venture or Microsoft Corp’s Cairo because they are looking to reusability and faster time to market for applications as an end result. SunSoft on the other hand has object technology at the core of its distributed vision and its masterplan. Distributed applications will need to include distributed object functionality built in and ready to use. That has to be designed in and that’s difficult, says Bourne, who claims it will ultimately be the key to SunSoft’s success.