Workplace OS was IBM's proposed ultimate operating system of the 1990s. It is the product of an exploratory research program in 1991 which yielded a design called the Grand Unifying Theory of Systems (GUTS), with a desire to unify the world's systems as personalities cohabitating concurrently upon a single universal microkernel. In collaboration with Taligent and its Pink system, a project started by Apple Inc., the ambitious Workplace OS was intended to improve software portability and maintenance costs by aggressively recruiting all operating system vendors to convert to Workplace OS personalities. At the core of IBM's new unified strategic direction for the entire company, the project was intended also as a bellwether toward PowerPC hardware platforms, to compete with the Wintel duopoly.
|Written in||C, C++|
|Source model||Closed source, Mach open source|
|Released to |
|December 15, 1995|
|Final preview||OS/2 Warp Connect (PowerPC Edition) 1.0 / January 5, 1996|
|Default user interface||Workplace Shell|
|Preceded by||OS/2, AIX|
|Succeeded by||OS/2, AIX|
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 empire building, feature creep, and the second-system effect. In January 1996, the first commercial preview was launched with the name "OS/2 Warp Connect (PowerPC Edition)" by limited special order by select IBM customers. The entire operating system was soon discontinued in 1996 due to very low market demand, including that of enterprise PowerPC hardware.
A University of California case study described the Workplace OS project as "one of the most significant operating systems software investments of all time" and "one of the largest operating system failures in modern times".:22
IBM acknowledged the software industry to be in a state of perpetual crisis. This was due to the inordinate complexity of software engineering brought on by its legacy of origins in procedural programming practices. Large software projects were too difficult, fragile, 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. The company wanted to lay a new unified foundation for the future of computing.
IBM sought a migration path toward a new world view of 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.:19
This required a new way to build all software, nicknamed the Grand Unified Theory of Systems (GUTS). This theory would merge with Apple's existing efforts to build microkernel-based object-oriented frameworks.:20
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.:376-377 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.:18-19
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.:3 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.":19 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",:14-15:119 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:3) to cater to all personalities above them. Shared services are endian-neutral,:24 have no user interface, and can serve other shared services.:379 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.:176 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,:174 and which consist of about 5000-8000 lines of device-specific code each.:378
Atop the shared services, the operating system personalities run in the form of userspace servers that execute DOS, OS/2, and UNIX—with further intentions to support Microsoft Windows, 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 planned 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 had planned for Workplace OS to run on several processor architectures, including PowerPC, ARM, and x86 computers,:22 and ranging in size from PDAs to workstations to large 64-bit servers. IBM saw the easy portability of the Mach-based Workplace OS as creating a simple migration path to move its existing x86 (DOS and OS/2) customer base onto PowerPC-based systems. IBM hedged its operating system strategy by aggressively attempting to recruit other computer companies to adopt its microkernel as a basis for their own operating systems.
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.:2-3 The design elements of this plan had already been implemented on IBM's RS/6000 platform via the System Object Model (SOM), a model which 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:3 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.:4
Through the historic Apple/IBM partnership, 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".
In late 1991, a small team from Boca Raton and Austin began implementing the GUTS project, with the goal of proving the GUTS concept, by first converting the monolithic OS/2 2.1 system to the Mach microkernel, and yielding a demo. To gain shared access to key personnel currently working on the existing OS/2, they disguised the project as the Joint Design Task Force and brought "a significant number" of personnel from Boca, Austin (with LANs and performance), Raleigh (with SNA and other transport services), IBM Research (with operating systems and performance), and Rochester (with the 64-bit, object-oriented worldview from AS/400). Pleased with the robust, long-term mentality of the microkernel technology and with the progress of the project, the team produced a prototype in mid 1992.:4 The initial internal-development prototypes ran on x86-based hardware and provided a BSD Unix derived personality and a DOS personality.
Demos and business reorganization
At Comdex in late 1992, the team flew in and assembled a private demonstration based on last-minute downloads to replace corrupted files and one hour of sleep. The presentation was so well received that the prototype was put on the trade show floor on Thursday, as the first public demonstration of the IBM Microkernel-based system running OS/2, DOS, 16-bit Windows, and UNIX applications.:4-5 In 1992, Taligent began to convert the Taligent OS from its internally developed microkernel named Opus, onto the IBM Microkernel.:xiii Ostensibly, this would have allowed Taligent's operating system (implemented as a Workplace OS personality) to execute side-by-side with DOS and OS/2 operating system personalities.:14-15
In 1993, InfoWorld reported that Jim Cannavino "has gone around the company and developer support for a plan to merge all of the company's computing platforms—ES/9000, AS/400, RS/6000, and PS/2—around a single set of technologies, namely the PowerPC microprocessor, the Workplace OS operating system, and the Taligent object model, along with a series of open standards for cross-platform development, network interoperability, etc.":5 On June 30, 1993, a presentation was given at the Boca Programming Center by Larry Loucks, IBM Fellow and VP of Software Architecture of the Personal Software Products (PSP) Division.:17
By January 1994, the IBM Power Personal Systems Division had still not yet begun testing its PowerPC hardware with any of its three intended launch operating systems: definitely AIX and Windows NT, and hopefully also Workplace OS. Software demonstrations showed limited personality support, with the dominant one being the OS/2 Workplace Shell desktop, and the DOS and UNIX personalities achieving only fullscreen text mode support with crude hotkey switching between the environments. Byte reported that the multiple personality support promised in Workplace OS's conceptual ambitions was more straightforward, foundational, and robust than that of the already-shipping Windows NT. The magazine said "IBM is pursuing multiple personalities, while Microsoft appears to be discarding them" while conceding that "it's easier to create a robust plan than a working operating system with robust implementations of multiple personalities".
In 1994, the industry was shifting away from monolithic development and even application suites, toward object-oriented, component-based, crossplatform, application frameworks. Workplace OS was becoming notable for its many and repeated delays, with no product launch. In April 1994, Byte reported that under lead architect Paul Giangarra, IBM had staffed more than "400 people working to bring [Workplace OS] up on Power Personal hardware".
In May 1994, the RISC Systems software division publicly announced the company's first attempt to even study the feasibility of converting AIX into a Workplace OS personality. One IBM Research Fellow led a team of fewer than ten, to address the chief identified problem, that the fundamental byte ordering was incompatible between the big-endian AIX and the little-endian Workplace OS. After seven months of silence on it, and after years of having advertised it since the project's founding, IBM announced in January 1995 that the intractable problem had resulted in the total abandonment of the flagship plan for an AIX personality.:19
In late 1994, as the Workplace OS approached its first beta version, IBM referred to the beta product as "OS/2 for the PowerPC".:1 IBM would later explain, "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.":1,375 As the project's first deliverable product, this first beta was released to select developers on the Power Series 440 in December 1994. There was a second beta release in 1995. By 1995, IBM had shipped two different releases of an application sampler CD, for use with the beta OS releases.
In October 1995, IBM announced the upcoming first commercial release of Workplace OS, though still a developer preview. The announcement predicted it to have version 1.0 of the IBM Microkernel with the OS/2 personality and a new UNIX personality, on PowerPC. Having been part of the earliest demonstrations, the UNIX personality was now intended to be offered to customers as a holdover due to the nonexistence of a long-awaited AIX personality, but the UNIX personality was also abandoned prior to release.
From mid 1995, IBM officially named the preview "OS/2 Warp Connect (PowerPC Edition)":1,375 with the code name "Falcon". This developer release is the first ever publication of Workplace OS, and of the IBM Microkernel (at version 1.0), which IBM's internal developers had been running privately on Intel and PowerPC hardware. The gold master was produced on December 15, 1995 with availability on January 5, 1996, only to existing Power Series hardware customers who performed a special product request through their IBM representative, who relayed it to the Austin research laboratory, for $215. The software essentially appears to the user as the visually identical and source-compatible PowerPC equivalent of the mainstream OS/2 3.0 for Intel.:2 Packaged as two CDs with no box, its accompanying overview paper booklet calls it the "final edition" but it is still a very incomplete product intended only for developers. Its installer only supports two computer models, the IBM PC Power Series 830 and 850 which have PowerPC 604 CPUs of 100-120 MHz, 16-196 MB of RAM, and IDE drives. Contrary to the product's "Connect" name, the installed operating system has no networking support. However, full networking functionality is described within the installed documentation files, and in the related book titled IBM's Official OS/2 Warp Connect PowerPC Edition: Operating in the New Frontier (1995) — all of which the product's paper booklet warns the user to disregard. The kernel dumps debugging data to the serial console. The system hosts no compiler, so developers are required to cross-compile application source code on the source-compatible OS/2 for Intel system, using MetaWare’s High C compiler or VisualAge C++, and manually copy the files to run them.
With an officially concessionary attitude, IBM had no official plans for a general release packaged for OEMs or retail, beyond this developer preview available only via special order from the development lab. Upon its launch, Joe Stunkard, spokesman for IBM's Personal Systems Products division, said "When and if the Power market increases, we'll increase the operating system's presence as required." On January 26, 1996, an Internet forum statement is made by John Soyring, IBM's Vice President of Personal Software Products: "We are not planning additional releases of the OS/2 Warp family on the PowerPC platform during 1996 — as we just released in late December 1995 the OS/2 Warp (PowerPC Edition) product. ... We have just not announced future releases on the PowerPC platform. In no way should our announcement imply that we are backing away from the PowerPC."
On November 22, 1995, IBM's developer newsletter said, "Another focus of the 1996 product strategy will be the IBM Microkernel and microkernel-based versions of OS/2 Warp. Nearly 20 corporations, universities and research institutes worldwide have licensed the microkernel, laying the foundation for a completely open microkernel standard." IBM planned a second feature-parity release for Intel and PowerPC in 1996. In 1996, a Workplace OS version was rumored to exist internally that also supported x86 and ARM processors.:22 IBM reportedly tested OS/2 on the never-released x86-compatible PowerPC 615 CPU.
At this point, the several-year future roadmap of Workplace OS included IBM Microkernel 2.0 and was intended to subsume the fully converged future of the OS/2 platform starting after the future release of OS/2 version 4, including ports to Pentium, Pentium Pro, MIPS, ARC, and Alpha CPUs.
The Workplace OS project was finally canceled in 1996 due to myriad factors: inadequate performance; low acceptance of the PowerPC Reference Platform; poor quality of the PowerPC 620 launch; extensive cost overruns; lack of AIX, Windows, or OS/400 personalities; and the overall low customer demand. The only mainstream desktop operating system running on PowerPC was Windows NT, which also lacked supply and demand. Industry analysts said that "the industry may have passed by the PowerPC". In 1996, IBM also closed the Power Personal Division responsible for personal PowerPC systems. The other long-term effect was that IBM stopped developing new operating systems, and instead committed heavily to Linux, Java, and some Windows.
Having cost four years of broken promises and $2 billion (or 0.6% of IBM's revenue for that period), Workplace OS was known as "one of the most significant operating systems software investments of all time" and "one of the largest operating system failures in modern times".:22
The industry was constantly grappling with the second system effect. On November 15, 1993, InfoWorld projected, "Now IBM needs to talk about this transition without also telling its customers to stop buying all the products it is already selling. Tough problem. Very little of the new platform that IBM is developing will be ready for mission-critical deployment until 1995 or 1996. So the company has to dance hard for two and maybe three years to keep already disaffected customers on board.":5
In 1994, an extensive analysis by Byte reported that the multiple personality model in Workplace OS's beta design was more straightforward, foundational, and robust than that of the already-shipping Windows NT. The magazine said "IBM is pursuing multiple personalities, while Microsoft appears to be discarding them" while conceding that "it's easier to create a robust plan than a working operating system with robust implementations of multiple personalities".
Upon the January 1996 developer release, InfoWorld relayed the industry's dismay that the two years of delays had made the platform "too little, too late", "stillborn", and effectively immediately discontinued. An analyst was quoted, saying that "The customer base would not accept OS/2 and the PowerPC at the same time" because by the time IBM would eventually ship a final retail package of OS/2 on PowerPC machines, "the power/price ratio of the PowerPC processor just wasn't good enough to make customers accept all of the other drawbacks" of migrating to a new operating system alone.
In 2013, Ars Technica retrospectively characterized the years of hype surrounding Workplace OS as supposedly being "the ultimate operating system, the OS to end all OSes ... It would run on every processor architecture under the sun, but it would mostly showcase the power of POWER. It would be all-singing and all-dancing."
In 1997, a case study of the history of the development of Workplace OS was performed by the University of California with key details verified by IBM personnel. These researchers concluded that IBM had relied throughout the project's history upon multiple false assumptions and overly grandiose ambitions, and had failed to apprehend the inherent difficulty of implementing a kernel with multiple personalities. IBM considered the system mainly as its constituent components and not as a whole, in terms of system performance, system design, and corporate personnel organization.:22 IBM had not properly researched and proven the concept of generalizing all these operating system personalities before starting the project, or at any responsible timeframe during it — especially its own flagship AIX.:21 IBM assumed that all the resultant performance issues would be mitigated by eventual deployment upon PowerPC hardware.:22 The Workplace OS product suffered the second-system effect, including feature creep, with thousands of global contributing engineers across many disparate business units.:21 The report described the Workplace OS project as "one of the most significant operating systems software investments of all time" and "one of the largest operating system failures in modern times".:22
- "Later [in 1991], a small team of IBMers went to Taligent to look at their technology. Taligent had proven that an operating system or operating environment, in their case an object-oriented environment, could, in fact, be built on a microkernel. Taligent had broken their operating system into a set of parts. At the center was a microkernel. This microkernel then exported C++ interfaces, providing an object-oriented 'wrapper'. On top of that wrapper, they implemented a layer that was called Operating Environment Services (OES) or Taligent Object Services. All the code that traditionally had resided in a kernel was implemented in system frameworks. This was not a monolithic kernel, but a collection of object-oriented servers performing specific kernel-type tasks. There were frameworks for file systems, for device drivers, for databases, for networking, and so on. But they all resided outside the kernel. And in the Taligent world, these things were objects.
"GUTS defined operating system components similar to Taligent's operating environment, only the components were defined procedurally and were called personalities (now called operating system services) and personality-neutral servers (now called shared services). From the concept of shared services and Taligent's concept of object-oriented system frameworks, an object model evolved that represents the new, faster, and more reliable way of building operating systems. What's more, because procedural and object-oriented components can coexist in a microkernel-based operating system, the evolution to a completely object-oriented world could be staged."
- "As is typical in software development, millions of things were happening at once. We went off to set things up in Las Vegas for Comdex, while debugging was still going on in Boca. The room was set up. Lee Reiswig, President of IBM's Personal Software Programming Division, had a private audience of folks to which he was going to demo. The computers were set up, the room was completely ready, and the disks were still in Boca. The folks that finished the demo got on the plane Tuesday night in Boca about the same time the Micrografx cook-off was going on in Las Vegas. They rolled in about eleven that night. We returned from the cook-off about the same time. A few minor things were still being ironed out back in Boca. We installed the disks, and one of them crashed. We managed to download, or transmit, the last fixes from Boca and get things running, with two hours to spare. At 8 a.m., we had running demos, running machines, running presentations. We had enough time to go back to the hotel, shower, and get an hour's sleep. At 10 a.m., Lee stood up in front of a very small audience of selected folks and talked about the Workplace OS for the first time outside IBM. It went so well that the demo was on the floor of Comdex on Thursday. We were able to demo OS/2, DOS, DOS/Windows, and UNIX concurrently running in the same machine on a microkernel and the ability to switch between them with applications running in each of the personalities."
- "Unofficial OS/2 Beta FAQ Appendix v 0.20". Stardock. April 10, 1997. Retrieved February 5, 2019.
- Fleisch, Brett D.; Allan, Mark (September 23, 1997). "Workplace Microkernel and OS: A Case Study". John Wiley & Sons, Ltd. Archived from the original on August 24, 2007. Retrieved March 25, 2013. Cite journal requires
- Christopher, Ken; Winters, Scott; Wright, Mary Pollak (1995). IBM's Official OS/2 Warp Connect PowerPC Edition: Operating in the New Frontier. Foster City, CA: IDG Books. ISBN 978-1-56884-458-9. OCLC 832595706.
- "Why did Taligent fail?". Retrieved January 31, 2019.
- Reimer, Jeremy (November 24, 2013). "Half an operating system: The triumph and tragedy of OS/2". Ars Technica. Retrieved February 12, 2019.
- Transforming Your Business With Object Technology. Austin, TX: IBM. November 1993. p. 15. Retrieved February 9, 2019.
- Cotter, Sean; Potel, Mike (1995). Inside Taligent Technology. Addison-Wesley. ISBN 0-201-40970-4. OCLC 1072525751. Retrieved February 10, 2019.
- Varhol, Peter D. (January 1994). "Small Kernels Hit It Big". Byte. Archived from the original on March 7, 2006. Retrieved September 20, 2017.
- Dimpfel, Lois (November 22, 1993). "Big Blue's Dimpfel has high hopes for Workplace OS". InfoWorld (Interview). Interviewed by Stuart J. Johnson. p. 106. Retrieved September 20, 2017.
- "OS/2 Warp, PowerPC Edition". OS/2 Museum. Retrieved September 21, 2017.
- "Windows NT and Workplace OS: Plug It In Article". Byte. January 1994. Archived from the original on May 29, 2006. Retrieved September 20, 2017.
- Fitzgerald, Michael (July 4, 1994). "IBM shows Workplace OS for handhelds". Computerworld: 28. Retrieved September 20, 2017.
- Pontin, Jason (January 15, 1996). "OS/2 for PowerPC release may be too little, too late". InfoWorld: 35–36. Retrieved February 8, 2019.
- Alsop, Stewart (November 15, 1993). "IBM's vision may be clearing but realizing its focus is years away". InfoWorld. Retrieved October 3, 2017.
- Thompson, Tom; Ryan, Bob (April 1994). "Apple, IBM Bring PowerPC To The Desktop". Byte. Archived from the original on April 14, 2005. Retrieved September 20, 2017.
- Scannell, Ed; Brandel, William (April 11, 1994). "Industry turning to components". ComputerWorld: 1. Retrieved February 13, 2019.
- Scannell, Ed (June 5, 1995). "IBM ponders NT bundle for PowerPC line". InfoWorld: 35. Retrieved February 8, 2019.
- Necasek, Michal (November 16, 2012). "OS/2 for PowerPC Tidbits". OS/2 Museum. Retrieved February 5, 2019.
- "Developer Support News". Developer Support News (18). November 22, 1995. Retrieved February 6, 2019.
- The OS/2 Warp (PowerPC Edition) Overview (PDF) (booklet). IBM. December 1995. Retrieved February 5, 2019.
- Necasek, Michal (September 27, 2013). "OS/2 on ThinkPad 850". OS/2 Museum. Retrieved February 6, 2019.
- Soyring, John (January 26, 1996). "IBM Supports OS/2 for PPC, Warp for PC now the focus (WSJ 1/26/96)". Newsgroup: comp.os.os2.advocacy. Retrieved February 5, 2019.
- staff (October 1, 1998). "Microsoft killed the PowerPC 615". The Register. Retrieved February 8, 2019.
- OS/2 Warp (PowerPC Edition): A First Look. Boca Raton: IBM International Technical Support Organization. December 1995. SG24-4630-00. Retrieved February 7, 2019.
- OS/2 PowerPC Toolkit, Developer Connection CD-ROMs. The first doc is a description of the OS/2 ABI on PowerPC32. The second is an API addendum, including a description of new 32-bit console APIs.