punkabbestia HOME
[ start | index | login or register ]
start > os2



OS/2 is an operating system created by Microsoft and IBM, later developed by IBM exclusively. The name stands for "Operating System/2", because it was introduced as the preferred operating system for IBM's "Personal System/2 (PS/2)" line of second-generation Personal Computers. OS/2 is no longer marketed by IBM, and support for OS/2 is scheduled to be discontinued on December 31, 2006.

OS/2 was intended as a protected mode successor of MS-DOS and Microsoft Windows. Notably, basic system calls were modeled after MS-DOS calls; their names even started with "Dos" and it was possible to create "Family Mode" applications: text mode applications that could work on both systems. Because of this heritage, OS/2 is like Windows in many ways, but it also shares similarities with Unix and Xenix.

Development history

Enthusiastic beginnings

The development of OS/2 began when IBM and Microsoft signed the Joint Development Agreement in August 1985. However, it took two years for the first product to be delivered.

OS/2 1.0 was announced in April 1987 and released in December as a text mode-only OS. However, it featured a rich API for controlling the video display (VIO) and handling keyboard and mouse events in a sort of protected-mode BIOS. In addition, the video and keyboard APIs were also available to family mode programs running under MS-DOS. A task-switcher named Program Selector was available through the Ctrl-Esc hotkey combination, allowing the user to select among multitasked text-mode sessions (or screen groups; each could run multiple programs).

Communications and database-oriented extensions were delivered in 1988, as part of OS/2 1.0 Extended Edition: SNA, X.25/APPC/LU 6.2, LAN Manager, Query Manager, SQL.

The promised GUI, Presentation Manager, was introduced with OS/2 1.1 in November 1988. With proportional fonts, it was a precursor of the later Windows 3.0 look.

The Extended Edition of 1.1 introduced distributed database support.

Version 1.2 introduced Installable Filesystems and notably the HPFS filesystem. HPFS provided a number of improvements over the older FAT filesystem, including long filenames and a form of Alternate Data Streams called Extended Attributes. In addition, extended attributes were also added to the FAT filesystem.

The Extended Edition of 1.2 introduced TCP/IP and Ethernet support.

OS/2 and Windows-related books of the late 1980s acknowledged the existence of both systems and promoted OS/2 as the system for the future.


The collaboration between IBM and Microsoft unravelled in 1990, between the releases of Windows 3.0 and OS/2 1.3. Initially, at least publicly, Microsoft continued to insist the future belonged to OS/2. Steve Ballmer of Microsoft even took to calling OS/2 "Windows Plus". However, during this time, Windows 3.0 became a tremendous success, selling millions of copies in its first year. Much of its success was due to the fact that Windows 3.0 (along with MS-DOS) was bundled with most new computers. OS/2, on the other hand, was only available as an expensive stand-alone software package. In addition, OS/2 lacked device drivers for many common devices such as printers, particularly non-IBM hardware. Windows, on the other hand, supported a much larger variety of hardware. The increasing popularity of Windows prompted Microsoft to shift its development focus from cooperating on OS/2 with IBM to building a franchise based on Windows. Several technical and practical reasons contributed to this breakup:

  • Differences in API: OS/2 was announced when Windows 1.0 was near completion, and the Windows API already defined. However, IBM requested that this API be significantly changed for OS/2. Therefore, issues surrounding application compatibility appeared immediately. OS/2 designers hoped for source code conversion tools, allowing complete migration of Windows application source code to OS/2 at some point. However, OS/2 1.x did not gain enough momentum to allow vendors to avoid developing for both OS/2 and Windows in parallel. IBM's involvement was much more successful in redefining Windows' visual appearance after the 1.0 release, giving it what is today perceived as the "Windows 3.1 look".
  • OS/2 targeted the 80286 Processor: IBM insisted on supporting the Intel 80286 processor, with its 16-bit segmented memory mode, due to commitments made to customers who had purchased a large number of 80286-based PS/2's because of IBM's promises surrounding OS/2. Until release 2.0 in April 1992, OS/2 ran in 16-bit protected mode and therefore could not benefit from the Intel 80386's much simpler 32-bit flat memory model and virtual 8086 mode features. This was especially painful in providing support for DOS applications. While, in 1988, Windows/386 2.1 could run several preemptively multitasked DOS applications, including EMS memory emulation, OS/2 1.3, released in 1991, was still limited to one 640KB "DOS box."
Given these issues, Microsoft felt it was necessary to work in parallel on a version of Windows which was more future-oriented and more portable. The hiring of Dave Cutler, former VMS architect, in 1988 created an immediate competition with the OS/2 team, as Dave did not think much of the OS/2 technologycitation needed and wanted to construct a "VMS plus" rather than just a "DOS plus". His "NT OS/2" (which supposedly stood for New Technology), was a completely new architecture.

IBM grew concerned about the delays in development of OS/2 2.0 and the diversion of IBM funds earmarked for OS/2 development towards Windows. Initially, the companies agreed that IBM would take over maintenance of OS/2 1.0 and development of OS/2 2.0, while Microsoft would continue development of OS/2 3.0. In the end, Microsoft decided to recast NT OS/2 3.0 as Windows NT, leaving all future OS/2 development to IBM. From a business perspective, it was logical to concentrate on a consumer line of operating systems based on DOS and Windows, and to prepare a new high-end system in such a way as to keep good compatibility with existing Windows applications. While waiting for this new high-end system to develop, Microsoft would still receive licensing money from XENIX and OS/2 sales. Windows NT's OS/2 heritage can be seen in its initial support for the HPFS filesystem, text mode OS/2 1.x applications, and OS/2 LAN Manager network support. Some early NT materials even included OS/2 copyright notices embedded in the software.

32-bit era

OS/2 2.0, released in April 1992, was touted by IBM as "a better DOS than DOS and a better Windows than Windows". For the first time, OS/2 was able to run more than one DOS application at a time. This was so effective that it allowed OS/2 to actually run a modified copy of Windows 3.0, itself a DOS extender, including Windows 3.0 applications. Also new in version 2.0 was the Workplace Shell, an object-oriented environment that ran on top of the older Presentation Manager GUI.

DOS compatibility

Because of the limitations of the Intel 80286 processor, OS/2 1.x could only run one DOS program at a time, and did this in a way that allowed the DOS program to have total control over the computer. A problem in DOS mode could crash the entire computer. In contrast, OS/2 2.0 could benefit from the virtual 8086 mode of the Intel 80386 processor in order to create a much safer virtual machine in which to run DOS programs. This included an extensive set of configuration options to optimize the performance and capabilities given to each DOS program.

Like most 32-bit environments, OS/2 could however not run protected-mode DOS programs using the older VCPI interface, unlike the Standard mode of Windows 3.0 and 3.1; it only supported programs written according to DPMI.

Unlike Windows NT, OS/2 also always gave DOS programs the possibility of masking real hardware interrupts, so any DOS program could deadlock (crash) the machine this way. OS/2 could however use a hardware watchdog on selected machines (notably IBM) to break out of such a deadlock. Later, release 3.0 leveraged the enhancements of newer Intel 486 processors—the Virtual Interrupt Flag—to solve this problem.

Windows 3.x compatibility

Compatibility with Windows 3.0 (and later Windows 3.1) was achieved by adapting Windows user-mode code components to run inside a virtual DOS machine. Originally, a nearly complete version of Windows code was included with OS/2 itself: Windows 3.0 in OS/2 2.0, and Windows 3.1 in OS/2 2.1; however, IBM later developed versions of OS/2 that would use whatever Windows version the user had installed previously, patching it on the fly, and sparing the cost of an additional Windows license. It could either run full-screen, using its own set of video drivers, or "seamlessly", where Windows programs would appear directly on the OS/2 desktop. The process containing Windows was given fairly extensive access to hardware, especially video, and the result was that switching between a full-screen WinOS/2 session and the Workplace Shell could occasionally cause issues.

Because OS/2 only ran the user-mode system components of Windows, it was not compatible with Windows device drivers (VxDs) and applications needing them.

Multiple Windows applications ran in a single Windows process, just as they would under native Windows. To achieve true isolation between Windows 3.x programs, OS/2 needed to run multiple copies of Windows in parallel. This approach required considerable system resources, especially memory. Microsoft used a simpler approach in Windows NT, translating Win16 system calls to Win32 ones by the means of a Windows-on-Windows adaptation layer; this was not possible on OS/2 because its API was significantly different. It was possible to use DDE between OS/2 and Windows applications, and OLE between Windows applications only.

Native features

OS/2 2.0 provided a 32-bit API for native programs, though the OS itself was a mixture of 16-bit and 32-bit code. It also included a new GUI environment called the Workplace Shell. This was a fully object-oriented GUI that was a signficant departure from the previous GUI. Rather than merely providing an environment for program windows (such as the Program Manager), the Workplace Shell provided an environment in which a user could manage programs, files and devices by manipulating objects on the screen.

A significant factor in the spread and acceptance of OS/2 2.0 and later releases was Team OS/2, a grass-roots advocacy group formed in 1992.

The "Warp" years

OS/2 version 3.0, released in 1994, was labelled as "OS/2 Warp" to highlight the new performance benefits, and generally to freshen the product image. "Warp" had originally been the internal IBM name for the release: IBM claim that they had used Star Trek terms as internal names for past OS/2 releases, and that this one seemed appropriate for external use as well. However this has been contested by Monaco based Software company APT International who claim that they approached IBM with a performance product called Warp with a view to joint marketing, just before IBM's OS/2 dramatic change of name. APT battled IBM through the French High Court of justice ("Le Tribunal de Grande Instance de Paris") for seven years with IBM claiming they had a prior Warp trademark with their product CAEDS. This "warp" was however merely a reference to the Warping (i.e. bending) of materials and not a trademark as IBM most certainly would have been fully aware.

At the launch of OS/2 Warp in 1994, Patrick Stewart was to be the Master of Ceremonies; however Kate Mulgrew of the then-upcoming series Star Trek: Voyager was substituted at the last minute.

OS/2 Warp offered a host of benefits over OS/2 2.1, notably broader hardware support, greater multimedia capabilities, Internet-compatible networking, and it included a basic office application suite. OS/2 Warp Connect followed, which had full network support built-in.

In 1996, Warp 4 added Java and speech recognition software. IBM also released server editions of Warp 3 and Warp 4 which bundled IBM's LAN Server product directly into the operating system installation. The UK-distributed free demo CD-ROM of OS/2 Warp essentially contained the entire OS and was easily, even accidentally, cracked, meaning that even people who liked it didn't have to buy it. This was seen as a backdoor tactic to increase the number of OS/2 users, in the belief that this would increase sales and demand for third-party applications, and thus strengthen OS/2's desktop numbers. This suggestion was bolstered by the fact that this demo version had replaced another which was not so easily cracked, but which had been released with trial versions of various applications.

Warp 4 was the last widely-distributed version of OS/2, and IBM soon announced the end of marketing the operating system to individual users.

Fading out

Overall, OS/2 failed to catch on in the mass market and is today little used outside certain niches where IBM traditionally had a stronghold. For example, many banks, especially Automated Teller Machines, run OS/2 with a customized user interface; French SNCF national railways used OS/2 1.x in thousands of ticket selling machines. Nevertheless, OS/2 still maintains a small and dedicated community of followers. IBM, unlike Microsoft, charged ISVs for the OS/2 development kit, while Microsoft gave the Windows SDK away free.

Although IBM began indicating shortly after the release of Warp 4 that OS/2 would eventually be withdrawn, the company has only recently published a definite end-of-support date (2006-12-31). Sales of OS/2 stopped on 2005-12-23. The latest IBM version is 4.52, which was released for both desktop and server systems in December 2001. A company called Serenity Systems has been reselling OS/2 since 2001, calling it eComStation. The latest version is 1.2, released in 2004, and version 2.0 is due for release late 2006.

IBM is still delivering fixes and updates on a regular basis. IBM urges customers to migrate their often highly complex applications to e-business technologies such as Java in a platform-neutral manner. Once application migration is completed, IBM recommends migration to a different operating system, suggesting Linux as an alternative.

OS/2 is more difficult to run in a virtual machine than most other legacy x86 operating systems because of its extensive reliance on the full set of features of the x86 CPU. During a pre-launch session (ESX3) with VMware in Oslo, Norway, December 2005, they specifically said that OS/2's use of the CPU's ring 2 was the reason that it would not run in VMware.

A side effect of this is that it is difficult to run OS/2 inside of the popular VMware software product. A beta of VMWare 2.0 released in January 2000 was the first emulator which could run OS/2 at all. Later, the company decided to drop official OS/2 support, presumably because it would require serious work that cannot be economically justified. It is still possible to boot OS/2 by setting guestOS = "os2experimental" in the .vmx file of the VM (checked with VMware 3.0 and 5.5), but trying to run different versions of OS/2 leads to frustrating problems most of the time. Versions 1.x will crash immediately with a "TRAP 0000". Versions 2.x are too ancient to recognize the simulated IDE CD-ROM, do not recognize the virtual SCSI hardware and can crash with "TRAP 000C" after some operations. Version 3.0 will just hang on the second installation diskette.

Ironically, Microsoft continues to support OS/2 as a hosted operating system in its Virtual PC product. Presumably this support is present to encourage OS/2 users to migrate to a Microsoft Windows server based platform. ATM vendors NCR Corporation and Diebold Incorporated have both adopted Microsoft Windows as their OS/2 migration paths.

QEMU, Bochs and Parallels Workstation also support running OS/2.

Security niche

OS/2 has very few native computer viruses. Its design possibly could have made it as vulnerable as Windows, but its reduced market share appears to have discouraged virus writers. There are, however, OS/2-based antivirus programs, dealing with DOS viruses and Windows viruses that could pass through an OS/2 server.


There is a community of OS/2 users and developers, along with loyal company customers, hoping that IBM will release OS/2 or a significant part of it as open source. It is unlikely, though, that the entire OS will be open because it contains third-party code, much of it from Microsoft.

Version 2.0 had such a long design cycle that its design started while OS/2 1.1 was still under development, and thus, portions of it were developed in conjunction with Microsoft, even though Microsoft never released a branded version of 2.0 (although they did release a beta in their name). IBM's contribution to versions 1.2 and earlier mostly resides in the GUI components; however, bug fixes and substantial performance changes to the entire system in 1.3 were made by IBM, and much more of the overall system (including the kernel) for 2.0 was developed by IBM.

The aborted PowerPC port did not involve Microsoft at all, and has been proposed as the basis for an open-source 64-bit version of OS/2.

Still, the community has suggested that, even if only the IBM portion of it is made open, the missing parts could be written by the same community to form a next-generation version of the OS. Many developers believe that these missing parts include many of the legacy 16-bit components not revised since OS/2 1.x, and are exactly the parts that should be rewritten anyway. There is an ongoing petition to open parts of the OS arranged by OS2 World.Com.

With the possibility of an open-source future for OS/2, the OS may be given a new lease of life. IBM's current and heavy involvement with several open source projects indicate that opening parts of OS/2 will not be difficult for the company. But until then, OS/2's future remains in limbo.

Open source operating systems such as Linux have already profited from OS/2 indirectly through IBM's release of the improved JFS file system which was ported from the OS/2 code base.

December of 2005 marked the end of marketing of OS/2. One available alternative is eComStation, which is a version of OS/2 Warp 4.52 with several enhancements. eComStation is produced by Serenity Systems which has an agreement with IBM.

In the meantime, however, a project called OsFree is currently being independently developed with the hopes of creating an operating system which will be base-compatible with OS/2 Warp 4 (Merlin), but, at the same time, use exclusively open-source components (such as the L4 kernel) to achieve such compatibility. It eventually aims to also support more recent versions of OS/2, including WarpServer and Serenity Systems' own eComStation.

OS/2 programs will eventually use emulators and compatibility layers for running programs dedicated for OS/2.


The graphic system has a layer named Presentation Manager that manages windows, fonts, and icons. This is similar in functionality to a non-networked version of X11 or the Windows GDI. On top of this lies the Workplace Shell (WPS) introduced in OS/2 2.0. WPS is an object-oriented shell allowing the user to perform traditional computing tasks such as accessing files, printers, launching legacy programs, and advanced object oriented tasks using built-in and 3rd party application objects that extended the shell in an integrated fashion not available on any other mainstream operating system. WPS follows IBM's Common User Access user interface standards.

Hardware vendors were reluctant to support device drivers for alternative operating systems including OS/2 and Linux, leaving users with few choices from a select few vendors. To relieve this issue for video cards, IBM licensed a reduced version of the Scitech display drivers, allowing users to choose from a wide selection of cards supported through Scitech's modular driver design.

WPS represents objects such as disks, folders, files, program objects, and printers using the System Object Model (SOM), which allows code to be shared among applications, possibly written in different programming languages. A distributed version called DSOM allowed objects on different computers to communicate. DSOM is based on CORBA. SOM is similar to, and a direct competitor to, Microsoft's Component Object Model. SOM and DSOM are no longer being developed.

OS/2 also includes a radical advancement in application development with compound document technology called OpenDoc, which was developed with Apple. OpenDoc proved interesting as a technology, but was not widely used or accepted by users or developers. OpenDoc is also no longer being developed.

The multimedia capabilities of OS/2 are accessible through Media Control Interface commands. The last update (bundled with the IBM version of Netscape Navigator plugins) added support for MPEG files. Support for newer formats like PNG, progressive JPEG, DivX, OGG, MP3 comes from third parties. Sometimes it is integrated with the multimedia system, but in other offers it comes as standalone applications.

The TCP/IP stack is based on the open source BSD stack.


Some problems were classic subjects of comparison with other operating systems:

  • Single input queue (SIQ): if a GUI application was not servicing its window messages, the entire GUI system could get stuck and a reboot was required.
  • No unified command line: OS/2 divided programs into strict categories and communication between programs of different categories was problematic: It was not possible to enter fullscreen mode from a "windowed OS/2 session"; a separate "fullscreen OS/2 session" was required, which could not be made windowed. It was not possible to run DOS or Windows programs from an OS/2 session: a specific "DOS session" was required. From this DOS session (which could be toggled fullscreen) it was not possible to start OS/2 programs. Therefore transparent piping of data was not possible. Worse, in the absence of 8.3 aliases for filenames and directories and DOS API extensions supporting long filenames, it was also problematic to give DOS programs access to files managed from OS/2 programs. Even native OS/2 programs had problems communicating: a command-line program could not fully access the system clipboard, which was reserved for "GUI" programs. Workarounds consisted in creating special helper programs (for example an invisible GUI program just for accessing the clipboard) or in using client-server setups, where the client and the server were different types of programs, but communicated using some available way. Just as OS/2 1.x, the 32-bit system was apparently designed with the idea that users would rapidly make a switch to all-native programs.
  • No unified object handles. The availability of threads probably lead system designers to overlook mechanisms which allow a single thread to wait for different types of asynchronous events at the same time, for example the keyboard and the mouse in a "console" program. Even though select was added later, it only worked on network sockets. In case of a console program, dedicating a separate thread for waiting on each source of events made it difficult to properly release all the input devices before starting other programs in the same "session". As a result, console programs usually polled the keyboard and the mouse alternatively, which resulted in wasted CPU and a characteristic "jerky" reactivity to user input. In OS/2 3.0 IBM introduced a new call for this specific problem.
  • No unified virtual memory and disk cache. Modern operating systems can use the entire available RAM for disk caching and can map files into the address space of processes. OS/2 had a dedicated memory pool for disk caching and could not map files. This could result in decreased performance and RAM waste.
source: wikipedia

Configure this box!

  1. Login in
  2. Click here: snipsnap-portlet-1
  3. Edit this box
For hints about formatting text see snipsnap-help.

Logged in Users: (0)
… and a Guest.

< June 2010 > (os2)

>>Java Blogs

XHTML 1.0 validated
CSS validated
RSS 2.0 validated
RSS Feed

Powered by SnipSnap 1.0b3-uttoxeter

(nc)2008 >>punkabbestia.com