Workplace OS was an IBM operating system project that unsuccessfully attempted to replace multiple operating systems with compatibility "personalities" running on a Mach-based microkernel. The intention was that personalities would allow a single machine to run unmodified applications from multiple operating systems such as Unix or OS/2. It was the product of a research program in 1991 that yielded a design named the "Grand Unifying Theory of Systems "(GUTS). The GUTS project evolved into Workplace OS after Apple demonstrated its Pink operating system prototype to IBM's GUTS design team, who incorporated many ideas from Pink into their own design.
Workplace OS was intended to improve software portability and maintenance costs by recruiting all operating system vendors to convert their products into Workplace OS personalities. That included Pink when it became Taligent, which was co-developed with Workplace OS. In 1995, IBM reported that "Nearly 20 corporations, universities, and research institutes worldwide have licensed the microkernel, laying the foundation for a completely open microkernel standard." Workplace OS was at the core of IBM's new strategic direction for the entire company, and was intended as the primary operating system for PowerPC hardware, to allow IBM to effectively compete with the Wintel duopoly.
With protracted development spanning four years and $2 billion (or 0.6% of IBM's revenue for that period), the project suffered development hell characterized by workplace politics, feature creep, and the second-system effect. Many idealistic key assumptions made by IBM architects about software complexity and system performance were never tested until far too late in development, then immediately proven infeasible. In January 1996, the first and only preview of Workplace OS was released under the OS/2 family with the name "OS/2 Warp Connect (PowerPC Edition)". It was limited to special order by select IBM customers, and had limited functionality compared with the original OS/2 for x86. The entire Workplace OS platform was discontinued in March due to very low market demand, including that for enterprise PowerPC hardware.
A University of California case study described Workplace OS as both "one of the most significant operating systems software investments of all time" and "one of the largest operating system failures in modern times".
Overview Objective By 1990, IBM acknowledged the software industry to be in a state of perpetual crisis. This was due to the chaos from the inordinate complexity of software engineering inherited by its legacy of procedural programming practices since the 1960s. Large software projects were too difficult, fragile, expensive, and time-consuming to create and maintain; they required too many programmers, who were too busy with fixing bugs and adding incremental features to create new applications. Different operating systems were alien to each other, each of them running their own proprietary applications. IBM envisioned "life after maximum entropy" through "operating systems unification at last" and wanted to lay a new worldview for the future of computing.
IBM sought a new world view of a unified foundation for computing, based upon the efficient reuse of common work. It wanted to break the traditional monolithic software development cycle of producing alphas, then betas, then testing, and repeating over the entire operating system — instead, compartmentalizing the development and quality assurance of individual unit objects. This new theory of unifying existing legacy software and the new way of building all new software, was nicknamed the Grand Unified Theory of Systems or GUTS.
Coincidentally, Apple already had a two-year-old secret prototype of its microkernel-based object-oriented operating system with application frameworks, named Pink. The theory of GUTS was expanded by Pink, yielding Workplace OS.
Architecture IBM described its new microkernel architecture as scalable, modular, portable, client/server distributed, and open and fully licensable both in binary and source code forms. This microkernel-based unified architecture was intended to allow all software to become scalable both upward into supercomputing space and downward into mobile and embedded space.
Leveraged upon a single microkernel, IBM wanted to achieve its grand goal of unification by simplifying complex development models into reusable objects and frameworks, and all while retaining complete backward compatibility with legacy and heritage systems. Multiple-library support would allow developers to progressively migrate select source code objects to 64-bit mode, with side-by-side selectable 32-bit and 64-bit modes. IBM's book on Workplace OS says, "Maybe we can get to a 64-bit operating system in our lifetime." IBM intended shareable objects to eventually reduce the footprint of each personality, scaling them down to a handheld computing profile.
At the base of Workplace OS is a fork of the Mach 3.0 microkernel (release mk68) originally developed by Carnegie Mellon University and heavily modified by the Open Software Foundation's Research Institute. Officially named "IBM Microkernel", it provides five core features: IPC, virtual memory support, processes and threads, host and processor sets, and I/O and interrupt support.
On top of the IBM Microkernel is a layer of shared services (originally called Personality Neutral Services or PNS) to cater to some or all of the personalities above them. Shared services are endian-neutral, have no user interface, and can serve other shared services. Byte summarizes that shared services "can include not only low-level file system and device-driver services but also higher-level networking and even database services. [Workplace OS's lead architect Paul Giangarra] believes that locating such application-oriented services close to the microkernel will improve their efficiency by reducing the number of function calls and enabling the service to integrate its own device drivers." This layer contains the file systems, the scheduler, network services, and security services. IBM first attempted a device driver model completely based in userspace to maximize its dynamic configuration, but later found the need to blend it between userspace and kernelspace, while keeping as much as possible in userspace. The Adaptive Driver Architecture (ADD) was designed for the creation of layered device drivers, which are easily portable to other hardware and operating system platforms beyond Workplace OS, and which consist of about 5000-8000 lines of device-specific code each. Some shared services are common only to select personalities, such as MMPM serving multimedia only to Windows 3.1 and OS/2 personalities, and which are alien or redundant to other markets.
Atop the shared services, another layer of userspace servers called personalities provide DOS, Windows, OS/2 (Workplace OS/2), and UNIX (WPIX) environments. The further hope was to support OS/400, AIX, Taligent OS, and MacOS personalities. Personalities provide environment subsystems to applications. Any one personality can be made dominant for a given version of the OS, providing the desktop user with a single GUI environment to accommodate the secondary personalities. In 1993, IBM intended one release version to be based upon the OS/2 Workplace Shell and another to be based upon the UNIX Common Desktop Environment (CDE).
IBM explained the branding: "Workplace OS is the codename for a collection of operating system components including, among others, the IBM Microkernel and the OS/2 personality. Workplace OS/2 is the specific codename for the OS/2 personality. Workplace OS/2 will operate with the IBM Microkernel and can be considered OS/2 for the PowerPC." For the 1995 final preview release, IBM continued, "When we stopped using the name 'Workplace' and started calling the product 'OS/2 for the PowerPC', you might have thought that the 'Workplace' was dead. But the 'Workplace' is far from dead. It has simply been renamed for prime time." Workplace OS/2 was intended to define the future of OS/2, as a 32-bit clean platform and free of internal legacy, with perfect compatibility for source code of OS/2 applications and drivers. IBM originally wanted to prove new development models on Workplace OS/2 and backport them into OS/2 2.1 for x86 until the two platforms were unifiedespecially the IBM Microkernel, a new graphics subsystem, fully 32-bit system code with a flat memory model, Taligent, and OpenDoc.
IBM intended for Workplace OS to run on several processor architectures, including PowerPC, ARM, and x86, which would range in size from handheld PDAs to workstations to large 64-bit servers and supercomputers. IBM saw the easy portability of the Workplace OS as creating a simple migration path to move its existing x86 (DOS and OS/2) customer base onto a new wave of standard reference PowerPC-based systems, such as the PC Power Series and the Power Macintosh. Creating a unique but open and industry-standard reference platform of open-source microkernel, IBM hedged its company-wide operating system strategy by aggressively attempting to recruit other operating system vendors to adopt its microkernel as a basis for their proprietary operating systems.
History Development GUTS In January 1991, there was an internal presentation to the IBM Management Committee of a new strategy for operating system products. This included a chart called the Grand Unification Theory of Operating Systems (GUTS), which outlined how a single microkernel underlying common subsystems could provide a single unifying architecture for the world's many existing and future operating systems. It was initially based in a procedural programming model, not object-oriented. The design elements of this plan had already been implemented on IBM's RS/6000 platform via the System Object Model (SOM), a model that had already been delivered as integral to the OS/2 operating system.
Sometime later in 1991, as a result of the Apple/IBM business partnership, a small exploratory IBM team first visited the Taligent team, who demonstrated a relatively mature prototype operating system and programming model based entirely on Apple's Pink project from 1987. There, GUTS's goals were greatly impacted and expanded by exposure to these similar goals—especially advanced in the areas of aggressive object-orientation, and of software frameworks upon a microkernel. IBM's optimistic team saw the Pink platform as being the current state of the art of operating system architecture. IBM wanted to adopt Pink's more object-oriented programming model and framework-based system design, and add compatibility with legacy procedural programming along with the major concept of multiple personalities of operating systems, to create the ultimate possible GUTS model.
Through the historic AIM alliance, Apple's CEO John Sculley said that the already volume-shipping OS/2 and MacOS would become unified upon the common PowerPC hardware platform to "bring a renaissance to the industry".