Conectándose a Unix

Contenidos
Terminales "bobas", Workstations y PCs
El Sistema X-Window
En resumen...

Terminales "bobas", Workstations y PCs

 El sistema operativo Unix fue concebido en los años 70. En aquellos tiempos, el modelo imperante para los sistemas de computación era el que llegó a conocerse como "de tiempo compartido", en donde un equipo central con capacidad de multiprogramación (conocido como host) atendía simultáneamente a múltiples usuarios conectados al mismo desde terminales remotas ubicadas en el mismo edificio o en otras locaciones conectadas al mismo a través de una red de comunicaciones.

pdp-8
computador PDP-8


Terminar VT-100
 Dichas terminales estaban constituidas básicamente por un teclado, una pantalla y un dispositivo de comunicaciones (usualmente de tipo serial, por ejemplo basado en RS-232), y se denominaban "terminales bobas" (dumb terminals) debido a que carecían por completo de capacidad de procesamiento, mas allá de la necesaria para tomar caracteres desde el teclado, enviarlos al equipo central por el vínculo de comunicaciones y recibir desde él nuevos caracteres que desplegar en la pantalla. De esta forma, resultaban meros dispositivos de interface entre el usuario y un proceso en ejecución en la computadora central.

Luego, durante el transcurso de la década del 80 y conforme los costos de la tecnología de computación disminuían crecientemente, fue creciendo una nueva concepción tendiente a llevar poder de procesamiento más cerca del usuario.

Por una parte, las PC (Computadoras Personales) aparecieron en escena y rápidamente empezaron a poblar las oficinas y mas tarde los hogares. Aquellas organizaciones que se vieron en la situación de enfrentar la coexistencia de equipos personales con centralizados encontraron que podían aprovechar lo mejor de ambos mundos permitiendo el acceso desde las PCs a las aplicaciones y datos corporativos corriendo bajo Unix, por medio de conexión de las PCs al host Unix a través de conexiones seriales y la ejecución en la PC de un software emulador de terminal. Dichos programas constituyen básicamente una terminal boba implementada en software, que utiliza el hardware de la PC de manera tal que la misma se comporta como si se tratara de una terminal corriente (es decir, solo procesa entradas y salidas por teclado y pantalla, quedando el procesamiento de la aplicación en manos del equipo central).

Por otra parte, en los ambientes de ingeniería e investigación, empezaron a aparecer potentes computadoras personales basadas en Unix y construidas, usualmente, con tecnología RISC, denominadas workstations (estaciones de trabajo). Si bien estos equipos corrían básicamente el mismo Unix que los equipos centralizados, explotaban más sus capacidades de multiprocesamiento que la de atender múltiples usuarios simultáneos; es decir, se trataba de equipos con mucho potencial de cálculo, especialmente pensado para aplicaciones de ingeniería o científicas, operados por un único usuario desde la consola (pantalla y teclado conectado directamente al equipo), siendo muy poco usual que se las conectara a terminales seriales a ser utilizadas por otros usuarios, a pesar de que el sistema operativo soportaba esta modalidad de trabajo.

Si bien el pasar de equipos centralizados compartidos a equipos personales individuales trajo como beneficio un mayor poder de procesamiento y flexibilidad para los usuarios, se llevó consigo una de las ventajas de la computación centralizada: la posibilidad de compartir recursos. Es por ello que la década del 80 no sólo es la década de la computación personal, sino también la de la popularización y crecimiento de las redes de área local (denominadas LAN). La idea de interconectar equipos en redes no era nueva; sin embargo, los esfuerzos de investigación y desarrollo en tal sentido se orientaban mas bien a la interconexión de equipos ubicados en locaciones distantes entre sí, formando redes de área amplia (conocidas como WAN), ya que el "área local" estaba dominada por equipos de conexión centralizada. En el caso particular de Unix, la técnica de interconexión que se volvió standard fue la basada en una familia de protocolos de comunicaciones denominada TCP/IP, mediante la cual dos equipos Unix interconectados podían intercambiar datos y permitir a usuarios conectados a uno de ellos iniciar nuevas sesiones de trabajo en el otro.

 Cuando las workstations aparecieron en la escena a mediados de la década del 803, resultó natural que estuvieran preparadas con capacidades de conectividad en red. No obstante, el tipo de conectividad requerida no era a nivel WAN sino a nivel LAN, a fin de que pudieran interactuar con otras workstations y con equipos centralizados de mayor porte disponibles en la organización. Se volvió entonces practica standard entre los fabricantes de workstations que las mismas contaran con capacidad de conectividad TCP/IP y hardware para conexión a una red LAN, utilizando la norma Ethernet, que finalmente terminó por convertirse en el standard para redes de estas características. De ésta manera, un usuario poseedor de una workstation podría ejecutar localmente sus aplicaciones y al mismo tiempo iniciar sesiones de trabajo remotas en los servidores corporativos (y, por supuesto, en otras workstations disponibles en la red4).


Workstation Sun

Al mismo tiempo, las PCs fueron ganando terreno en el ámbito de las redes LAN (y, de hecho, resultaron finalmente sus principales impulsores). Sin embargo, no fue hasta mediados de los 90 con la masificación del acceso a servicios Internet (la red TCP/IP por excelencia) que TCP/IP se volvió un componente obligado del software de red de éstas computadoras, desplazando a otros protocolos como IPX y NetBIOS, que dominaron la escena de las LAN entre PCs durante años. Como resultado, hoy puede utilizarse una PC de bajo costo para acceder a servicios de datos y sesión remota sobre servidores Unix, de manera análoga a la que se utilizaría desde una workstation.

El Sistema X-Window

 Cabe mencionar finalmente otro tipo de conexión a sistemas Unix, para el cual hay que analizar previamente el formato con que esas conexiones pueden realizarse. Tradicionalmente, las terminales bobas fueron dispositivos "de caracteres", que permitían conexiones en modo texto. Las primeras terminales eran extremadamente primitivas; denominadas "ttys de vidrio", básicamente eran variaciones de los teletipos (de allí la denominación "tty") y únicamente permitían desplegar líneas de caracteres y producir avances de carro, sin que el programador tuviera control alguno sobre el formateo y ubicación de dichos caracteres en la pantalla. Con el tiempo, fueron evolucionando hasta eliminar esas limitaciones (se transformaron en terminales "de pantalla completa") y agregaron nuevas capacidades como diferentes estilos (caracteres parpadeantes, remarcados, subrayados, etc.), diferentes juegos de caracteres, caracteres gráficos, etc. Pero continuaron siendo terminales capaces de mostrar solamente texto


Teletipo o Terminal "de copia dura"

.Mientras esto ocurría en el ámbito comercial, el MIT (Instituto de Tecnología de Massachusetts) se encontraba trabajando en el Proyecto Athena. Uno de los resultados de ese proyecto fue un "sistema de presentación gráfica distribuida". La idea consistía en permitirle a un programa, llamado cliente, ejecutarse en una computadora y enviar su salida (ya fuera esta texto o gráficos) por medio de enlaces TCP/IP a otro programa, llamado servidor de ventanas (window server), en ejecución en la misma u otra computadora. Las computadoras del cliente y el servidor podrían ser inclusive totalmente diferentes (en hardware y/o sistema operativo), en tanto y en cuanto ambas estuvieran interconectadas de alguna manera por TCP/IP e implementaran un protocolo especial denominado protocolo X. El conjunto resultante se denominó Sistema X-Window, en el cual la funcionalidad de la aplicación se divide entre el Server-X (o servidor de ventanas) que tiene a cargo la administración de los recursos físicos de presentación (es decir, manipula los recursos del hardware de visualización, las entradas por teclado y los eventos del mouse) al cual se conectan múltiples Clientes-X (es decir, las aplicaciones que el usuario ejecuta sobre el equipo central), vinculadas las mismas al Server-X por medio de enlaces TCP/IP.


Terminal X de Tektroniks
 Una de las aplicaciones de X-Window fue permitir la creación de un nuevo tipo de terminales, conocidas como X-Terminals. Una X-Terminal es básicamente una terminal boba en el sentido de que no procesa localmente las aplicaciones del usuario, pero la principal diferencia es que le ofrecen una interfaz gráfica altamente sofisticada. Para ello, una X-Terminal implementa el protocolo X y cuenta con un window server. Cuando el usuario, por medio de una X-Terminal, lanza una aplicación, la misma se ejecuta en el host, excepto las operaciones de dibujo sobre la pantalla y la captura de eventos de teclado y mouse, que son ejecutadas por el Server-X localmente en la X-Terminal. En otras palabras, cuando el Cliente-X requiere desplegar algún tipo de información por pantalla, le envía una petición al Server-X para que la lleve a cabo; de la misma manera, no es la aplicación la que realiza la lectura de teclado y la captura de eventos del mouse, sino que dicha operación la realiza en Server-X (sobre la X-Terminal) para luego notificar al Cliente-X (en el host) cuando los eventos eventualmente ocurren. Todo ese diálogo entre el Cliente-X y el Server-X se materializa en forma de mensajes TCP/IP.

Por otra parte, X-Window se volvió un componente infaltable de las workstations. X-Window es un sistema de ventanas cliente/servidor. Una de las ventajas del modelo cliente/servidor es que puede ser implementado tanto de manera distribuida (es decir, cliente y servidor ejecutándose en computadoras diferentes) como local (cliente y servidor ejecutándose en la misma computadora), debido a que lo único que establece es que deben existir dos procesos (el cliente y el servidor) unidos a través de un canal de comunicaciones. Para el caso de X-Window, esto significa que tanto el Server-X como el Cliente-X podrían eventualmente ejecutarse en la misma computadora, tal como ocurre en una workstation.

Finalmente, y dado que ya en el espíritu inicial de los diseñadores de X-Window estaba embebido el concepto de independencia de plataforma entre el Cliente-X y el Server-X, resultó natural la eventual aparición de Servidores-X para plataformas completamente diferentes de Unix, tal como MS-Windows. Ello posibilitó utilizar una máquina Windows como si fuera una X-Terminal, una estrategia análoga a la utilizada anteriormente por medio de emuladores de terminal.

En resumen...

Se han reseñado varias formas para conectarse a un host Unix:



3. La primera workstation fue lanzada al mercado por Sun Microsystems en 1983.

4. Esta concepción del trabajo en red llevó a Sun a acuñar el slogan "The network is the computer" ("La computadora es la Red").

5. Este tipo de conexión es estrictamente otra forma de conexión TCP/IP. Se la menciona por separado debido a que su formato es radicalmente diferente al de las conexiones TCP/IP mas conocidas (como por ejemplo, conexiones vía telnet).