2482 5
2482 5

Mucho antes de Mac OS X, Apple tuvo un sistema operativo basado en Unix. Este sistema operativo era una versión servidor destinada a competir en el mercado y de hecho, no es la única iniciativa de Apple con Linux: después de A/UX llego mkLinux.

A/UX es una implementación descontinuada de Apple Computer del sistema operativo Unix para algunos de sus ordenadores Macintosh. Fue el primer intento de Apple de desarrollar y comercializar un sistema operativo basado en Unix para su línea de ordenadores Macintosh. A/UX requiere un Macintosh basado en 68k1 con una FPU y una unidad de gestión de memoria paginada (PMMU), y varias versiones se ejecutan en las máquinas de las series Macintosh II, SE/30, Quadra y Centris. A/UX se publicó por primera vez en 1988, y la versión final de 3.1.1 se publicó en 1995. No está relacionado con el MacOS actual de la marca Unix de Apple.

Descrito por InfoWorld como “una solución de sistemas abiertos con el Macintosh en su corazón“, el sistema operativo se basa en la versión 2.2 de UNIX System V. Incluye algunas características adicionales de las versiones 3 y 4 del Sistema V y las versiones 4.2 y 4.3 de BSD. Es compatible con POSIX y System V Interface Definition (SVID) e incluye soporte para redes TCP/IP a partir de la versión 2 en adelante. Contar con un sistema operativo compatible con Unix y compatible con POSIX permitió a Apple presentar ofertas para grandes contratos de suministro de ordenadores a instituciones del gobierno federal de los Estados Unidos.

A/UX 3.x proporcionaba una interfaz gráfica de usuario con las conocidas ventanas, menús y controles del Finder. El Finder A/UX no es el mismo programa que el Finder del Sistema 72, sino una versión personalizada adaptada para funcionar como un proceso Unix y diseñada para interactuar con el núcleo de Unix y los sistemas de archivos subyacentes. A/UX 3.x incluye un programa terminal CommandShell, que ofrece una interfaz de línea de comandos para el sistema Unix subyacente. Una aplicación de servidor X Window System3 con un programa terminal también se podían utilizar para interactuar con el sistema y ejecutar aplicaciones X directamente en el Finder. Alternativamente, el usuario puede optar por ejecutar una sesión X11R4 completa sin el Finder.

Basado en la capa de compatibilidad de Apple, A/UX podía ejecutar aplicaciones Macintosh System 7.0.1, Unix e híbridas. Una aplicación híbrida utiliza funciones de sistema tanto Macintosh como Unix: por ejemplo, una aplicación Macintosh que llamaba a las funciones del sistema Unix, o una aplicación Unix que llamaba a las funciones de Macintosh Toolbox4. La capa de compatibilidad utilizaba algunas funciones de Toolbox existentes en la ROM del ordenador, mientras que otras llamadas de función se traducían a llamadas nativas del sistema Unix.

A/UX incluía una utilidad llamada Commando5 para ayudar a los usuarios a introducir comandos Unix. Al abrir un archivo ejecutable Unix desde el Finder se abría un cuadro de diálogo que permitía al usuario elegir opciones de línea de comandos para el programa utilizando controles estándar como botones de selección y casillas de verificación, y mostrar el argumento de línea de comandos resultante para el usuario antes de ejecutar el comando o programa. Esta característica estaba pensada para facilitar la curva de aprendizaje para los usuarios nuevos en Unix y disminuir la dependencia del usuario del manual de Unix. A/UX tenía una utilidad que permitía al usuario volver a formatear las unidades SCSI de terceros de tal forma que puedan utilizarse en otros Mac de la época.

A/UX funcionaba sólo en Macintosh de 68k con una unidad de punto flotante6 y una unidad de gestión de memoria paginada (PMMU), e incluso solo en una serie de modelos seleccionados. Por ejemplo, el Quadra 840AV, el Macintosh 68k más rápido de Apple, no podía ejecutar A/UX

A/UX 1.0 se anunció en la conferencia del Uniforum de febrero de 1988, con siete meses de retraso. Basado en el Unix System V. 2.2 de AT&T con características adicionales de BSD Unix, se vendió inicialmente con un Macintosh II por 8.597 dólares7. Inicialmente estaba dirigido a clientes Unix, universidades y VARs8 existentes. El software de terceros anunciado con la primera versión del sistema incluye la base de datos Ingres, StatView, herramientas para desarrolladores y varios paquetes de software de productividad. El soporte de redes consiste en implementaciones TCP/IP, AppleTalk y NFS, desarrolladas por UniSoft.

La primera versión del producto funciona con menos del 10% de la base de aplicaciones de Macintosh y no podía mostrar más de un programa de System 7 en pantalla a la vez. La siguiente versión incluyó la posibilidad de modificar esta situación, así como añadir el Finder, X Window System y el cumplimiento del proyecto de norma POSIX. El soporte de X y POSIX están en su lugar a partir de A/UX 1.1, publicado en 1989.

En 1991, Apple formó una nueva división de negocios para sistemas empresariales para servir a “grandes empresas, gobierno y educación superior“. Basado en A/UX, la división pretendía abordar el hecho de que Apple “no era un jugador importante” en el mercado Unix y que había realizado meramente un lanzamiento “silencioso” del sistema operativo, con la intención de mejorar en 1992.

En noviembre de 1991, Apple lanzó A/UX 3.0, planeando sincronizar los dos programas de lanzamiento de A/UX y el Sistema 7 en curso. En ese momento, la compañía también anunció previamente A/UX 4.0, que se espera lanzar en 1993 o 1994. El anuncio expuso la asociación tecnológica entre Apple e IBM, esperando fusionar la interfaz gráfica fácil de usar de Apple y el mercado de aplicaciones de escritorio con el mercado de servidores Unix altamente escalable de IBM, y permitiendo a las dos compañías entrar en lo que Apple creía ser un emergente “mercado general de sistemas abiertos de escritorio“. El siguiente A/UX 4.0 se centraría en el PowerOpen Environment ABI, fusionaría características de la variante AIX de Unix de IBM en A/UX, y usaría el núcleo OSF/1 de la Open Software Foundation. A/UX 3.0 serviría como “importante ruta de migración” a este nuevo sistema, haciendo que las aplicaciones Unix y System 7 sean compatibles con PowerOpen. Los futuros sistemas operativos A/UX 4.0 y AIX estaban pensados para ejecutarse en una gran variedad de hardware POWER y PowerPC de IBM, así como en hardware basado en PowerPC de Apple.

En 1992, se lanzó una versión segura de A/UX a nivel C2.

Contrariamente a todos los anuncios, Apple finalmente abandonó todos los planes para A/UX 4.0 y nunca lanzó el producto. En su lugar, la empresa implementó una plataforma a mediados de los 90 del hardware Apple Network Server que ejecutaba un sistema operativo IBM AIX personalizado. Tras la adquisición de NeXT por Apple en 1996, Apple introdujo Mac OS X Server en 1999, basado en el sistema operativo NeXTSTEP, parecido a Unix.

La versión final de A/UX es la versión 3.1.1 de 1995. Apple abandonó la plataforma A/UX completamente en 1996.

Los usuarios de A/UX tenían un repositorio central para la mayoría de las aplicaciones A/UX: un servidor de Internet en la NASA llamado “Jagubox”. Fue administrado por Jim Jagielski, quien también fue el editor de A/UX FAQ. Aunque Jagubox ha sido desmantelado, todavía se mantienen algunos espejos y es fácil poder encontrar A/UX para descargar.

Debido a que los requisitos de hardware de A/UX incluyen una unidad de gestión de memoria, la ejecución de A/UX dentro del software de emulación de Macintosh no fue posible hasta la introducción en 2014 de un emulador particular de Macintosh II llamado Shoebill. que todavía está disponible para descarga, aunque requiere una ROM de Macintosh II, IIx o IIcx y una imagen con A/UX instalado. Si tienes interés en aprender algo más sobre el manejo fue A/UX éste es un excelente punto de partida.

¿A/UX fue la última incursión de Apple en el mundo Linux? No, antes de Mac OS X, trasteó con mkLinux.

MkLinux es un sistema operativo de código abierto iniciado por el Open Software Foundation Research Institute y Apple Computer en febrero de 1996 para portar Linux a la plataforma PowerPC, y ordenadores Macintosh. MkLinux es la abreviatura de “Microkernel Linux”, que se refiere a la adaptación del proyecto del kernel Linux para que se ejecute como un servidor alojado en la versión 3.0 del microkernel de Mach.

MkLinux comenzó como un proyecto patrocinado por Apple Computer y el Instituto de Investigación OSF, para obtener “Linux en Mach” portado al Macintosh y permitió a Apple explorar tecnologías de kernel alternativas en la plataforma Mac. En ese momento, no había ningún port  para PowerPC oficialmente patrocinado por Linux, y ninguno específicamente para hardware Macintosh. El Instituto OSF, propietario del microkernel Mach y de varias otras tecnologías basadas en Unix, estaba interesado en promover Mach en otras plataformas. A diferencia del diseño de los macOS posteriores, MkLinux fue diseñado específicamente para aprovechar al máximo el microkernel de Mach. Por el contrario, macOS heredó de NeXTSTEP el kernel híbrido llamado XNU, donde las características del kernel BSD son inyectadas sobre Mach, los cuales se ejecutan juntos en un único espacio de direcciones del kernel. Nada de mkLinux vive pues, ahora, en nuestros Mac.

El esfuerzo fue encabezado por Brett Halle en Apple, y el desarrollo fue luego dividido principalmente entre dos personas: Michael Burg en controladores de dispositivos y distribución en Apple en Cupertino, California; y Nick Stephen en Mach portando y desarrollando en OSF de Grenoble, Francia. Otras personas clave para trabajar en el proyecto fueron François Barbou, de OSF, y Vicki Brown y Gilbert Coville, de Apple.

MkLinux fue oficialmente anunciado en la Conferencia Mundial de Desarrolladores de 1996 (WWDC). Se entregó a los asistentes un CD gratuito con una distribución binaria de mkLinux. A mediados de 1998, la Asociación de Desarrolladores mkLinux liderada por la comunidad, que se hizo cargo del desarrollo del sistema operativo.

La distribución de mkLinux era demasiado grande para que los usuarios ocasionales la descargaran a través del lento acceso a Internet por línea telefónica de aquella época, incluso usando módems de 56k. Sin embargo, los CDs oficiales estaban disponibles en un libro de Prime Time Freeware, publicado en inglés y japonés. El libro cubría la instalación, administración y uso del sistema operativo y servía como manual impreso.

Apple más tarde lanzó los ordenadores Power Macintosh basados en Open Firmware, y se creó una rama oficial del núcleo Linux fue creada por el proyecto LinuxPPC. Los desarrolladores de mkLinux y LinuxPPC intercambiaron muchas ideas a medida que ambos trabajaban en sus propias formas de ejecutar Linux. Debian también lanzó una distribución de kernel monolítico tradicional para PowerPC, al igual que SUSE y Terra Soft Solutions con Yellow Dog Linux.

Cuando Apple dejó de ser compatible con mkLinux, la comunidad de desarrolladores luchó por mejorar el núcleo de Mach y soportar varios modelos Power Macintosh. MkLinux siguió siendo la única opción para los ordenadores Macintosh NuBus hasta junio de 2000, cuando se lanzó PPC/Linux para los Power Mac con NuBus. NuBus era un bus paralelo de 32 bits, desarrollado originalmente en MIT y estandarizado en 1987 como parte del proyecto de estación de trabajo NuMachine. La primera implementación completa del NuBus fue realizada por Western Digital para su NuMachine, y para Lisp Machines Inc. LMI Lambda. El NuBus fue posteriormente incorporado en los productos Lisp por Texas Instruments (Explorer), y utilizado como el principal bus de expansión por Apple Computer y NeXT. Ya no se utiliza fuera del mercado embebido.

MkLinux fue el primer intento oficial de Apple de apoyar un proyecto de software libre y de código abierto. Se dice que el trabajo realizado con el núcleo de Mach 3.0 en mkLinux ha sido extremadamente útil en la adaptación inicial de NeXTSTEP a la plataforma de hardware de Macintosh, que más tarde se convertiría en macOS.9

Notas

  1. Procesadores Motorola, pre PPC
  2. La versión del sistema que Apple utilizaba para el Mac de consumo de la época
  3. llamada MacX
  4. por ejemplo, QuickDraw
  5. similar a una herramienta del mismo nombre incluida con Macintosh Programmer’s Workshop
  6. FPU o coprocesador matemático, como lo llamábamos en aquella época
  7. Sí, el precio es correcto.
  8. Valued Add Resellers
  9. Prácticamente todo el contenido de este artículo es una traducción de las versiones de Wikipedia existentes, ya que las versiones en español son miserables.
In this article


Join the Conversation

5 comments

  1. Alquimista

    Tengo un SE/30 con A/UX instalado pero nunca he pasado de la pantalla de Login: el que me lo dio no recordaba qué contraseña pudo haberle puesto. Me da pena formatearlo y reconvertirlo en un Mac normal.

  2. rosuna

    Lo sorprendente de todo esto es que Apple no fuera capaz de desarrollar un Mac OS moderno en los 90. El Sistema 7, 8 y 9 eran una antigualla que iba fatal (sobre todo algunas versiones, muy inestables… peor cuanta más complejidad se introducía). El célebre Copland OS nunca echó a andar, a pesar de años de desarrollo (disparatado). Y tuvieron que recurrir al sistema de NeXT a finales de los 90… pero lo que no se cuenta es que tuvieron que reconstruir buena parte del mismo. El proceso de refinamiento y adaptación de OS X fue penoso al principio, durante años (desarrolladores que pasaban, capas de compatibilidad, cambios en aspectos importantes cada dos por tres…).

    Así como el Mac OS (antes llamado Sistema) fue en origen algo avanzadísimo y casi futurista, a la altura de mediados de los 90, hasta ya entrado el nuevo siglo, Apple fue incapaz de ponerse al día. Por eso me sorprende que “por detrás” fueran capaces de desarrollar sistemas basados en UNIX a los que -al parecer- les habría faltado poco (¡a principios de los 90!) para servir de base a un sistema moderno para los Mac de entonces. Imagino que Apple debía ser un caos en esa época.

  3. sault

    A veces veo errores. Por decenas….

  4. amt.desarrollos

    Gracias, me encantan estos artículos.
    Cuando comencé a escribir código para iOS allá por el 2009, no podía creer que la clase que manejaba las cadenas de caracteres se llamase NSString. O NSData la clase que implementa un array binario. Luego me enteré que ese prefijo “NS” se refería a NextSTEP.
    Y hoy, 2018, con Objective C, se siguen utilizando.

  5. wenmusic

    Tan interesante como totalmente desconocido para mí este tema.