# Xerox Alto

El Xerox Alto, desarrollado en el Xerox PARC en 1973, fue uno de los primeros ordenadores personales de la historia (aunque no el primero), pero sí fue el primero que utilizó la metáfora de escritorio y una interfaz gráfica de usuario, así como un ratón.

## Arquitectura

El Alto fue inicialmente concebido en 1972 en un memorando interno escrito por Butler Lampson y diseñado inicialmente por Chuck Thacker. Tenía un procesador bit-slice basado en el chip 74181 de Texas Instruments, un almacenamiento de control ROM con una expansión de almacenamiento de control escribible y tenía 128 KB de memoria principal expandible a 512 KB, así como un disco duro que usaba un cartucho removible de 2.5 MB en un plato simple de Diablo Systems (una compañía que posteriormente compró Xerox), similar a los usados en el IBM 2310, todo ello alojado en un armario del tamaño de un pequeño frigorífico. La Unidad Central de procesamiento (CPU) del Alto era un innovador procesador microprogramado que utilizaba microcódigo para la mayor parte de las operaciones de entrada/salida, en vez de hardware. La máquina de microcódigo realizaba 16 tareas, una de las cuales ejecutaba el conjunto de instrucciones normal (bastante parecido al de la Data General Nova), mientras que el resto controlaban la visualización, refresco de memoria, disco, red y otras funciones de entrada/salida. Por ejemplo, el controlador del mapa de bits del display era poco más que un registro de desplazamiento de 16 bits; el microcódigo se utilizaba para cargar la información de refresco del display de la memoria principal hacia el registro de desplazamiento.
Además de una conexión Ethernet, el único dispositivo de salida del Alto era un monitor CRT (tubo de rayos catódicos) con dos niveles (blanco y negro) montado de forma vertical. Sus dispositivos de entrada eran un teclado, un ratón de tres botones y un teclado de funciones opcional (chord keyset). El concepto de estos dos últimos elementos fue tomado del Sistema On-Line (On-Line System) del Instituto de Investigaciones de Stanford (SRI). Mientras que el ratón fue un éxito instantáneo entre los usuarios del Alto, el teclado de funciones nunca se hizo popular.
Todos los ratones del Alto tenían tres botones. Los primeros, de funcionamiento mecánico, tenían dos ruedas perpendiculares una a la otra. Estos fueron remplazados pronto por ratones con bola, inventados por William English (ingeniero). Más tarde se introdujeron los ratones ópticos, primero con luz blanca y posteriormente con infrarrojos. Los botones de estos antiguos ratones eran alargados y estaban dispuestos a lo largo en vez de estarlo a lo ancho.
El teclado estaba configurado de forma que cada tecla correspondía a un bit en un conjunto de registros. Esta característica se utilizaba para cambiar desde dónde se inicializaba (boot) el Alto. Los registros del teclado se usaban como la dirección de disco desde donde inicializar, y así, presionando un conjunto específico de teclas mientras se presionaba el botón de inicio, se podían cargar diferentes microcódigos y sistemas operativos. Esto dio lugar a la expresión "arranque de nariz" (nose boot), cuando el número de teclas necesarias para lanzar un sistema operativo en prueba era mayor que el número de dedos. Este tipo de arranque dio lugar a "move2keys", un programa que movía los archivos en el disco de forma que se pudiera utilizar una determinada secuencia de teclas.
Había otros periféricos para el Alto, como una cámara de TV, una impresora de tipo rueda margarita y un puerto paralelo, aunque eran bastante poco frecuentes. El Alto también podía controlar discos externos, lo que la convertía en un servidor de archivos. Esto fue una aplicación bastante común para este ordenador.

## Software

Los primeros programas para el Alto fueron escritos en el lenguaje de programación BCPL y más tarde en el lenguaje Mesa, el cual no fue muy utilizado fuera de PARC, pero que influenció varios lenguajes posteriores, como el Modula. El teclado del Alto carecía de la tecla de guion bajo, cuyo lugar era ocupado por la tecla para el carácter de flecha izquierda usado en el lenguaje Mesa para el operador de asignación. Esta característica del teclado del Xerox Alto pudo ser el origen del estilo CamelCase para identificadores compuestos (como por ejemplo "EstoEsUnaVariable"). Otra peculiaridad del Alto es que su microcódigo era programable por el usuario.
El Alto ayudó a popularizar el uso del modelo de gráficos raster para todo tipo de salidas, incluyendo textos y gráficos. También introdujo el concepto de operación de bit block transfer (transferencia de bloque de bits), o BitBLT, como la interfaz de programación fundamental para el display. A pesar del pequeño tamaño de su memoria, se escribió un buen número de programas innovadores para el Alto, incluyendo los primeros sistemas de composición de documentos WYSIWYG Bravo y Gypsy; editores de gráficos (mapas de bits, placas de circuito impreso, circuitos integrados, etc.); las primeras versiones del entorno Smalltalk y uno de los primeros juegos multipersona en red.

## Difusión y evolución

Desde el punto de vista técnico, el Alto era un pequeño miniordenador, pero era más bien un ordenador personal en el sentido de tener un único usuario sentado frente al escritorio, al compararlo con los mainframes y miniordenadores de la época. Nunca fue un producto comercial, aunque se fabricaron varios miles de unidades. Varias universidades, incluyendo el MIT, Stanford, CMU, y la Universidad de Rochester, recibieron donaciones de Altos incluyendo servidores IFS e impresoras láser Dover. Estas máquinas fueron la inspiración para las estaciones de trabajo Lilith del ETH de Zürich y el PERQ de la Three Rivers Company; además de la estación de trabajo de la Stanford University Network (SUN), que finalmente fue llevada al mercado por una compañía del tipo spin-off, Sun Microsystems. La estación de trabajo Apollo/Domain y el Lisa de Apple, también fueron profundamente influenciados por el Alto.
El Alto de Xerox fue utilizado para diseñar la influyente serie "D" de estaciones de trabajo de la Xerox: Dolphin, Dorado y Dandelion. También se basó en este diseño un router de red llamado Dicentra. Dorado era una máquina muy veloz basada en diseño ECL; Dolphin era una máquina de gama media basada en tecnología TTL diseñada inicialmente para ser la estación de trabajo Star. La arquitectura original para Dandelion, basada en el AMD Am2900 de [tecnología de microprocesador bitslice], fue presentada como el diseño llamado Wildflower y fue este diseño de bajo costo el que se convertiría en la estación de trabajo Star Xerox 8010.
Xerox creó una división de productos (SDD) para comercializar el trabajo del PARC, inicialmente partiendo del Dolphin como base para un producto tipo estación de trabajo. El diseño Dandelion llegó a ser la Xerox 8010, que ejecutaba el software de la Xerox Star. La Star inspiró los ordenadores personales Lisa y Macintosh de Apple, y ayudó a popularizar la interfaz gráfica de usuario en futuros ordenadores personales y estaciones de trabajo.
Estas máquinas Xerox, especialmente el Alto, son hoy día escasas y constituyen artículos de colección extremadamente onerosos.