Compatible IBM PC
Se denomina Compatible IBM PC o IBM PC compatible a un tipo de ordenadores similares al IBM PC, IBM Personal Computer XT e IBM Personal Computer/AT. Estos ordenadores también llamados PC clones, IBM clones o clónicos, se denomina así porque casi duplican exactamente todas las características importantes de la arquitectura PC, hecho facilitado por la posibilidad de realizar legalmente ingeniería inversa de la BIOS mediante el diseño de sala limpia por parte de varias compañías. Columbia Data Products construyó el primer clon de un IBM PC mediante una implementación de sala limpia de la BIOS.
Muchos de los primeros compatibles IBM PC utilizan el mismo bus que los IBM PC e IBM AT originales. El bus compatible IBM AT es posteriormente llamado Bus ISA por los fabricantes de ordenadores compatibles.
Los descendientes de los compatibles IBM PC constituyen la mayoría de las computadoras personales del mercado actual, pese a que la interoperabilidad con la estructura de bus y periféricos de la arquitectura PC original sea limitada o inexistente.
Orígenes
[[Archivo:IBM PC 5150.jpg|thumb|250px|IBM PC original (Model 5150) motivó la fabricación de clones a principios de la década de
Problemas de compatibilidad
Al mismo tiempo, muchos fabricantes, como Xerox, Hewlett Packard, Digital, Sanyo, Texas Instruments, Tulip, Wang y Olivetti lanzaron ordenadores personales que era compatibles MS-DOS, pero no completamente software o hardware compatibles con el IBM PC.
La intención de Microsoft, y la de la industria desde 1981 hasta mediados de los 80, era que los programadores de aplicaciones utilizaran las APIs en MS-DOS o el firmware de la BIOS, utilizando lo que hoy llamamos una capa de abstracción de hardware. Cada ordenador tendría su propia versión OEM de MS-DOS, personalizado para su hardware. Cualquier software escrito para MS-DOS podría ejecutarse en cualquier ordenador MS-DOS, a pesar de las variaciones en el diseño de hardware. Un camino similar se siguió con los ordenadores domésticos MSX.
Esta expectativa parece razonable para el mercado de computadoras de la época. Hasta entonces, Microsoft se centra principalmente en lenguajes de programación como BASIC. El por entonces sistema operativo por excelencia para pequeños ordenadores era CP/M de Digital Research que se utilizaba tanto en el por usuarios aficionados como profesionales. Para lograr ese uso generalizado y, por tanto, hacer el producto económicamente viable, el sistema operativo tenía que poder funcionar en un rango de ordenadores de diferentes fabricantes con una amplia variedad de hardware. Aquellos clientes que necesitan otras aplicaciones más allá de los Starter Pack podría esperar razonablemente que los diferentes editores de software les ofrecieran sus productos para una amplia variedad de ordenadores, en el soporte adecuado para cada uno.
El sistema operativo de Microsoft estaba inicialmente orientado para ejecutarse en una variada gama de hardware, aunque todas basadas en el procesador 8086. Por ello, MS-DOS fue vendido durante muchos años sólo como un producto OEM. No había MS-DOS con marca Microsoft: MS-DOS no podía adquirirse directamente a Microsoft, y cada versión OEM era empaquetada con la marca del fabricante de PCs licenciatario. Las diferentes versiones eran en general incompatibles con hardware diferente. Los errores debían notificarse al OEM, no a Microsoft. Sin embargo, cuando se extendieron los clones, pronto quedó claro que las versiones OEM de MS-DOS eran prácticamente idénticas, excepto tal vez por la presencia de algunos programas de utilidad.
MS-DOS proporciona el soporte adecuado para aplicaciones orientadas a caracteres como las que se pueden implementar para un terminal de computadora de sólo texto. La mayor parte del software con importancia comercial entraba en estos límites, donde el bajo nivel de compatibilidad hardware no tenía importancia. Sin embargo, con el fin de proporcionar el máximo rendimiento y aprovechar las características de hardware (o trabajar sobre los errores de hardware), las aplicaciones de PC evolucionaron muy rápidamente más allá del simple terminal de aplicaciones que MS-DOS soporta directamente. Hojas de cálculo, procesador de textos WYSIWYG, soft de presentaciones y software de comunicaciomes remotas establecieron nuevos mercados que explotaban los puntos fuertes del PC, pero requieren capacidades más allá de lo que proporciona MS-DOS. Por ello, desde muy temprano en el entorno de desarrollo de aplicaciones para MS-DOS, muchos productos de software comerciales importantes fueron escritos directamente para el hardware, por una variedad de razones:
- MS-DOS en sí no proporciona ninguna manera de colocar el cursor de texto (excepto para avanzar después de la impresión de cada carácter). Mientras que las rutinas de la BIOS para la interfaz de vídeo eran adecuadas par un manejo rudimentario, eran muy ineficaces; no había salida de cadena de caracteres (sólo salida carácter a carácter) y esto añade períodos de retardo para compensar el efecto nieve del hardware CGA (cuando en las tarjetas CGA se escribía directamente en la VRAM se mostraban artefactos en la pantalla) algo especialmente malo cuando se llaman via IRQs, lo que hace muy difícil la multitarea. Un programa que escriba la salida directamente a la memoria de vídeo puede alcanzar tasas de 5 a 20 veces más rápido que utilizar llamadas estándar a la BIOS y MS-DOS. Turbo Pascal utiliza esta técnica desde sus primeras versiones.
- La capacidad gráfica no fue tomada en serio en el diseño original de IBM, que se consideró una novedad exótica. MS-DOS no tenía un API para gráficos, y la BIOS sólo incluía las funciones más rudimentarias de gráficos (por ejemplo, los cambios de modo de pantalla o el dibujo punto a punto). Para realizar una llamada de la BIOS por cada punto dibujado o modificado se incrementaba considerablemente el trabajo, haciendo la interfaz de la BIOS notoriamente lenta. Debido a esto, dibujar líneas o arcos, y el bit blit, tuvo que ser llevado a cabo por cada aplicación para lograr una velocidad aceptable, que se solía hacer ignorando la BIOS y accediendo directamente a la memoria de vídeo.
- Los videojuegos, incluso los primeros, en su mayoría requerían un modo gráfico verdadero. También se realizó algún truco dependiente de la máquina que los programadores podían utilizar para ganar velocidad. Aunque en un principio el principal mercado del PC fue el profesional, la capacidad de los juegos se convirtió en un factor importante en el impulso de las compras de PC cuando sus precios cayeron. La disponibilidad y calidad de los juegos podría significar la diferencia entre la compra de un PC compatible o una plataforma interoperable diferente como el Commodore Amiga.
- El software de comunicaciones accedía directamente al chip UART, ya que el API de MS-DOS y el BIOS no proporcionaba soporte completo a las capacidades del chip y era demasiado lento para mantenerse al día con hardware que pudiera transferir datos a 19200 baudios.
- Incluso para las aplicaciones empresariales estándar, la velocidad de ejecución fue una ventaja competitiva significativa. Esto se demostró dramáticamente en el golpe de gracia de Lotus 1-2-3 a su rival Context MBA en el popular género del software integrado. Context MBA, ahora casi olvidado, precedió a Lotus en el mercado e incluía más funciones; fue escrito en lenguaje Pascal, lo que lo hacía altamente portable, pero, habida cuenta de los compiladores del momento, resultaba demasiado lento para ser realmente útil en un PC. Lotus fue escrito en lenguaje ensamblador puro y realizaba algunas tareas directamente en la máquina. Era mucho más rápido que el Context MBA, que desapareció tan pronto como Lotus llegó.
- Los sistemas de protección de copia de disco, de uso común en el momento, funcionaban buscando patrones de datos no estándar en el disquete para verificar la originalidad. Estos patrones eran difíciles o imposibles de detectar usando DOS estándar o llamadas a la BIOS, por tanto el acceso directo al hardware controlador de disco era necesario para la protección del trabajo.
[[Archivo:Amiga 1000 system with sidecar.jpg|thumb|La compatibilidad PC era un aspecto importante. Incluso el Commodore Amiga tenía un módulo de compatibilidad PC, el Sidecar.]]
Al principio, pocos compatibles aparte del Compaq ofrecían compatibilidad más allá del nivel DOS/BIOS. Los evaluadores y los usuarios desarrollaron suites de programas para probar la compatibilidad; la capacidad de ejecutar el Lotus 1-2-3 o Microsoft Flight Simulator se convirtió en uno de los más importantes pruebas. Los vendedores no sólo aprendieron gradualmente la manera de emular la BIOS de IBM, sino también dónde utilizar chips idénticos para desempeñar funciones clave dentro del sistema. Finalmente, el Phoenix BIOS y productos similares disponibles comercialmente permitieron a los fabricantes de computadoras la fabricación de clones prácticamente 100% compatibles sin necesidad de realizar ingeniería inversa de la BIOS del IBM PC.
Con el tiempo, IBM perjudicó su propio mercado al no apreciar la importancia de la compatibilidad IBM, introduciendo productos como el IBM portátil (que fue superado en ventas por el anterior Compaq Portable) y el PCjr (que tenía importantes incompatibilidades con el PC original y se retiró en breve).
Desde mediados de la década de 1980 hasta finales de la misma, los compradores comenzaron a considerar el PC como el producto básico, y dudaban de que el plus de seguridad de la marca IBM estaba garantizado por el precio más alto. Mientras tanto, los sistemas compatibles MS-DOS (pero no compatibles en hardware) no tuvieron éxito en el mercado. Su incapacidad para ejecutar los paquetes de software de alto rendimiento para IBM PC y compatibles verdaderos motivó sus bajas ventas y la extinción de esta categoría de sistemas. Por su incompatibilidad de hardware con el diseño del IBM PC, el procesador 80186, lanzado sólo un año después del IBM PC, nunca fue popular en los ordenadores personales de uso general.
La decreciente influencia de IBM
Después de 1987, los PCs compatibles IBM dominaron en el mercado de productos básicos, tanto en el campo doméstico como en el profesional,[1] con otras notables arquitecturas alternativas como los equipos Macintosh ofertados por Apple Inc., el Commodore 64 de 8 bits que finalmente se convirtió en el ordenador de mayor venta en el mundo, y la línea Commodore Amiga de 32 bits utilizada en la televisión y producción de vídeo. Sin embargo, la propia IBM perdió el liderazgo en el mercado de los compatibles IBM PC en 1990. Algunos pocos sucesos fueron probablemente los puntos de inflexión:
- La introducción en 1982 del Compaq Portable, el primer ordenador 100% compatible con IBM PC (Columbia Data Products), un ordenador portátil del que IBM no disponía en ese momento. La compatibilidad y el rendimiento del portátil legitimó este clon de PC para muchas empresas.
- Compaq superó a IBM en el mercado en 1986 con el primer PC basado en 80386.
- La introducción por IBM de tecnologías incompatibles en 1987, tales como su sistema patentado de Arquitectura de microcanal (bus MCA) para bus de computadora , en su línea IBM PS/2.
- La introducción en 1988 por las empresas de la "Banda de los Nueve" de un bus rival, EISA , destinado a competir con MCA en lugar de copiarlo.
- El duelo entre las normas de memoria expandida y memoria extendida en la década de 1980, ambas desarrolladas sin la participación de IBM.
- La disponibilidad en 1989 de ordenadores compatibles con el PC-XT por debajo de 1000 dólares, incluyendo las tempranas ofertas de Dell Computer, reduciendo la demanda de la última tecnología de IBM.
Sin embargo, con la evolución del mercado, y a pesar del fracaso del bus MCA, IBM obtuvo un flujo de ingresos considerables por las tasas de licencia de empresas que pagaron por licencias de uso de las patentes de IBM que estaban en el diseño del PC, en la medida que los objetivos de IBM habían cambiado desde la disuasión de clones de PC hacia el aumento de ingresos por ventas de licencias. Paralelamente al desarrollo del PS/2, IBM también siguió vendiendo PCs compatibles, que esta vez incorporaban los estándares que habían sido desarrollados por sus competidores. IBM finalmente renunció a su papel como fabricante de PC en abril de 2005, cuando vendió su división de PC a Lenovo por 1.750 millones de dólares.
A partir de octubre de 2007, Hewlett-Packard y Dell Computer acapararon las mayores cuotas del mercado de PC en América del Norte. También son exitosos fuera de América, junto a Acer, Lenovo y Toshiba. A nivel mundial, un gran número de ordenadores son "caja blanca", sistemas ensamblados por un gran número de fabricantes de sistemas locales. A pesar de los avances en la tecnología informática, todos los actuales PC compatibles IBM guardan en gran medida cierta compatibilidad con las computadoras IBM PC originales, aunque la mayoría de los componentes implementan la "compatibilidad hacia atrás" con versiones anteriores en modos especiales, utilizados sólo durante el arranque del sistema.
Expansión
Uno de los puntos fuertes de la plataforma compatible PC es su diseño modular de hardware. Los usuarios finales pueden actualizar fácilmente los periféricos y, hasta cierto punto, el procesador y la memoria sin necesidad de modificar la placa base del equipo o reemplazar todo el equipo, como así ocurría con muchas de las microcomputadoras de la época. Sin embargo, a la vez que la velocidad del procesador y la cantidad de memoria fueron incrementándose, los límites del diseño de bus de la XT/AT original se alcanzaron en poco tiempo, sobre todo con las nuevas tarjetas gráficas. IBM introdujo un bus actualizado en el IBM PS/2, que superó muchos de los límites técnicos del bus de los XT/AT, pero rara vez se utilizó como base para computadoras compatibles con IBM, ya que requería el pago de licencias a IBM tanto para el bus PS/2 como para los diseños previos del bus AT que quedaban bajo licencia. Esto fue impopular entre los fabricantes de hardware, y varios estándares de bus en competencia fueron desarrollados por consorcios, con términos de licencia más asequibles. Se hicieron varios intentos de estandarizar las interfaces, pero en la práctica, muchos de estos intentos tuvieron fallos o bien fueron ignorados. Aun así, había muchas opciones de expansión, y la plataforma "PC compatible" avanzó mucho más rápidamente que otras plataformas competidoras de la época, incluso aunque sólo sea por su dominio del mercado.
"IBM PC compatible" se convierte en "Wintel"
En la década de 1990, la influencia de IBM en la arquitectura del PC era cada vez más irrelevante. Un PC de marca IBM se convirtió en la excepción, no ya la regla. En lugar de centrarse en permanecer compatibles con el IBM PC, los vendedores comenzaron a centrarse en la compatibilidad con la evolución de Microsoft Windows. En 1993, fue puesta a la venta una versión de Windows NT que podía ejecutarse en procesadores distintos de los x86. (Esto requería que se volvieran a compilar las aplicaciones, un paso que la mayoría de desarrolladores no tomó.) Sin embargo, su independencia del hardware fue aprovechada por las estaciones de trabajo x86 de Silicon Graphics -gracias a la HAL de NT-, que podían funcionar con NT (y su vasta biblioteca de aplicaciones). Ningún vendedor de hardware de ordenador para el gran mercado se atrevió a ser incompatible con la última versión de Windows, y las conferencias anuales WinHEC de Microsoft sirvieron de marco en el que Microsoft podía ejercer presión a favor y en algunos casos dictar el ritmo y la dirección del hardware de la industria del PC. Intel y Microsoft se habían vuelto tan importantes para el continuo desarrollo del hardware de PC que los eperiodistas de la informática comenzaron a usar la contracción Wintel para referirse a la plataforma de hardware Intel y software Windows combinado. Este término se está convirtiendo en un término equivocado, ya que Intel ha perdido el control absoluto sobre la dirección del desarrollo de hardware, y otros sistemas operativos como Linux han comenzado a establecer una presencia notable.
Limitaciones de diseño y otros problemas de compatibilidad
Aunque el IBM PC fue diseñado para permitir su expansión, los diseñadores no podían anticipar el desarrollo del hardware de los años 80. Para empeorar las cosas, la elección de la CPU Intel 8088 por IBM presentaba varias limitaciones que fueron obstáculos para el desarrollo de software para la plataforma PC compatible. Por ejemplo, el procesador 8088 sólo tenía un espacio de direccionamiento de memoria de 20 bits. Para poder expandir la memoria del PC más allá de un megabyte, Lotus, Intel y Microsoft crearon conjuntamente la memoria expandida (EMS), un esquema de conmutación de banco para permitir más memoria proporcionada por complemento de hardware, y visto a través de un conjunto de cuatro "ventanas " de 16 kilobytes dentro del direccionamiento de 20 bits. Más tarde, las CPUs Intel tuvieron mayor espacio de direcciones y podían ocuparse directamente de 16 megabytes (caso del Intel 80286) o más, lo que permitió a Microsoft desarrollar la memoria extendida (XMS), que no requería hardware adicional.
La memoria expandida y la extendida tienen interfaces incompatibles, por lo que cualquier software que utilizaba más de un megabyte tenía que mantener soporte para los dos sistemas. Para dar mayor compatibilidad, MS-DOS comenzó a incluir el programa EMM386, que simula la memoria EMS utilizando memoria XMS. Un sistema operativo en modo protegido también podía ser escrito para el 80286, pero su compatibilidad con aplicaciones DOS era más difícil de lo esperado, no sólo porque la mayoría de aplicaciones para DOS accedían directamente al hardware, sino también porque la mayoría de llamadas al BIOS eran realizadas a través de IRQs marcadas como "reservadas" por Intel.
Las tarjetas gráficas tuvieron sus propias incompatibilidades. Una vez que las tarjetas de vídeo evolucionaron hacia SVGA, el estándar para acceder a ellas ya no estaba claro. A la vez, la programación para PC utilizaba un modelo de memoria por segmentos de 64 KB. El más común modo de pantalla VGA quedaba alojado en un único segmento de memoria. Los modos SVGA requerían más memoria, por lo que el acceso a la memoria completa de pantalla era complicado. Cada fabricante desarrolló sus propias formas de acceso a la memoria de pantalla, incluso sin enumerar los modos de forma coherente. Se hizo un intento de crear un estándar, llamado VBE, pero no todos los fabricantes se adhirieron a ella.
Debido al gran número de adaptadores de terceros y no estándar para ellos, la programación para PC resultaba difícil. Los desarrolladores profesionales debían someter sus programas a prueba con un gran conjunto de combinaciones de hardware diferentes. Incluso el propio PC no tenía una clara interfaz de la aplicación al modelo de memoria plana que los 386 y superiores podrían proporcionar en modo protegido.
Cuando llegó el 386, de nuevo se podía programar un sistema operativo en modo protegido para él. Esta vez, la compatibilidad con MS-DOS era mucho más fácil, pues este procesador incluía modo virtual 8086. Desafortunadamente los programas no podían cambiar directamente entre ellos, así quese desarrollaron nuevos modelos de memoria API, VCPI y DPMI, este último se hizo el más popular.
Mientras tanto, los consumidores se vieron desbordados por los diferentes estándares incompatibles y las diferentes combinaciones de hardware que se ofrecían. Para dar una idea de qué clase de PC que necesitarían para ejecutar sus programas, se estableció el estándar PC Multimedia (MPC) en 1990. Un PC que cumplía el mínimo estándar MPC podía ser considerado, y comercializado como, un MPC. El software que podía ejecutarse en un PC con la más mínima compatibilidad MPC estaría garantizado para funcionar en cualquier MPC. Las normas de MPC nivel 2 y MPC nivel 3 se crearon más tarde, pero el término "MPC compatible" nunca tuvo éxito. Después del nivel 3 MPC en 1996, no se establecieron más normas MPC.
Los desafíos al dominio de Wintel
Al principios del siglo XXI, el éxito de Microsoft Windows había llevado a casi todos los otros sistemas operativos a casi la extinción, y se aseguró que la plataforma "IBM PC compatible" fuese el equipo informático dominante. Esto significó que si un programador sólo desarrollaba su software para la plataforma Wintel, sería capaz de llegar a la gran mayoría de usuarios de computadoras. A fines de 1980, el único competidor importante para Windows fue el Macintosh de Apple Inc.. El Mac fue presentado como "el ordenador para el resto de nosotros", pero la pujanza del conjunto DOS/Windows/Intel redujo rápidamente a los Macintosh al nicho de la educación y el diseño gráfico, del que sólo recientemente ha comenzado a surgir. A mediados de 1990, la cuota de mercado de Macintosh se había reducido a cerca del 5%, y la introducción de un nuevo sistema operativo rival se había vuelto demasiado arriesgada comercialmente. La experiencia había demostrado que incluso si un sistema operativo era técnicamente superior a Windows, sería un fracaso en el mercado (BeOS y OS/2, por ejemplo). En 1989, Steve Jobs lanzó su nueva plataforma NeXT, de la que dijo que "será la última plataforma nueva de hardware en tener éxito, o la primera en fracasar." En 1993, NeXT anunció que ponía fin a la producción del ordenador NeXTcube y portaba NeXTSTEP a los procesadores Intel. En 1997, NeXT fue adquirida por Apple, que presentó a continuación el ordenador iMac en 1998. Después de este lanzamiento, los Mac han recuperado cuota de mercado, aunque muy lentamente. En agosto de 2009, la cuota de mercado de Mac OS era sólo de un 4,59%. {cita requerida}
En el mercado de hardware, Intel inicialmente licenció su tecnología para que otros fabricantes pudieran fabricar x86 CPUs. Como la plataforma "Wintel" consiguió el dominio del mercado, Intel terminó abandonando esta práctica. Compañías como AMD y Cyrix desarrollaron CPUs alternativas que eran funcionalmente compatibles con Intel. Hacia el final de la década de 1990, AMD estaba tomando una parte creciente del mercado de las CPU para PC. AMD incluso terminó jugando un papel importante en la dirección de la evolución de la plataforma x86, cuando su línea de procesadores Athlon siguió desarrollando la clásica arquitectura x86, de la que Intel se desvió con su arquitectura Netburst de las CPUs Pentium 4 y la arquitectura IA-64 para la línea de CPUs Itanium para servidores. AMD desarrolló el AMD64, el primer desarrollo importante no creado por Intel, que más tarde adoptó Intel. En 2006, Intel comenzó a abandonar Netburst con el lanzamiento de su línea de procesadores Intel Core, que representaba una evolución del anterior Pentium III.
El PC compatible hoy
El término "compatible con IBM" no es de uso común para los ordenadores actuales, porque prácticamente todos los equipos principales se basan en la arquitectura PC. La mayoría de plataformas competidoras han desaparecido o han sido relegadas a los mercados minoritarios de entusiastas, como el Commodore Amiga. Una excepción notable fue el Apple Macintosh, que utilizó la arquitectura PowerPC hasta 2006, cuando Apple adoptó la arquitectura Intel x86 tal como se utiliza en el PC. La arquitectura x86 que Apple comercializa actualmente es, a todos los efectos, "IBM PC Compatible".
La velocidad del procesador y capacidad de memoria de los ordenadores modernos son muchísimo mayores de lo que eran en el original de PC de IBM y, sin embargo la compatibilidad hacia atrás se ha mantenido en gran medida. Un sistema operativo de 32 bits publicado en la década de 2000 todavía puede ejecutar muchas de los programas más simples escritos para los sistemas operativos de la década de 1980 sin necesidad de un emulador, aunque un emulador como DOSBox tiene ahora cerca de la funcionalidad nativa a toda velocidad.
Referencias
- ↑ Reimer, Jeremy. «Total share: 30 years of personal computer market share figures». Ars Technica. Consultado el 13 de septiembre de 2008.