# Ultrix

Ultrix (oficialmente en mayúsculas ULTRIX) era la marca original de los sistemas Unix de Digital Equipment Corporation (DEC). Mientras ultrix es el vocablo latino para vengadora, el nombre fue elegido solamente por el sonido.

## Historia

El desarrollo inicial de Unix tuvo lugar en los productos de Digital Equipment Corporation (DEC), en concreto en los sistemas DEC PDP-7 y PDP-11 (Procesador de Datos Programable). Más tarde, los ordenadores DEC, tales como sus sistemas VAX, fueron plataformas muy conocidas donde ejecutar Unix; la primera adaptación para VAX, UNIX/32V, se finalizó en 1978 (VAX se publicó en octubre de 1977). Sin embargo DEC proporcionó su propio sistema operativo, VMS, durante un largo periodo antes de reconocer Unix.
La clave principal para incorporar Unix a la compañía fue el Grupo de Ingeniería Unix de DEC (UEG son sus siglas en inglés), el cual lo formaron Bill Munson junto a Jerry Brenner y Fred Canter, ambos del grupo principal de servicio al cliente de ingeniería de DEC, Bill Shannon (de la Universidad Case Western Reserve), y Armando Stettner (de los laboratorios Bell). Más tarde se unieron a UEG Joel Magid, Bill Doll y Jim Barclay, reclutados de varios grupos de marketing y gestión del producto de DEC. El equipo de UEG, bajo la dirección de Canter, dio a conocer V7M, una versión modificada de la 7ª edición de Unix.

### BSD

Shannon y Stettner trabajaron en el CPU de bajo nivel y en controladores para dispositivos que soportasen inicialmente UNIX/32V pero rápidamente pasaron a concentrarse en su trabajo 4BSD de la Universidad de California en Berkeley. Bill Joy de Berkeley fue al estado de Nueva Hampshire (EE. UU.) para trabajar junto a Shannon y Stettner para dar los retoques finales al nuevo lanzamiento de BSD, que incorporaba los suplementos y dispositivos del CPU de UEG, y para hacer algún último perfeccionamiento y hacer pruebas en algunas configuraciones disponibles en las instalaciones de DEC. Aparte, los tres consiguieron una versión prueba final sobre el VAX principal utilizado por el grupo de investigación VMS. No se oyó ningún comentario de los desarrolladores de VMS cuyos terminales los recibieron a la mañana siguiente con un mensaje de entrada de Unix. La máquina de UEG fue la primera en ejecutar el nuevo Unix, con el nombre 4.5BSD ya que fue la cinta que llevó consigo Bill Joy. La idea era que 5BSD fuera la versión siguiente pero los abogados de la universidad pensaron que sería mejor llamarlo 4.1BSD. Después de finalizar el 4.1BSD, Bill Joy se fue de Berkeley para trabajar en Sun Microsystems. Bill Shannon se fue más tarde de Nueva Hampshire para unirse con él. Armando Stettner se quedó en DEC y más tarde concibió y empezó el proyecto Ultrix. Como comentario aparte, el VAX más importante de UEG de DEC, llamado DECVAX, fue también uno de los nodos centrales en la UUCP y la red Usenet. Fue el primer sistema en unir, a tiempo real para el correo electrónico y para los artículos de noticias Usenet, la costa este y oeste de EE. UU., Universidad de Duke (duke) y UC Berkeley (ucbvax). Posteriormente, después de que se añadiera capacidad de compresión a las netnews (noticias de la red), decvax tenía conexión con Europa (Vrije Universiteit, Ámsterdam) y más tarde Australia (University of Melbourne), hacían llamadas por lo menos dos veces al día. Poco después de que IBM anunciara planes para un producto original de UNIX, Stettner, habiendo recomendado ya varias veces con anterioridad un producto UNIX de DEC, sugirió a Bill Doll (un director de marketing) durante una conversación en un vestíbulo que ya era momento de que DEC hiciera un producto originario de VAX Unix para sus clientes. Se le hizo una propuesta a Bill Munson quien más tarde presentó la idea a Ken Olsen. Se dijo que Olsen agarró una placa de matrícula de Unix, le dio a alguien con esta en el pecho y dijo: vamos a hacerlo. Y así empezó Ultrix.

### V7M

El primer producto propio de UNIX fue V7M o V7M11 para el PDP-11 y estaba basado en la versión de UNIX 7ª Edición de los laboratorios Bell. V7M fue creado por el Grupo originario de ingenieros Unix de DEC (UEG), Fred Canter, Jerry Brenner, Armando Stettner, Bill Burns, Mary Anne Cacciola y Bill Munson, pero sobre todo por Fred y Jerry. V7M contenía muchos arreglos para el núcleo incluyendo soporte para distintas instrucciones y espacios para información, tareas importantes para la recuperación por errores de hardware, y muchos controladores de dispositivos. Se trabajó mucho en crear una novedad que de forma fiable arrancara la máquina a partir de varios accionadores de cinta o unidades de disco. En la comunidad Unix V7M era bien respetado. UEG se adaptó al grupo que posteriormente desarrolló Ultrix.

### Primera publicación de Ultrix

El primer producto original de VAX UNIX de DEC fue Ultrix-32, basado en 4.2BSD con algunas características de fuera del núcleo del System V, y se publicó en junio de 1984. Unix-32 fue principalmente una creación de Armando Stettner. Su objetivo era proporcionar, apoyado por DEC, Unix original para VAX. Además incluía varias modificaciones y scripts de la experiencia Usenet/UUCP que se obtuvo al ejecutar decvax. Más tarde, Ultrix-32 incorporó soporte adicional para DECnet y otros protocolos patentados de DEC como LAT. No era compatible con VAXclustering. Cuando se le dio la licencia de Unix a Western Electric/AT&T, se le restringió a DEC (y a otros) el vender licencias únicamente binarias. Una parte importante del trabajo de los ingenieros era hacer que los sistemas fueran relativamente flexibles y configurables a pesar de su carácter únicamente binario.
Después de que Ultrix-32 completara su primera fase de pruebas beta para clientes, Armando se fue a la costa oeste para ayudar a Steve Bourne a poner en marcha la organización Workstation Systems Engineering, un grupo avanzado de desarrollo que se centraba en gráficos y terminales de trabajo. De ahí, siguió ideando, escribió su primer estatuto, y ayudó en la información de la organización Open Software Foundation. Armando entonces trabajó en un grupo muy pequeño de organización cruzada desde el que creó el primer producto de la terminal de trabajo RISC, DECstation 3100, basado en MIPS.
Al final, DEC proporcionó su propio sistema operativo de marca Ultrix en tres plataformas: miniordenadores PDP-11 (donde Ultrix fue uno de los muchos sistemas operativos de DEC), ordenadores basados en VAX (donde Ultrix era uno de los dos SO para elegir principales) y las terminales de trabajo DECstation y servidores DECsystem (donde Ultrix eran la única opción de SO que se ofrecía). Hay que tener en cuenta que los sistemas DECstation usaban procesadores MIPS y precedían a los sistemas basados en Alpha mucho más posteriores.
El producto V7m se llamó luego Ultrix-11 para entablar una relación con Ultrix-32, pero a medida que PDP-11 desaparecía de vista, Ultrix-32 se conocía simplemente como Ultrix. Cuando se publicó la versión MIPS de Ultrix, las versiones de VAX y MIPS se remitieron como VAX/ULTRIX y RISC/ULTRIX respectivamente. Se puso mucho más énfasis en la ingeniería de las operaciones de soporte y de fiabilidad que incluía un trabajo continuo en el CPU y soporte del control de dispositivo (el cual la mayor parte se envió a UC Berkeley), soporte de errores de hardware y recuperación con mejora del mensaje de error, documentación y tareas generales tanto en el núcleo como en los niveles de los programas del sistema. Luego Ultrix-32 introdujo algunas características de 4.3BSD e incluía DECnet además del TCP/IP estándar, y los protocolos de Mail-11 de DEC y SMTP.
En particular, Ultrix implementó la comunicación entre procesos (en inglés “inter-process communication”, IPC) que se encontraba en System V: tuberías nombradas, mensajes, semáforos y memoria compartida. Mientras Unix convergía con la alianza entre Sun y AT&T (creó la organización Open Software Foundation, OSF), dada a conocer a finales de 1986, colocó características de BSD en System V, y DEC tomó lo mejor de System V y lo añadió a la base BSD.
Originalmente, en las terminales de trabajo VAX, Ultrix-32 tenía un entorno de escritorio llamado UWS, las iniciales en inglés de Ultrix Workstation Software (terminal de trabajo de software Ultrix), que estaba basado en una versión de X Window System. Posteriormente, se añadió la extendida versión 11 de X Window System (X11), empleando una apariencia llamada DECwindows que fue ideada para imitar la apariencia del sistema UWS. Finalmente DECwindows también proporcionó la apariencia de Motif.
Ultrix continuó con sistemas de multiprocesamiento con las familias de VAX y DECsystems. El núcleo aceptaba multriprocesamiento simétrico (SMP) aunque no era completamente un hilo de ejecución basado en el trabajo anterior de Ultrix de Armando Stettner y aún antes de George Goble en Purdue University. Como tal, había un libre uso de bloqueo y algunas tareas sólo se podían hacer con un CPU especial (por ejemplo, el procesamiento de las interrupciones). Esto por aquel entonces no era raro en otras ejecuciones de SMP (por ejemplo, SunOS). Además, Ultrix tardó en admitir muchas de las entonces nuevas capacidades del sistema Unix encontradas en el sistema de la competencia Unix (por ejemplo nunca admitió bibliotecas compartidas o enlaces dinámicos ejecutables); se retrasó en la implantación de un enlace a una llamada al sistema 4.3BSD y de bibliotecas sobre todo las de matemáticas, etc; tuvo algunos problemas, la mayoría con temas de la integridad de algunos archivos concretos del sistema (sin haber nunca recuperado los arreglos y archivos del sistema 4.3BSD).

### La última publicación

Como parte de su compromiso con OSF, Armando Stettner fue a los laboratorios de investigación de Cambridge para trabajar en el puerto de OSF/1 para la terminal de trabajo DECstation 3100 basado en RISC de DEC. Más tarde, DEC sustituyó Ultrix debido a la propuesta de Unix de OSF/1 para Alpha, terminando así Unix de desarrollar plataformas MIPS y VAX. OSF/1 anteriormente ya había salido en una versión para la arquitectura de MIPS en 1991, pero no se tuvo en cuenta ni se anunció como un producto desarrollado. OSF/1 posee un núcleo basado en Mach con muchas de las características que carecía Ultrix. Otra vez, UEG (ahora ya el Grupo de Ingeniería Ultrix) trabajó para hacer que el nuevo Digital Unix basado en OSF/1 funcionara bien en hardware DEC, con la confianza y el mantenimiento que la gente esperaba de los sistemas operativos de DEC.
La última publicación más importante de Ultrix fue la versión 4.5 en 1995, el cual admitía todo lo que anteriormente admitía DECstations y VAXen. Hubo algunos parches Y2K posteriores.