OS/2
From Free net encyclopedia
Template:Infobox OS Image:Os2logo.png
OS/2 is an obsolescent operating system created by Microsoft and IBM and 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 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 link text mode applications in such a way that they could work on both systems ("bound" programs). Because of this heritage, in terms of look, feel and features, OS/2 is not unlike Windows in many ways, but it also shares similarities with Unix and XENIX.
Contents |
Development history
Enthusiastic beginnings
IBM and Microsoft signed the Joint Development Agreement in August 1985.
OS/2 1.0 was announced in April 1987 and released in December, as a text mode-only OS. It however featured a rich API for controlling the video display (VIO) and getting keyboard and mouse events, a sort of a protected-mode BIOS. Not surprisingly, the video and keyboard APIs were also available to "bound" programs on 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.
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.
Version 1.2 introduced the HPFS filesystem. It also extended the FAT filesystem, introducing a form of Alternate Data Streams called extended attributes, also available on HPFS.
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.
Breakup: the five year itch
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". It was the public, however, that chose Windows over OS/2, in large part due to the distribution of Windows as part of a software bundle sent out with thousands upon thousands of major-name computer systems, while OS/2 was only available as an expensive stand-alone software package. 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.
There were several technical reasons for the breakup and several practical reasons why the public preferred Windows:
- API incompatibility: IBM arrived on the scene when Windows 1.0 was near completion, and the Windows API already defined. However, they requested that this API be significantly changed for OS/2. Therefore, the problem of application compatibility appeared immediately. OS/2 designers at best envisaged source code conversion tools, allowing complete migration of Windows application source code to OS/2 at some point. However, OS/2 1.x never gained a momentum allowing vendors to abandon parallel Windows support. (Conversely, IBM's participation was much more successful in the re-definition of Windows' visual appearance after the 1.0 release, giving what today is perceived as the "Windows 3.1 look".)
- OS/2 could not run Windows programs: Support for Windows applications appeared in version 2.0 of OS/2 only, by inclusion of original Windows code.
- Focus on an obsolete and very particular processor and insufficient backwards compatibility: IBM insisted on supporting the 16-bit segmented-mode Intel 80286 processor, probably because they shipped it in a larger number of machines, for which the imminent arrival of OS/2 was supposed to be a selling point. Also, 386 processors were initially offered mostly by their competitor, Compaq. Until release 2.0 in April 1992, OS/2 ran in 16-bit mode and could not benefit from Intel 80386's new 32-bit and virtualization features. This was especially visible in the level of DOS support. Whereas Windows/386 2.1 in 1988 could already run several preemptively multitasked DOS windows, offering them Expanded Memory Specification memory emulation (and in version 3.0 virtual memory), OS/2 1.3 in 1991 was still limited to one 640KB "DOS box." This exclusive usage of an old compatibility mode on a new processor in a new high-end system was a paradox previously present at the time of the release of the PC/AT computer.
- The 640 KB barrier has been broken by other means: According to Gordon Letwin, being able to run applications larger than 640 KB was supposed to be a major selling point for OS/2. However, in the meantime, DOS extenders had been invented, which allowed both 16 and 32-bit protected mode programs to run on old DOS. And with the 386 processor, expanded memory became much cheaper and accessible in the form of an efficient software emulation.
- Dave Cutler's arrival: Given the above, Microsoft felt it necessary to work in parallel on a version 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 technology (cf. his famous quote) and wanted to construct a "VMS plus" rather than just a "DOS plus." His "OS/2 3.0," also called "NT OS/2" (which supposedly stood for New Technology), was a completely new architecture.
- OS/2 1.x market failure: Some of the above reasons, along with the classic too inflated hardware requirements versus the perceived benefits of the system, and a price tag set at a professional level, contributed to keep OS/2 1.x unpopular (just as they later hindered NT's progress). The home market was DOS-centric, while the business market was divided between DOS at the workstation level and advanced operating systems such as XENIX, Unix, and PICK. OS/2 1.x, primarily a Microsoft effort, was seen as just another 16-bit operating system, and even the weight of MS and IBM couldn't create much interest.
- Fragmentation of development efforts: In 1989 - 1990 Microsoft had to work on too many operating systems: DOS, 16-bit OS/2 1.x, portions of OS/2 2.0, Windows 2.x, Windows 3.x, and OS/2 3.0 (the precursor to Windows NT).
IBM grew concerned about 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 the revenue point of view, 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. Waiting for this new high-end system to FCS, 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 (although write support was dropped in Windows NT 4.0 and read support was dropped in Windows 2000), text mode OS/2 1.x applications (support dropped in Windows XP), and OS/2 LAN Manager network support. Some early NT distributed discs included OS/2 copyright notices embedded in the software, to be removed in subsequent editions.
IBM was "vindicated" in 2005 when Microsoft agreed to pay IBM $775 million plus an additional $75 million credit in Microsoft software to settle several antitrust claims including those related to OS/2. However, this seems to have applied to post-OS/2 2.0 competition, rather than to the 1990 breakup.
32-bit era
DOS compatibility
OS/2 2.0, released in April 1992, was touted by IBM as "a better DOS than DOS and a better Windows than Windows".
Indeed, because of the limitations of the Intel 80286 processor, OS/2 1.x could only run one "DOS box" at a time, and did this in an insecure way by ping-ponging the entire processor between real and protected modes, using the undocumented LOADALL machine instruction. A problem in DOS mode would 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 potentially totally secure virtual machine for DOS to run inside. However, such a secure VM incurs a significant performance hit compared to original hardware, and unsecuring some parts of the VM (OS/2 was very configurable in this area) to make it more usable again allowed DOS programs to crash the computer.
Just like Windows, OS/2 could not run protected mode DOS programs using the older VCPI interface; it only supported programs written according to DPMI.
Windows 3.x compatibility
Compatibility with Windows 3.x was achieved by adapting Windows GUI code to run inside a 16-bit OS/2 process, rather than above the original Windows kernel. For this reason, Windows could only run in the "standard" mode and not in the "386 enhanced" mode. This did not matter very much, since OS/2 managed virtual memory and DOS virtual machines independently. Originally, Windows code was included in the distribution (Windows 3.0 in OS/2 2.0 and Windows 3.1 in OS/2 2.1), but later (OS/2 2.1 for Windows and red OS/2 3.0) versions reused whatever Windows version the user had installed previously, patching it on the fly, and sparing the cost of an additional Windows license.
The process containing Windows was given a fairly extensive access to hardware, especially video, and the result was that switching it in or out could occasionally hang the entire machine.
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. This required specially enabled OS/2 video drivers.
To achieve 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 also allowed easy communication between 16-bit and 32-bit applications, whereas Windows applications on OS/2 were relatively isolated from OS/2 ones, pretty much as if they ran in a VMware virtual machine. The isolation was increased by the fact that OS/2 did not allow DOS/Windows programs to access files or directories having "long" names on HPFS: there were no 8.3 aliases, such files and directories were simply invisible. On the positive side, it was possible to use DDE between native and Windows applications.
Native features
Image:OS2 Warp 3.png OS/2 2.0 also provided a new GUI called the Workplace Shell and a 32-bit API for native programs, though the OS itself was a mixture of 16-bit and 32-bit code (as Windows 95 would be).
Software developers were encouraged by IBM and by OS/2 users to create OS/2 versions of their popular applications and drivers.
A significant factor in the spread and acceptance of OS/2 2.0 and later releases was Team OS/2, a grass-roots advocacy movement formed in 1992.
The "Warp" years
Image:OS2 workplace shell.png In version 3.0, released in 1994, OS/2 got re-badged as "OS/2 Warp", probably to stress the new performance benefits, and generally to freshen the product image. "Warp" has originally been the internal IBM name of the release (they used Star Trek terms as internal names for OS/2 releases) and it seemed cute enough for external use as well. At the launch of OS/2 Warp in 1994, Patrick Stewart was to be the Master of Ceremonies, however Kate Mulgrew of then-upcoming series Star Trek: Voyager was substituted at the last minute.
It offered a host of benefits, notably broader hardware support, greater multimedia capabilities, Internet-compatible networking, and was distributed with a basic office application suite.
In 1996, Warp 4 added Java and voice 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.
However, this 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 (December 31 2006). Sales of OS/2 stopped on December 23 2005. 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 early in 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.
One of the reasons why OS/2 may be doomed more than other legacy x86 operating systems is its extensive reliance on the full set of features of the CPU. The result is that it is difficult to run OS/2 inside a VMware virtual machine. 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. Better luck might be hoped for with more recent OS/2 releases.
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.
QEMU and Bochs also support running OS/2.
Security niche
OS/2 is virtually free of 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.
Future
Template:Wikinews 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. <ref>See Petition to open</ref>
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.
Technology
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.
Problems
Some problems were classic subjects of comparison with other operating systems:
- Single input queue: 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 absence of 8.3 aliases for filenames and directories, 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.
Quotations
Template:Wikiquotepar During the next 10 years, millions of programmers and users will utilize this system Bill Gates, November 1988 (in the Foreword to the Inside OS/2 book by Gordon Letwin, Microsoft's architect for OS/2).
This quotation can be interestingly compared with another one, by Dave Cutler and coming from his introduction to the Inside Windows NT book:
"In the summer of 1988, I received an interesting call from Bill Gates at Microsoft. He asked whether I'd like to come over and talk about building a new operating system at Microsoft for personal computers. [...] What Bill had to offer was the opportunity to build another operating system, one that was portable [...]".
References
Template:Unreferenced <references />
See also
- History of the graphical user interface
- REXX
- eComStation
- osFree appears to be dead for the time being.
External links
- Microsoft settles IBM antitrust claims
- IBM's official OS/2 page
- Community of OS/2 users
- Petition to make OS/2 open source
- Petition to release OS/2 to the general public
- eComStation official site
- eComStation.org - unofficial site
- History of OS/2
- A Short History of OS/2
- netlabs.org - OpenSource Software for OS/2 and eCS
- OS/2 FAQ (including version history details and marketing information)
- OS/2 Ezine (for OS/2 evangelism, news updates, and other articles)
- "OS/2" category in the Open Directory
- Some fundamental OS/2 concepts by Peter Moylan
- Electronic Developer Magazine/2, developer information. Currently running on Mediawiki.
- OS/2 Warp, PowerPC Edition, about an aborted port to PowerPC machines.
- Usenet post by Joern Dierks showing that OS/2 viruses exist
- Listing of OS/2 viruses on VX Heavens
- An estimation of the costs of open-sourcing OS/2
- hobbes.nmsu.eduThe OS/2 software repository
- What's happening to OS/2, a Usenet post by Gordon Letwin from August 1995 explaining why he thought that OS/2 was doomed from the point of view of a Microsoft employee.ca:OS/2
cs:OS/2 da:OS/2 de:OS/2 es:OS/2 eo:OS/2 fr:OS/2 gl:OS/2 it:OS/2 hu:OS/2 nl:OS/2 ja:OS/2 no:OS/2 pl:OS/2 pt:OS/2 ru:OS/2 fi:OS/2 sv:OS/2 tr:OS/2 zh:OS/2