Archives
- March 2025
- February 2025
- January 2025
- December 2024
- November 2024
- October 2024
- September 2024
- August 2024
- July 2024
- June 2024
- May 2024
- April 2024
- March 2024
- February 2024
- January 2024
- October 2023
- September 2023
- August 2023
- July 2023
- June 2023
- May 2023
- April 2023
- March 2023
- January 2023
- December 2022
- November 2022
- October 2022
- September 2022
- July 2022
- June 2022
- May 2022
- April 2022
- March 2022
- February 2022
- January 2022
- December 2021
- November 2021
- October 2021
- September 2021
- August 2021
- July 2021
- June 2021
- May 2021
- April 2021
- March 2021
- February 2021
- January 2021
- December 2020
- November 2020
- October 2020
- September 2020
- August 2020
- July 2020
- June 2020
- May 2020
- April 2020
- March 2020
- February 2020
- January 2020
- December 2019
- November 2019
- October 2019
- September 2019
- August 2019
- July 2019
- June 2019
- May 2019
- April 2019
- March 2019
- February 2019
- January 2019
- December 2018
- November 2018
- October 2018
- August 2018
- July 2018
- June 2018
- May 2018
- April 2018
- March 2018
- February 2018
- January 2018
- December 2017
- November 2017
- October 2017
- August 2017
- July 2017
- June 2017
- May 2017
- April 2017
- March 2017
- February 2017
- January 2017
- December 2016
- November 2016
- October 2016
- September 2016
- August 2016
- July 2016
- June 2016
- May 2016
- April 2016
- March 2016
- February 2016
- January 2016
- December 2015
- November 2015
- October 2015
- September 2015
- August 2015
- July 2015
- June 2015
- May 2015
- April 2015
- March 2015
- February 2015
- January 2015
- December 2014
- November 2014
- October 2014
- September 2014
- August 2014
- July 2014
- June 2014
- May 2014
- April 2014
- March 2014
- February 2014
- January 2014
- December 2013
- November 2013
- October 2013
- September 2013
- August 2013
- July 2013
- June 2013
- May 2013
- April 2013
- March 2013
- February 2013
- January 2013
- December 2012
- November 2012
- October 2012
- September 2012
- August 2012
- July 2012
- June 2012
- May 2012
- April 2012
- March 2012
- February 2012
- January 2012
- December 2011
- November 2011
- October 2011
- September 2011
- August 2011
- July 2011
- June 2011
- May 2011
- April 2011
- March 2011
- January 2011
- November 2010
- October 2010
- August 2010
- July 2010
OS/2 Beginnings
The following text is not an introduction to the history of OS/2 or the design of the operating system. It only maps the early semi-public development builds of Microsoft OS/2 prior to the release of OS/2 1.1 and the Presentation Manager.
All screenshots were taken from slightly customized VirtualBox 4.0 VMs, unless otherwise noted.
The timeline is not authoritative; it is based on press releases and press articles (where available) and timestamps of files on distribution media. Developers would have been expected to receive the materials with a delay of several weeks.
The OS/2 SDK
About six months before OS/2 1.0 was released to the public, Microsoft shipped the first OS/2 Software Development Kit (SDK) to ISVs who were part of Microsoft’s OS/2 development program. The program wasn’t cheap—the price of admission was 3,000ドル (in 1987 dollars). In return, developers received everything they needed to write OS/2 applications: The operating system itself, development tools including Microsoft C and MASM, programming examples, printed and electronic documentation, a subscription to the Microsoft Systems Journal, and access to Microsoft DIAL, an electronic technical support system. That is, everything except hardware—the OS/2 SDK required an IBM PC/AT or compatible (including the Compaq Deskpro 286 or 386) with at least 1.5 MB RAM.
In retrospect, the 3,000ドル price tag had been too steep. Too many developers balked at the price and continued developing for DOS (and later, Windows). Microsoft learned the lesson and the development tools for its next operating system, Windows NT, were much more accessibly priced.
April 1987
OS/2 was officially announced, together with the IBM PS/2 line of computers. Microsoft ran spreads advertising OS/2 in publications such as the Wall Street Journal, and a few weeks later published ads for the upcoming OS/2 SDK in trade press (InfoWorld).
May 1987
At the end of May 1987, Microsoft started shipping the OS/2 SDK version 1.00. This SDK contained a pre-release build of OS/2, not OS/2 1.0. Also included were beta versions of Microsoft MASM and C, both with a 4.50 version tag. The SDK came with a heavy stack of printed documentation which covered the new operating system, the complete C and MASM development systems, and OS/2 programming documentation.
In addition, the OS/2 SDK shipped with the full Microsoft Windows 1.04 SDK which included Windows 1.04 itself, programming tools and libraries, as well as Microsoft C 4.0, required to develop for Windows. This was not intended to surreptitiously promote Windows instead of OS/2; Microsoft simply wanted to help programmers understand and learn the new programming model that the upcoming Presentation Manager would utilize. Windows 1.0 was similar enough in concept that it would have been helpful.
The operating system was clearly unfinished, yet quite usable. The multi-tasking shell was very spartan. There was no online help, some utilities were missing, hardware beyond PC/AT compatibles was unsupported. Still, it was possible to use the system to develop OS/2 software. The C compiler and MASM were marked as beta, but could build the sample applications without major issues. Documentation was incomplete, there were numerous references to DOS 5 rather than OS/2, but the system was functional.
Programmers could certainly get a very good feel for how the finished new operating system would work, and could start developing applications. The base system API was more or less stable at that point. The brave new world of OS/2 was just around the corner.
June/July 1987
Microsoft held OS/2 technical training seminars in Seattle and New York. At these seminars, speakers from Microsoft (including some of the core OS/2 developers) introduced key OS/2 design concepts, including Presentation Manager development.
August 1987
The OS/2 SDK version 1.01 arrived with only a relatively small update to the OS: The Program Selector. The system kernel was unchanged and only one replacement disk was shipped. The Program Selector was not significantly different from the version later shipped with OS/2 1.0.
There were other important additions in the 1.01 SDK though. Microsoft shipped the complete pre-release documentation for "Windows Presentation Manager", the OS/2 GUI which would not be released until late 1988.
No less important was the availability of the OS/2 DDK (Device Driver Development Kit, sometimes abbreviated as DDDK) version 1.0. The DDK contained sample code (a disk driver and a serial port driver) and documentation required for the development of OS/2 device drivers. An important part of the DDK was the OS/2 debug kernel—a modified version of OS2DOS.COM (the OS kernel) with a built-in debugger that could be accessed over a serial line. There was also a special test kernel, which contained both the kernel debugger and special debug routines intended for validating device driver functionality.
December 1987
The 1.02 SDK shipped with the final build of Microsoft OS/2 1.0. However, the development tools were still not quite finished—MASM was at level 5.00A, while the Microsoft C compiler version was 5.1 beta. The programming tools, libraries, examples, and documentation were nearing completion as well.
March 1988
The OS/2 SDK version 1.03 was an important milestone: For the first time, a build of the Presentation Manager GUI was available to developers outside Microsoft and IBM.
Also important were the release versions of Microsoft C 5.1 and MASM 5.1, finally shipped with the 1.03 SDK. The version included in the SDK was slightly different from the retail release. The SDK release of Microsoft C 5.1 also included MASM 5.1, while the normal retail products were separate. In addition, QuickC was removed from the SDK release, presumably because it didn’t support OS/2.
The OS/2 Programmer’s Toolkit 1.0 was also included; the Toolkit was intended for owners of the retail versions of OS/2 1.0 and only included programming documentation, libraries, and sample code. Users of the Toolkit also had to separately purchase a C compiler and/or assembler, such as Microsoft C 5.1/MASM 5.1. Apart from printed documentation, reference information was now additionally available in the form of QuickHelp on-line databases.
The 1.03 SDK was built around the first pre-release version of the OS/2 1.1 kernel. One of the major improvements was support for disk partitions larger than 32MB, with the caveat that most DOS versions at the time could not access such partitions.
The big news was of course the Presentation Manager. The GUI look and feel strongly resembled Windows 2.0. In this release, the Presentation Manager was very clearly unfinished, the API was not yet fully finalized. Still, enterprising developers could finally go from reading pre-release documentation to writing code, even though the system was somewhat flaky.
Included with the SDK documentation was a draft copy of Charles Petzold’s Programming the OS/2 Presentation Manager, an excellent introductory book on Presentation Manager programming which came with numerous example programs. Microsoft also provided a guide on converting Windows application to the Presentation Manager.
The 1.03 SDK also included the recently released Windows 2.03 with the corresponding SDK. This was again intended to give developers a head start on designing applications for the not-yet-finished Presentation Manager. Windows 2.03 was much closer to the Presentation Manager in both functionality and look and feel than Windows 1.04 had been.
April 1988
The DDK was updated to the OS/2 1.0 level, with relatively few changes.
Microsoft held two Advanced Network Development Conferences, in San Francisco and New York. These conferences introduced OS/2 networking, particularly the LAN Manager and SQL Server.
May 1988
The 1.04 SDK was shipped shortly after 1.03 and contained no OS updates. Instead, a big networking milestone had been reached—the first preview version of the LAN Manager.
The LAN Manager 1.0 pre-release came with DOS and OS/2 workstation (client) and OS/2 server components. Microsoft did not intend to sell the LAN Manager directly to end-users but rather license it through OEMs. For that reason, drivers for only a very few network cards were included; OEMs were expected to supply their own.
Although LAN Manager could be installed on top of the released OS/2 1.0 version, Microsoft recommended using the pre-release version 1.1 kernel instead, without the Presentation Manager components.
August 1988
The OS/2 SDK version 1.05 refreshed the base operating system and the Presentation Manager. The GUI was now very similar to the final OS/2 1.1 release.
The Presentation Manager in the 1.05 SDK was much more stable and complete than the earlier 1.03 release from March. Developers could now get serious about developing OS/2 GUI applications, although relatively few actually did.
September 1988
The updated DDK version 1.05 was significantly larger than the previous releases because support for developing Presentation Manager drivers was now included. This version added the source code for the EGA/VGA and IBM 8514/A display drivers. However, there was no printer driver sample code yet, a fact which no doubt contributed to the dearth of printer drivers when OS/2 1.1 was released several months later.
The Presentation Manager display drivers were rather complex and written entirely in assembler, in part for performance reasons and in part because much of the code had been adopted from Windows display drivers. The complexity was one of the reasons why very few OEMs provided good OS/2 display drivers. It took IBM until 1996 to develop a simplified display driver model for OS/2.
November 1988
The OS/2 SDK version 1.06 was somewhat unusual. It included the final version of IBM OS/2 1.1 SE and a pre-release of Microsoft’s development tools and sample programs. Similar to the situation with OS/2 1.0, IBM released the new OS/2 version several months before Microsoft delivered the final development kits, and also several months before OEM versions of Microsoft OS/2 would appear. The 1.06 SDK underscored that Microsoft and IBM releases of OS/2 were identical as far as applications were concerned.
The SDK provided a good basis for developing OS/2 1.1 applications. Both the OS and the development tools were in final retail form, and the API headers, libraries, sample code, and documentation were not far from the released version.
April 1989
Microsoft shipped the final OS/2 1.1 SDK, a year after the first Presentation Manager SDK appeared and two years after the Presentation Manager had been announced in early April 1987.
The DDK was updated to the OS/2 1.1 level. Sample printer and plotter drivers (written in C) were finally included, while the rest of the DDK had not significantly changed.
At this point, the 3,000ドル OS/2 SDK was discontinued but immediately replaced by retail products. That marked the end of the early development period of OS/2; the system was now established and available through retail channels, and Microsoft’s standard development tools supported OS/2.
For basic OS/2 development, a copy of OS/2 1.1 and Microsoft C 5.1 sufficed. However, MS C 5.1 offered no specific support for writing Presentation Manager applications. An OS/2 Presentation Manager Softset (150ドル) was available from Microsoft, offering the necessary headers and libraries, as well as dialog, icon, and font editors, plus a resource compiler. However, sample code and documentation were not included. Those were part of the OS/2 Presentation Manager Toolkit (500ドル), a superset of the Softset. A three-volume printed OS/2 programming reference was also available separately from Microsoft Press, or developers could get an electronic copy of the documentation as part of the Microsoft Programmer’s Library CD-ROM (395ドル).
The 32-bit OS/2 2.0 SDK was scheduled to be delivered to developers later in 1989, but that’s a different chapter in the history of OS/2.
9 Responses to OS/2 Beginnings
“In retrospect, the 3,000ドル price tag had been too steep. Too many developers balked at the price and continued developing for DOS (and later, Windows). ”
Of course, most of these people did not realize how much it contained (even I didn’t realize it until I read this article).
Yes, part of the problem was that Microsoft failed to adequately explain just how much people were getting in the SDK. But the biggest problem was that 3,000ドル seemed like a lot of money, because it really was. It’s about 6,000ドル in today’s money.
I think it was really a psychological problem, the figure was just too big. Microsoft probably should have offered an option of smaller payments in installments, or offer parts of the SDK piecemeal (like they did later). It must have been very hard (especially for smaller developers) to justify the expense for something that might or might not turn out to be very useful in the future.
At any rate, Microsoft clearly learned from that mistake.
“or offer parts of the SDK piecemeal (like they did later).”
Yea, the only reason they didn’t initially was that *the stuff was not released yet*. As the pieces release, they were split and made available through retail channels.
Should be 1.1?
Actually, no. The DDK releases lagged somewhat, so the OS/2 1.0 DDK (which was called version 1.02, just like the 1.02 SDK contained OS/2 1.0) only came out in May 1988. The 1.1 DDK came quite a bit later.
@michaln
“At any rate, Microsoft clearly learned from that mistake.”
For sure they did. Today they even provide a very good IDE (Visual Studio) for free. The WDK and all the pieces for driver development are free also.
Pingback: Before OS/2 Was OS/2 | OS/2 Museum
@michaln
I know I’m a bit late to the party, but I’m wondering if you have SDK versions 1.03, 1.04, or 1.06? It seems like those versions are nowhere to be found, and they would be very interesting to explore. Thank you for the informative article nonetheless!
Yes (1.03, 1.05, and 1.06). I’m working on archiving them properly but can’t promise a timeline.
This site uses Akismet to reduce spam. Learn how your comment data is processed.