Book Review: Inside OS/2

A Few Decades Late Book Reviews

Inside OS/2, by Gordon Letwin
Microsoft Press, February 1988; 302 pages, ISBN 1-55615-117-9; $19.95

Letwin’s Inside OS/2 was one of the first books devoted to OS/2. What sets Inside OS/2 apart from other OS/2 books published at the time is that it neither teaches how to use OS/2 or how to develop OS/2 applications, nor is it a reference book. Instead, Inside OS/2 explains why the system was designed the way it was designed; in fact, Gordon Letwin was one of the very few people who could have written such a book, having worked as chief architect of systems software at Microsoft.

The foreword to Inside OS/2, written by Bill Gates, is famous for quotes such as “OS/2 is destined to be a very important piece of software”, a valuable reminder that predictions of future events are to be taken with a very large grain of salt.

The book is divided into three parts: The Project, The Architecture, and The Future. The Architecture section forms the bulk of Inside OS/2.

In the Project part, Letwin starts by providing a brief history of DOS, the most significant ancestor of OS/2. This is followed by a brief chapter on the OS/2 design goals, such as multitasking and compatibility with existing DOS-based applications.

The last chapter of the first part is called “The OS/2 Religion” and is arguably the key part of the book. Here Letwin explains the “major architectural dogmas of OS/2”: maximum flexibility, a stable environment, localization of errors, and the software tools approach. A stable environment and localization of errors are each a major departure from the world of DOS, where all system resources were owned by everyone and no one, and errors could go undetected for a shockingly long time. The software tools approach is a reiteration of the classic UNIX “sharp tools” methodology.

The second part of Inside OS/2 explains the architecture of OS/2 in moderate detail: multitasking, threads and scheduling, memory management, interprocess communication, file systems, user interfaces, and more. Most of the concepts were new to  DOS programmers, but many of them were also fairly new in the industry as a whole (multi-threading, dynamic linking). This part of Inside OS/2 was no doubt especially useful for programmers who had experience with application development on other platforms but not on OS/2; at the time the book was published, that was just about everyone.

Letwin doesn’t provide ready-made recipes for using specific parts of the OS/2 API but rather explains why certain features were implemented or what their expected usage is. Many OS/2 APIs are mentioned by name, but no details are given and no code samples are provided; that is a good thing as space isn’t wasted on nitty-gritty details readily available elsewhere.

Inside OS/2 also covers several topics that are rarely, if ever, explained in OS/2 programming literature. These include signals, interactive programs (including Ctrl-C processing), device monitors, and hard error handling. Also included is a good overview of the Family API.

The coverage of device drivers and debugging is very basic and takes up very little space in the book. That is unfortunate, although the topic of device drivers alone might easily require a whole book. Not much more space is devoted to the “3x Box”, the DOS compatibility environment in OS/2. DOS support in OS/2 was technically very interesting, yet at the same time Letwin understandably preferred to explain how to design new OS/2 software rather than how old DOS software was supported.

The final and shortest part of the book deals with the future of OS/2—as usual, a very tricky business. Letwin presents plans for a new file system with enhanced capabilities and a different access protection scheme (ACLs), as well as “OS/2-386”, the 32-bit variant of OS/2 with multiple real mode boxes.

Inside OS/2 is written in a style that is technical yet easy to read—a rare combination. The author is clearly very erudite, but doesn’t try to hide a good sense of humor. Inside OS/2 is a valuable book because it explains why things were designed the way they were designed, rather than listing individual features or detailing which knobs can be turned and how.

The cover of Inside OS/2 deserves a mention. Unusually for technical literature, the cover includes a photo of the author; yet rather than a portrait, it is a depiction of the “Wizard of OS/2”, surrounded by computer technology paraphernalia and bathed in the warm glow of CRTs.

Inside OS/2 is also notable for inspiring Helen Custer’s Inside Windows NT (1993), which in turn spawned the popular Windows Internals series dealing with the architecture and implementation of Windows.

This entry was posted in Books, Microsoft, OS/2. Bookmark the permalink.

17 Responses to Book Review: Inside OS/2

  1. This also represents the end of the ‘old’ Microsoft era as Gordon was part of the 1970’s Microsoft, and as we all know with the hire of Cutler & Co there was a long term shift as Microsoft could now stand independent of IBM.

    I’ve always liked this book as it gives a good overview of OS/2 and does an excellent job of selling OS/2… Even though it was next to impossible to acquire back then..

  2. michaln says:

    I don’t know if Letwin cared one way or another about Microsoft vs. IBM, but you have to wonder if he became “tainted” once OS/2 turned into the product to destroy. And yeah, it’s known (well, Showstopper! says so) that he didn’t get along with Cutler.

    The book is definitely good though… one of the better OS books out there.

  3. Yuhong Bao says:

    Well let’s dig back to PX00307 from 1990, where it was thought that 32-bit Windows extenders was an acceptable substitute to OS/2 2.0. Notice neither Dave Cutler nor Gordon Letwin was in the To: field! I think it should be obvious none of them would consider 32-bit Windows extenders or for that matter DOS extenders to be an acceptable substitute for OS/2 2.0.

  4. lys says:

    What’s the rightmost computer model/type there?
    I notice OS/2 version of CodeView on the screen.

  5. Michal Necasek says:

    It doesn’t have to be OS/2 CodeView, the DOS version looked exactly the same. The monitor is almost certainly an IBM 5154 (EGA) based on the shape and the green power light on the center right. The computer is rather poorly lit but it’s almost certainly a Compaq Deskpro 386. Could be a Deskpro 286 as well, but given that the book was published in 1988 and that Microsoft had Deskpro 386s as soon as they were available (if not earlier), there’s a very good chance it’s a Deskpro 386.

  6. dosfan says:

    The computer on the right has an older 84-key keyboard so it is probably a Compaq Deskpro 286. I think the Compaq Deskpro 386 came with a 101-key keyboard.

  7. Michal Necasek says:

    That’s true, but the monitor isn’t Compaq either, so I don’t know how much that means. It could really be either from what I can see. And the MS guys definitely had 386s in late 1986.

  8. dosfan says:

    Look at the Enter key, there is only one row of keys above it and there are no groups of four on the top row of keys so that’s definitely an 84-key keyboard. I agree that the monitor looks like an IBM EGA monitor. Of course the MS guys would definitely have the top of the line systems and that was the Compaq Deskpro 386 in late 1986.

  9. Michal Necasek says:

    Sorry, I’m not suggesting that it’s not an 84-key keyboard! It certainly is. Just saying that the keyboard can be swapped, just like the monitor, and doesn’t define the system it’s attached to. The keyboard on the left looks like the IBM AT keyboard (although the system it’s attached to does not look like an AT) but the keyboard on the right is different, and doesn’t match any IBM keyboard I could quickly find images of. It doesn’t look like the Deskpro 286 keyboard either.

  10. dosfan says:

    Interesting, I was thinking the system on the left is almost certainly an IBM PC AT. Even though the picture is pretty dark it looks like there’s a square logo on the left of the case. What the heck is he running on the terminal on the far left ? Looks like some sort of remote debugger.

  11. lys says:

    Thanks. Interesting photo. Too bad there’s no clearer image.
    Far left terminal is also interesting.

  12. Michal Necasek says:

    Actually, you’re right. It’s a PC/AT. I was confused by the soda can sitting in front of it.

    The screen on the left might be a secondary mono monitor. It looks like symdeb or the OS/2 kernel debugger or something like that.

  13. MiaM says:

    IBM EGA monitors hade white knobs for power/brightness/contrast while CGA monitors had black knobs. Could it even be a CGA monitor?

    What soda is he drinking? 🙂
    And what strange object(s?) is in the foreground right behind the rightmost keyboard?

    It seems like there is a reflecting edge under the leftmost monitor. It could perhaps be some kind of old non-PC computer used as a terminal or even a true terminal, with the keyboard stashed away.

    Was it common for a technical guy to have that kind of beard at that time?

  14. Michal Necasek says:

    A source familiar with the subject matter tells me that first of all, the photo is staged (it’s not an office). The monitor on the right is definitely EGA because it has 43 lines. The keyboard is strange, but since it’s not a real office… who knows.

    The monitor on the left is quite possibly a serial terminal, and those were widely used in the early 1980s at Microsoft. The screen looks like the OS/2 kernel debugger which would typically utilize a serial terminal. The soda… impossible to tell, perhaps Dr. Pepper based on the color of the can.

    The crystal ball is something Gordon Letwin really had in his office, but its significance is unknown; possibly related to Microsoft Adventure.

    The beard was perhaps more of a 1970s thing but probably not out of the ordinary in the 1980s. Maybe not “typical” but “common”.

  15. lys says:

    Thanks, Michal, for the background info!
    Very interesting photo.
    What software is running on the central screen?

  16. Michal Necasek says:

    It looks like a bunch of terminal windows with source code and a hex dump, but I don’t recognize it specifically.

Leave a Reply

Your email address will not be published. Required fields are marked *