OS/2 son las siglas de "Sistema operativo de segunda generación". La idea de OS/2 surgió entre IBM y Microsoft a mediados de los 80, en un intento de hacer un sucesor de MS-DOS, el cual ya empezaba a acusar el paso del tiempo y resultaba claramente desaprovechador de los recursos de las máquinas de la época (basadas en el Intel 286).
OS/2 1.0 salió en abril de 1987 y era un sistema operativo de 16 bits, pues estaba pensado para trabajar sobre el microprocesador 286. Sin embargo, aprovechaba plenamente el modo protegido de este ordenador, haciendo uso de sus capacidades para protección de memoria, gestión de multitarea, etc. El resultado fue un S.O. estable, rápido y muy potente.
OS/2 ya tenía incorporada desde esa primera versión la multitarea real. Se podían ejecutar varias sesiones simultáneamente, en cada una de ellas se podían tener múltiples programas, y cada uno de ellos podía tener múltiples threads en ejecución. Se trataba de una multitarea jerárquica, con cuatro niveles de prioridad: Crítico (útil para programas que requieran atención casi constante por parte de la CPU, como un módem), Primer plano (correspondiente al programa que tiene acceso a la pantalla, teclado y ratón), Medio (programas lanzados por el usuario que se ejecutan en BackGround) y Desocupado (tareas de poca importancia o lentas, como el Spooler de impresión). Dentro de cada nivel (a excepción del de Primer plano), existen 32 niveles de prioridad, los cuales son asignados dinámicamente a cada programa por el S.O. en función del porcentaje de uso de la CPU, de los puertos de E/S, etc.
OS/2, además, permitía memoria virtual, con lo que se podían ejecutar programas más largos que lo que la memoria física instalada permitiría en principio (los requerimientos de aquella versión eran un 286 con 2 megas de memoria). Por otro lado, incluía la característica de compartición de código: al cargar dos veces un mismo programa, el código de este no se duplicaba en memoria, sino que el mismo código era ejecutado por dos Threads diferentes. Esto permitía ahorrar mucha memoria.
Esta versión de OS/2 era íntegramente en modo texto. Si bien el Sistema Operativo daba la posibildad de usar los modos gráficos de la tarjeta del ordenador, no incluía ningún API que ayudase en ello, recayendo todo el trabajo de diseño de rutinas de puntos, líneas, etc en el programador de la aplicación. Esto no era realmente tan problemático, pues era lo que se hacía (y se hace) en el mundo del MS-DOS. Sin embargo, se hechaba en falta un entorno gráfico como Windows.
En la versión 1.1, aparecida en octubre de 1988, llegó por fin el Presentation Manager, un gestor de modo gráfico, junto con la primera versión de Work Place Shell. Ambos formaban un entorno gráfico muy parecido al aún no comercializado Windows 3.0. También hizo su aparición el formato de ficheros HPFS (High Performance File System). Este sistema de ficheros complementaba al clásico FAT, que era el usado por MS-DOS y por OS/2 1.0; sin embargo, ofrecía una gran cantidad de ventajas, tales como
OS/2 2.0, la primera versión de OS/2 de 32 bits, iba a salir inicialmente a finales de 1990; pero al no contar con la ayuda de Microsoft, IBM no fue capaz de sacarlo hasta 1992, dandole a Windows 3.0 el tiempo suficiente para asentarse en el mercado.
OS/2 2.0 tenía todas las ventajas de los anteriores OS/2, unido al nuevo núcleo de 32 bits. No se trataba, por tanto, de un retoque de la versión de 16 bits, sino un sistema operativo prácticamente nuevo que aprovechaba al máximo las capacidades del modo protegido del microprocesador 386. Sin embargo, iba más allá que Windows, pues al contrario que éste, ofrecía compatibilidad garantizada con todas las aplicaciones de 16 bits anteriores, gracias a la inclusión del API original de 16 bits junto con el nuevo de 32, y además sin perdida de prestaciones. Así mismo, ofrecía también compatibilidad con Windows 2.x y 3.0, junto con una compatibilidad con MS-DOS muy mejorada, gracias al modo V86 que incorporan los micros 386 y del que carecía el 286: en OS/2 1.x la compatibilidad DOS era muy limitada, quedando reducida a una sola tarea y realizando un cambio entre modo real y modo protegido del microprocesador, además de consumir de manera permanente 640 Ks de memoria. Aparte, la emulación no era todo lo buena que cabía esperar. Todos estos problemas desaparecieron en la versión 2.0, pudiendo tener varias sesiones DOS totalmente independientes entre sí, con una compatibilidad cercana al 100% y beneficiándose de las capacidades de Crash Protection del OS/2, que impiden que un programa pueda colapsar el sistema entero.
Por otro lado, el Work Place Shell (el shell de trabajo gráfico, de ahora en adelante WPS) fue muy mejorado, resultando un shell totalmente orientado a objetos, con acceso directo a los ficheros, carpetas dentro de carpetas, ficheros sombra (conocidos como alias en los sistemas UNIX) y un escritorio de verdad. A su lado, el shell de Windows 3.0 quedaba a la altura del betún.
IBM consiguió vender OS/2 2.0 en grandes cantidades; sin embargo, no consiguio su autentico despegue, en parte por culpa de la falta de apoyo por parte de las empresas de software. El API del Presentation Manager, aunque similar al de Windows, tenía muchas diferencias, con lo que las empresas tuvieron que elegir entre uno u otro, ante la imposibilidad de muchas de ellas de dividir su talento entre ambos sistemas.
A principios de 1994 aparece OS/2 Warp, nombre comercial de la versión 3.0 de OS/2. En ella surgen nuevos elementos: un kit completo de multimedia (mejora del que traía la versión 2.1) y el Bonus Pak, un kit de aplicaciones que permite ponerse a trabajar con el ordenador nada más instalar el Sistema Operativo, pues contiene elementos como un Kit de conexión a Internet completo, el paquete integrado IBM Works (formado por un procesador de textos, hoja de cálculo, base de datos y graficos de empresa, junto con el PIM, que añade más funcionalidades aprovechando las capacidades drag&drop del WPShell), soft de terminal, soft de captura y tratamiento de video, etc. Así mismo, la cantidad de hardware soportado fue ampliado de manera considerable, soportando casi cualquier dispositivo existente en el mercado: CD-Roms, impresoras, tarjetas de sonido, soporte PCMCIA, tarjetas de video, tarjetas de captura de video, tarjetas SCSI, etc. Los requisitos mínimos de esta versión seguían siendo un 386sx a 16MHz con 4 megas de RAM, los mismos que Windows 3.11, y podía ejecutar programas DOS, OS/2 16bits, OS/2 32 bits, Windows 2.x y Windows 3.x (incluia además el API Win32s, con lo que se podían ejecutar incluso programas Windows de 32bits).
IBM se metió en una campaña publicitaria a nivel mundial para promocionar esta nueva versión, la cual, sin embargo, no dio los resultados esperados por ser demasiado light (todos recordaremos aquel anuncio de las monjitas en el convento, cuando una le dice a otra que ya tiene el nuevo OS/2 Warp, contando las nuevas características de este sistema operativo). A pesar de eso, OS/2 es ampliamente utilizado en múltiples empresas, bancos sobre todo, en donde su estabilidad es la mayor garantia (los propios cajeros automáticos funcionaban inicialmente con OS/2 1.0, si bien actualmente usan OS/2 Warp).
Poco después sale al mercado una revisión de Warp, denominada Warp Connect, la cual añade un kit completo de conexión a redes, soportando prácticamente cualquier estandar de red, incluyendo Novell Netware, TCP/IP, etc. junto con soporte para SLIP y PPP.
En Noviembre de 1996 se hizo la presentación de Merlín, nombre clave de OS/2 4.0, y que, en contra de lo que mucha gente piensa, no tiene nada que ver con el mítico mago de la corte del rey Arturo, sino con un pájaro parecido a un águila (siguiendo la nueva filosofía de IBM de nombrar sus creaciones con nombres de aves). Merlín trae todo lo que ofrecía OS/2 3.0, pero lo amplia con un conjunto extra de características, como son: