We’ll have to come up with some better names – we know that says Paul Giangarra, lead architect of Workplace OS, referring to his rather formless and ill-understood baby. It seems, therefore, that when the operating system finally appears later this year, it will bear the imaginative title ‘OS/2 for PowerPC’. The architect hasn’t had much time to do any architecting over the last couple of months. Instead he’s been working as evangelist-in-chief for the technology which is the foundation of IBM’s hopes for desktop software and the desktop. What we are trying to do is something that IBM has not done very well, and that is spread the word he says – giving the impression of a man who has been virtually living on aeroplanes. Recently he has spent his life talking to software authors, large corporates and, of course, journalists. It’s a role that he obviously relishes – presenting information about the software with a verve reminiscent of Jeff Goldblum’s scientist in ‘The Fly’.

OS/2 effort

Giangarra has been with IBM since 1977, and after working on a number of operating system and communications projects, ended up as chief designer for OS/2. A biography from IBM is at pains to point out that he didn’t join the OS/2 effort until version 1.2 was virtually complete, so you can’t place the earlier incarnations at his door – it is in versions 1.3 and 2.0 that we can see his work. Workplace OS’s structure is now well defined. Its heart is a microkernel, a thin layer of code that provides the lowest of lowest common denominator functions necessary to the operating system. The basics for inter-process communication, input-output, interrupts, memory management and multiprocessor support – these are the province of the microkernel. When IBM was looking around for a suitable foundation it came across Carnegie Mellon University’s Mach 3.0 which it took, trimmed, tweaked, hardened and then used. It is the same microkernel that is used in Taligent, but more of that later. Like any good foundation, Mach is more or less invisible to the end user. To IBM, however it is vital, acting as an isolating layer between the hardware below and the other software above. It is worth noting that the microkernel does not provide complete isolation: there are still issues such as ‘Endian-ness’ – the byte ordering, which it cannot hope to paper over. Still, it does enable IBM to concentrate a lot of the messy, hardware-specific parts of the operating system into one place. Microkernel-based operating systems tend to be easily portable operating systems. As we have said, the microkernel only deals with the low level stuff. Everything else that goes to make up the operating system sits on top, either in ‘personality neutral services’ or the operating system-specific personalities.

By Chris Rose

Giangarra favours the shorter, but more descriptive phrase shared stuff for Personality Neutral Services. The shared stuff modules – of which there are many – contain all the things common to many operating systems, but which don’t have a place in the kernel. Shared stuff means that networking, file systems and the like have to be implemented only once. Certainly, if the personality-writer has an overwhelming desire to create a bespoke file system he or she can write one, but generally it’s possible to fall back upon Personality Neutral Services. Personality Neutral Service modules can even implement services traditionally outside the scope of the operating system – for example a multimedia engine, which can then be shared by all of the personalities. The idea is that third party developers will be wooed into developing such plug-ins. In the great scheme of things, Personality Neutral Service is incredibly important. It enables IBM to add capabilities to its operating system by stealth and it should also enable a more-or-less smooth integration of object-oriented services as they are developed. Though wide in scope, Personality Neutral Service facilities do not provide a graphical user interface, neither do they necessarily bare their interfaces to progr

ammers at large. Instead they are accessed via the operating system personalities. These provide developers and users with the application programming interfaces, graphical user interfaces, semantics and thread-scheduling that they are used to seeing from their respective operating systems. This summer, IBM will introduce several enhancements to the iAPX-86-based OS/2: a symmetric multiprocessing version will appear, and the mainline Intel Corp-based offering will be slimmed down considerably. The goal here is to be able to pre-load on a 4Mb machine, Giangarra says, explaining that the operating system will be approximately 2Mb smaller than it is today. Eventually (sometime in 1995), WorkPlace OS will be converted to the Intel system, and the summer release probably represents the last honing of the native iAPX-86 implementation. OS/2 for PowerPC will have to wait some time for the innovations.

Two personalities

It is unlikely that it will ever fit into 4Mb, mainly because of the code expansion inherent in the move from a complex to a RISC instruction set. The PowerPC Reference Platform document specifies 8Mb as the minimum configuration suitable for WorkPlace OS, compared with 16Mb for AIX or Windows NT. Giangara says that OS/2 for PowerPC will initially lack multiprocessing support, but once PowerPC 604-based multiprocessing machines appear, we will have the server. So far, we know that IBM is working on two personalities for Workplace OS – the OS/2 personality and the MS-DOS/Windows personality. Combined, these two produce OS/2 for PowerPC – a split personality, if you like. In the second part of this dissertation, we will take a look at the Instruction Set Translator, which will convert the iAPX-86 instructions into native PowerPC code on the fly.