OS/2

From Computer History Wiki
Jump to: navigation, search
OS/2's early logo

OS/2 started as a collaborative effort between IBM and Microsoft to put together the next generation operating system for the IBM AT and PS/2 machines.

Microsoft, famous for hedging bets, started the Windows project around the same time, as a low cost entry interface with rudimentary (cooperative) multi-tasking.

Needless to say, Microsoft wanted to target the i386 processor, and work on 32-bit software, while IBM wanted to deliver to the IBM AT customers it had sold to, and the upcoming PS/2 model 60, hence the demand for the i286 16-bit version. Someone at IBM even got the idea that the development tools should be a revenue stream, and needless to say, the $3,000 SDK was NOT a big seller. Instead, the industry worked around OS/2, and developed DOS extender technology, and Microsoft practically gave away the Windows SDK, allowed for OEM customizations, and famously released the QuickC for Windows product.

Microsoft leapt at the chance to formalize DOS extenders into DPMI, and use it in Windows, cementing OS/2's 1.x inability to run DPMI programs. Microsoft was also upset that IBM locked them out of the graphical components of the OS, and that OS/2 worked BACKWARDS compared to Windows... the 0/0 in the screen coordinates is the bottom right, while everywhere else it's the top left..

There is a great writeup on the divorce on Google's usenet archive, or locally here Gordon Letwin OS/2 usenet post. There is also a perspective from an Autodesk programmer available here.

With a bit more research and having things in hand, OS/2 as mentioned in the book Inside OS/2, is clearly an evolution from the MS-DOS 4.00M, the multi-tasking version of DOS. There was clearly a need for an 'advanced' operating system on the desktop, unfortunately in retrospect Microsoft had to get involved with IBM and derail the industry for nearly a decade.

Versions

Pre-Release version

In the beginning there are several known pre-release versions, then followed up with the infamous $3,000 SDK package. These include:

  • A/DOS
  • SIZZLE
  • FOOTBALL

The SDK versions have recently surfaced on archive.org and are currently known to be:

  • 1.00
  • 1.01
  • 1.02
  • 1.03
  • 1.05
  • 1.06

16 bit versions

All of these versions require an i286 CPU, and an IBM AT, or PS/2 compatible computer. All of the 16-bit versions were limited to a SINGLE MS-DOS compatibility box, greatly reducing the overall usefulness of OS/2 with the ever increasing prevalence of MS-DOS based applications. At the same time, the 16-bit version supported swapping, DLL's, threads and preemptive multi-tasking. There was an excellent overview of the original OS/2's in the book Inside OS/2.

  • 1.0
OS/2 1.0

This version was all textmode, and had an interface that was inspired from TopView. Although it could multi-task, most people didn't realize it, as all programs ran full screen. It ran in 286 protected mode, except for the single "DOS" mode session. As a result all device drivers for OS/2 had to be able to run in real & protected mode. Until 1.3 all versions were released by OEM hardware vendors (Compaq, Zenith etc, along with IBM), this was normal practice for Microsoft at the time.

The IBM OS/2 1.0 announcement can be read here.

  • 1.1
OS/2 1.1 full package

OS/2 1.1 was released in 1988, and was the first version to include the Presentation Manager. It 'looked' identical to that of Windows 2.0. IBM OS/2 1.1 included the PM version of Borland Sidekick to fill in the gap of accessories for OS/2. While there was some initial excitement over this version of OS/2, it quickly faded as you had to either buy a new computer with it installed, or jump through OEM channels to get OS/2. Microsoft didn't sell OS'es to end users in the 1980s (This didn't change until OS/2 1.3, MS-DOS 5 & Windows NT 3.1). Version 1.1c was 386 aware, in that it could use the 80386's ability to quickly & easily transition from real & protected modes, bypassing the triple fault method of the 286.

  • 1.2
OS/2 1.2 box

I think this version was released in September of 1988. This release was significant with the inclusion of the HPFS file system. HPFS was significantly faster then the aging FAT file system as it placed its tables in the middle of the disk, and it allowed for larger file systems, long filenames and extended attributes. A later service pack allowed for 386 and above CPUs to use the 386 method of switching between real & protected mode, allowing it to operate significantly faster (1.2c). From what I understand this was the last version of OS/2 that included direct involvement from Microsoft.

OS/2 1.2 from IBM included the 'standard' edition, along with the EE or extended edition. The EE edition included basic communications capability (x.25, rs232 terminal), and a SQL database.

InfoWorld included an excellent review of OS/2 1.2 [1].

  • 1.21

I think this version was a Microsoft exclusive, and the final version that they were directly involved in.

  • 1.3
Microsoft OS/2 1.3

This was the last version of the 16 bit OS/2 family. The 1.3 user interface resembled that of Windows 3.0. Microsoft did include a 32-bit HPFS driver in their Lan Manager package which allowed for the fastest HPFS implementation prior to OS/2 2.0 & Windows NT 3.1

Around this time, Microsoft had released a beta of the WLO or Windows library for OS/2. The beta included a copy of all of the applettes & games from Windows 3.0 that could run in the Presentation Manager of OS/2. These libraries were also used to deliver the last versions of Microsoft Word & Excel for OS/2. Microsoft had planned on releasing these libraries to allow people to easily port their Windows applications to OS/2, but the rift had happened right before that date, so the beta (which is easy to find) was the only thing released. You can read more about it here.

Additionally, market penetration and OEM interest in OS/2 had dwindled so quickly by this point that Microsoft had decided to do a retail version of OS/2 (pictured to the right) to support its new Microsoft SQL Server product. Windows NT on the i386 platform included support for 16-bit OS/2 applications, namely for the Microsoft Languages (Fortran/Assembler & C) and SQL Server. Since they all were text mode, they would run un-modified up through Windows 2000.

32-bit versions

All of these versions require an i386 SX or better CPU running on either an IBM AT compatible motherboard, or the IBM PS/2 32-bit machines.

OS/2 2.x

  • 2.0 LA (LA Internal revision 6.167 91-10-08)
OS/2 2.0 LA

This was the first 32-bit version. It was released after the IBM/Microsoft divorce, and was strictly an IBM release. There was no seamless Windows in this release, and Win-OS/2 only featured Windows 3.0a in standard mode.

The LA version does not include 'seamless' WIN-OS/2 sessions, and much like OS/2 2.0 GA it does not support Windows's 386 enhanced mode. While it is possible to launch Windows in a Window the display corrupts and it is exceptionally unstable.

Attempting to use any production GA drivers will result in a kernel crash.

  • 2.0 GA (GA Internal revision 6.307 92-03-01)
OS/2 2.0

This release included Windows 3.0 for use in Win OS/2. At the time of the release the Presentation Managers graphic drivers were still 16 bit, although a later service pack was released which included 32-bit drivers. It's interesting to note that OS/2's market share was so low at this time, that OS/2 2.0 included the ability to load older 16-bit device drivers as the kernel was still a hybrid 16-bit/32-bit kernel.

The GUI had radically changed from 1.3 to 2.0 as it now included the Workplace Shell, a full OO GUI. Many people considered WPS to be 'the' killer application at the time, as Windows still had the program manager.

The new Presentation Manager replacement, Workplace Shell, included a deal with Commodore for the "look and feel" of AmigaDOS, and as part of the deal, Commodore picked up a license for REXX into its products as first seen by AmigaDOS 2.0 .

The default syslevel for OS/2 2.0 is XR02000. The last known service pack for OS/2 2.0 brings it up to XR06100. The XR06100 update also installs the OS/2 32-bit Graphics Engine, XR02010.

  • 2.1 (06/1993)

This release brought the Win OS/2 functionality up to Windows 3.1. From the user standpoint it still looked like 2.0 . OS/2 2.1 also included the multi-media update which would allow for sound effects for almost every conceivable motion. It was very annoying.

OS/2 2.1 also supported more video cards, more printers, and included support for PCMCIA and APM, making it acceptable for laptop use.

The update XR06200 brings OS/2 2.1 up to 2.11 functionality.

  • 2.11 (02/1994)
  • 2.11 SMP (08/1994)

OS/2 2.11 supported multiple processors, and from a user standpoint it was halfway between 2.11 and Warp. I remember this version being insanely expensive, as it was targeted to the 'server' crowd, IBM had shortsightedly decided end users wouldn't want SMP. While Windows NT Workstation always supported two physical processors.

OS/2 Warp 3

OS/2 Warp 3.0 BlueSpine
  • 3.0 (09/1994)

This was the WARP release. At the time this release preempted the Windows 95 release. IBM had done their best to tune OS/2 to run in 4MB of RAM on a 386SX CPU. Warp also included the 'bonus pack' which included SLIP/PPP TCP/IP, a dialer application and a word processor & spreadsheet. A simple Gopher client & NNTP client were also included.

IMHO this is where IBM missed the boat, by making TCP/IP difficult to configure, and by not including LAN drivers (that was WARP CONNECT), while Windows 95 & NT 3.5 both included SLIP/PPP *AND* LAN drivers.

I *THINK* it was this release that included the ability to run Win32s, which was a boon for Netscape & Mosaic.

  • 3.01 (1995)

OS/2 Warp with Win-OS/2

  • 3.02 (1995)

OS/2 Warp Connect OS/2 Warp Server OS/2 Warp Server Advanced

  • 3.05 (01/1996)

OS/2 Warp Server Advanced for SMP

OS/2 Warp 4

OS/2 Warp Logo
  • 4.0

OS/2 4.0 included both Java and Netscape in this release. Sadly IBM had still not 'gotten it' with regards to TCP/IP and insisted on a 'connect' version of 4.0 that included the LAN drivers. 4.0 also included the ability to install servicepacks online.

  • 4.01

Workspace on-Demand 1.0 (WSOD) Workspace on-Demand 2.0

  • 4.5

IBM OS/2 Warp Server for e-business Fixpak >=13 applied to OS/2 Warp 4 or WSOD

  • 4.51

Aurora Convenience Package 1 (ACP1), Merlin Convenience Package 1 (MCP1)

  • 4.52

Aurora Convenience Package 2 (ACP2), Merlin Convenience Package 2 (MCP2)

This was the last IBM release of OS/2.

PowerPC port

It's a deep secret that the PowerPC version ended up sucking up so much time, effort and money from IBM's development of OS/2, that it ended up bleeding the group dry, and without a product to ship. IMHO it's a shame, as partnered with the PowerPC 615 CPU it could have revolutionized the industry.. But then back then everyone expected Intel to hit a wall, IBM had the 615 in their pocket which was a PowerPC CPU which was pin compatible with a 486, and could run x86 code (albeit slow..) and then switch to PPC mode. The company NexGen opened up everyone's eyes that a specialized RISC CPU could in fact run x86 instructions much quicker then a real Intel CPU... This opened the way to the Pentium CPUs and effectively killed the RISC revolution.

There is a most excellent review to be found here that also includes screenshots.

Running OS/2 under an Emulator

16 bit versions

The latest version of VirtualBOX from SUN is capable of installing & Running the 1.x version of OS/2 provided that they have had a timing patch in place. I have found that the 'best' profile is to use the "Oracle Solaris 10 5/09 and earlier" profile. Be sure to limit the VM to 16MB of RAM, add both a floppy drive, and a serial port, otherwise you'll have difficulty booting.

Right now the best solution is either PCem or 86Box. With the appropriate ROMS it's possible to install onto an emulated 286/386 class based machine.

OS/2 1.0

OS/2 1.0 under VirtualBOX
  • First version from November 1987 - no success.
  • There is a later 1987 version that does run, it may be an OS/2 1.1 beta?

It seems the 1.0 IBM kernels rely on 286 triple faults and Virtual Box does not emulate it. However there is an early Microsoft OS/2 1.1 beta that uses the 386 method of switching to protected mode, and will run on modern machines (as long as the speed fix in place.).

OS/2 1.1

OS/2 1.1 under Bochs

There are some hacks available to run OS/2 1.1 under VMWare, and Bochs. There are some binary patches you can do to allow old 1.x OS/2 on fast machines. Even without an emulator you'd need to do this on anything in Pentium II speeds.. With the speed stuff in hand, you can now run 1.1 on VirtualBOX as its floppy driver now works with OS/2 to detect speed/density correctly.

OS/2 1.1c is the first version that supports the 386's method of switching from protected mode to real mode. Prior to level c of OS/2 1.1 the method was a 286 triple fault, which almost all emulators do not fully support, or it may simply be in the IBM versions. I'm still not sure as early versions of OS/2 are hard to track down.

OS/2 1.2

OS/2 1.2 on VirtualBOX

With the above hex edits in place, OS/2 1.2 installs somewhat ok. The big 'issue' I found was that the IBM version of OS/2 1.2 does not support PS/2 mice on the IBM AT computers. However you can take the PS/2 driver from OS/2 1.3 and use it.

OS/2 1.21

OS/2 1.21 on VirtualBOX

Again there is an issue of no included working mice drivers, and poaching the driver from 1.3 works fine.

OS/2 1.3

OS/2 1.3 under Virtual PC.

The only version of OS/2 1.x that can run under an emulator without any hacks applied. The three problems that you will run into is emulated floppy disks are too quick, and other various timing anomalies that will lead to a COUNTRY.SYS failure.

The method for install requires you to install OS/2 1.3 on a physical machine, update it, then make a whole disk image of it. I can confirm that OS/2 1.3 runs under Virtual PC 2007 just fine. While it does have some issues with the floppy (it'll throw an error reading the floppy every time you put in a new disk) it will allow you to use the floppy. This makes OS/2 1.3 the easiest to install programs into.

At the moment, none of the 1.x versions will install under emulation, they all must be imaged from a physical machine.

32 bit versions

OS/2 2.0

OS/2 2.00 ended up being a death march of a project, taking far too long, straining the joint agreement between Microsoft and IBM to the breaking point and leading to the infamous divorce. As it'd come to light decades later Microsoft really had been trying to bring an 80386 version of OS/2 to market since inception, and version 2.00 was the chance to bring this to fruition in codename 'Cruiser'. Sadly many of these betas did not survive. There are 3 main branches of these early versions, the Microsoft versions where they were directly involved, the IBM transition to where IBM was now responsible for Cruiser, and finally the Workplace Shell versions, where IBM decided to add a new shell to OS/2 to make 2.00 more 'substantial' but also ended up delaying OS/2 2.00 further.

Betas

These are the ones I currently have access to, or directly know about:

Microsoft Developer's Relase 1
Microsoft Developer's Relase 2
Build 123
OS/2 2.0 Build 123 on 86Box.

The best way to install this is on 86Box/PCem using the AMI 486 clone with a Pentium Overdrive processor and use the InPort Bus mouse adapter, along with the generic VGA adapter.

This build is the 'divorce' edition when IBM started to ship the betas itself, this version uses the OS/2 1.2 Presentation Manager. The MS-DOS is built around MS-DOS 4.0 and includes no DPMI support at all. You can read more about it on OS/2 Museum. The disks can be downloaded from archive.org [here].

To install I used 86box i486 Socket 2, IBM PS/ValuePoint 433DX/Si, with a Pentium OverDrive 63 MHz processor, and a 'type 9' disk setup on IDE. The mouse is set to PS/2 mode.

The kernel has the following version string:

Internal revision 6.123, 91/02/04 $


The Copyright dialog has this dated for 1990.

Build 605

Not sure why it's build 605 as it is way out of sequence. Perhaps they thought they were close to the end. This is one of the last Presentation Manager based releases. It can be downloaded from [archive.org here].

The kernel string reports as:

Internal revision 6.605, 91/09/11

The accessories are more fleshed out than 6.123, and to me despite it not supporting DPMI it feels like something that could have shipped in '89.

605 also introduced the minimal text setup spanning install disk 1-4, with the rest being setup under the Presentation Manager.

Build 177
OS/2 2.0 LA running under VirtualBOX.

At the moment the only way I've been able to install OS/2 2.0 LA on Virtual PC/VirtualBOX is to 'cheat' and use the install & disk 1 from OS/2 2.0 GA, and replace the following files on disk1, from LA's disk 1:

  • CMD.EXE
  • HARDERR.EXE
  • SYSINST1.EXE
  • SYSINST2.EXE
  • FDISK.COM
  • SYSLEVEL.OS2
  • DISK.NUM

Then boot from GA's install, then use its disk 1. Then use LA's disk from that point onward, and it'll install.

Build 304
GA
OS/2 2.0 running under Qemu.
OS/2 2.0 running under Virtual PC 5 for OS/2

I've run OS/2 2.0 & 4.0 under Virtual PC, and Qemu... I guess it really comes down to if you move disk images around between various hardware platforms. Anything prior to version 3.0 should be run in an ISA emulation mode (-M isa) to let the peripherals work in a more compatible manner... Virtual PC 2007 works fine as well, and includes extensions that allow the guest VM to use drives that are installed on the host PC. I've heard that VMWare has given up the compatibility mode fixes.

I'm now running OS/2 2.0 under VMWare Player, and it seems to be running OK. I've found one issue with networking, the Set PermaNet Server feature must be set to TRUE, under the LAPS configuration tool.

OS/2 2.1

Adds 32-bit Graphics Subsystem. S3 display drivers are usable under Virtual PC.

OS/2 Warp 3

  • For installation with XDF diskettes, Virtual PC works, however you'll need to use the floppy drivers & xdf driver from OS/2 4.0
  • You should first apply the latest fixpak (XRGW040) to use Guest Additions from Virtual PC.
  • After this also GRADD device drivers (from Additions, IBM or Scitech SNAP) can be installed.

OS/2 Warp 4

Fixpak 5 or better 9 should be applied for GRADD.

OS/2 Warp Server for e-business (4.5)

Works with Virtual PC.

OS/2 Convenience Package 1 (4.51)

Works with Virtual PC.

OS/2 Convenience Package 2 (4.52)

Works with Virtual PC and VirtualBox.

Popular Applications

Autodesk

  • AutoCad

IBM

  • IBM DisplayWrite5/2

Informix

  • Wingz

Lotus

  • Lotus 1-2-3/G
  • Lotus Freelance Graphics

Micrografx

  • Micrografx Designer 3.0
  • Micrografx Draw for OS/2

Microsoft

Microsoft did port over a bunch of their languages, along with a few applications, namely:

  • Languages
    • Microsoft MASM 6.0
    • Microsoft C 5.1, 6.0
    • Microsoft COBOL PDS
    • Microsoft Basic 6.0
    • Microsoft Basic PDS 7.0, 7.1
    • Microsoft Fortran
  • Productivity
    • Microsoft Word 5.0, 5.5
    • Microsoft Word (for Presentation Manager) 1.1
    • Microsoft Excel 2.2, 3.0

All of these products are 16 bit only. While there were two pre-releases of MS OS/2 2.0 that included CL386 & MASM386 none of these are fully out in the wild so I'm not sure if they could produce programs that would run on the IBM OS/2 2.0 GA and beyond.

StarDivision

  • StarWriter 2.0 for OS/2
  • StarOffice 3.0

Watcom

  • Watcom C / C++
  • Watcom Fortran 77
  • Watcom SQL

See also