Las Terminales
Previo a que las computadoras cobrasen la forma moderna que las caracteriza hoy en día, los usuarios informáticos de toda laya recurrían al uso de terminales para interactuar con ellas.Introducción
El credo utilitario del GNU/Linux moderno brota de los días de la Teletipo. La línea de Comandos de GNU ha tomado su forma maquinal a partir de la manera en que funciona el viejo hardware que le dio orígen, y los desarrolladores de software pasado han construido el futuro sobre dicho legado.¿Cómo pasaron de terminales de impresión a las pantallas modernas?
Terminales de impresión
Con los cambiantes años 60, se volvió evidente que era necesario cambiar la anquilosada manera en la cual se ofrecía acceso al cómputo. Por entonces - quien era lo suficientemente afortunado como para usar las costosas computadoras en el ambiente laboral - debía recurrir a un manejo operación diferido e intermediado, y esto se hacía merced de las tarjetas o cintas de papel perforado.
Quienes eran verdaderamente afortunados - en los centros de cómputo de avanzada - podían recurrir al acceso interactivo. Esto implicaba utilizar un terminal impresor, también conocido como "teletipo" o - en la jerga - TTY.
,===============,===============,================, | :::::::: :::: | :::::::: :::: | .... : : : : : | |---------------|---------------|----------------+ | pdp-10 | F==L=TF==L=T|________________| | | (o)(o)(o)(o)| o o o || o o o | ______ | | L__L_| (o)(o)(o) | _[1:___:L_ | |__________L__L_+----------------+ /==========\ | | ### == o o | | /:: ###### ##\ | / .... :::::::: \----------------+ |=============| | ;=================; | || |: :| || | | | | || |: :| || | | | | ||,+:___:+,|| | | | | ||1_______!|| | | | | LL' 'LL 1===============1===============1================1Estas máquinas electromecánicas de la Teletype Co. se habían utilizado en el ámbito de las telecomunicaciones analógicas: de su traqueteo y goteo de caracteres a través de los cables, se servían la mensajería por telegrafía y servicios de cables de noticias.
Podríamos decir que la terminal de teletipo era precisamente eso: era una máquina electromecánica - la más de los casos capaces de operar automáticamente - descendientes de la leal máquina de escribir. Como su nombre sugiere, mecanografiaban entintando sobre papel. Mucho papel. A un máximo práctico de 75 caracteres por segundo, también eran lentas, ¡y ruidosas!
La presentación informática parecía una extensión de industria papelera que había surtido a las oficinas...
Aún así, el empleo de la conjunción computadora + terminal impresor se reveló sumamente útil y potente si consideramos las más típicas máquinas de escribir. A diferencia del incómodo método de servicio de computo por lotes anterior, el uso de programas interactivos fue cobrando forma paulatina, pudiéndose cubrir los resultados sobre papel, y a ordenar por medio del teclado.
Por transición, es posible apreciar los efectos de esta interfaz mujer-máquina sobre el diseño de toda una miríada de sistemas operativos informáticos, en particular al Unix - y sus descendientes, GNU entre ellos. Se vuelve comprensible entonces su preferencia por el uso de secuencias de caracteres impreso, especialmente en lo que respecta al uso de nombres cortos para las órdenes de operación. Tal elección subsiste en los comandos de primera generación como "ls", "cp", "rm", "cat", "pwd", etcétera. Tal vez el "esfuerzo" que implica mecanografiar - y el ruido del impacto y retorno del carro de impresión - explique el minimalismo.
Por demás, los archivos de trabajo respondían a la naturaleza de su redacción línea por línea, lo que conceptuó esta manera de pensar entre programas de computadora para la edición documental de esta época, conocidos como "editores de línea". Para realizar una modificación a un fichero almacenado, se podía recurrir a imprimir una o unas pocas líneas del texto - describiendo luego los cambios a realizar - o bien mecanografiar directamente la línea de reemplazo. "Teco", "Ecce", y "ed" son editores que sirven de ejemplos clásicos de este accionar, y actualmente podremos encontrar el moderno editor "ex" que responde a lo mismo.
Se encienden las videoterminales
Para mediados de la década de 1970, los avances en la tecnología electrónica fueron siderales, y facilitaron la adquisición de nuevas terminales basadas en tubos de rayos catódicos. Estas incluían métodos de control de un haz electrónico capaz de trazar caracteres en una pantalla de monitoreo. Por demás, al estar provistas con teclados de matriz de contacto, ofrecían un método de trabajo interactivo de calidad superior (e infinitamente más silencioso).Al poco tiempo, las videoterminales se revelaron más baratas y duraderas también, puesto que no necesitan resmas de papel para funcionar. Las nuevas "terminales de vidrio" coexistieron - durante un tiempo - con las antiguas terminales de impresión, reteniendo su puesto como consolas de administrador en las organizaciones más grandes (puesto que su impresión resultaba útil como registro). Aún así, las universidades y compañías más señeras comenzaron a reemplazarlas con las nuevas terminales "con pantalla de vidrio".
No resulatba extraño que muchos usuarios pudiesen usar gran variedad de modelos videoterminales en una única computadora central (mainframe).
_____________________ ___________________. |\ \ \ | +--------------------+--------------------\ | |=digital VAX 11/780 ======================+ | | | | | | |||||||||||||||||| | ||||||||||||||||||| | | | |||||||||||||||||| | ||||||||||||||||||| | ___________________, | | | | | ,==========, | | | | | | | Tómame | | | | | _ | | | Soy tuya!| | | | | U | | |__________| | | | | |F; ;-------------------; | | | | 8 / ::::::::::::::: :::\ | | |||||||||||||||||| | ||||||||||||||||||| | 8 '=======================' | | |||||||||||||||||| | ||||||||||||||||||| | 8 8 | | | | | | 8 8 | | | | | | 8, ,8 | | | | | | 8 8 | | | | | | '8' | | \| | | ,_______|W|________, +____________________+_____________________+ O O O
Las terminales de video no solamente reemplazaban el papel con una matriz de caracteres iluminados en una pantalla: su veloz refresco de letras avaló nuevas concepciones en las aplicaciones. Entre los más obvios e importantes se encontramos al editor de pantalla. En lugar de limitarse a una línea, ahora se podía observar el archivo entero - o al menos una porción más significativa del mismo - a lo largo del cual se podía paginar. De esta manera era mucho más práctica la redacción.
Uno de estos editores - denominado "vi" - fue escrito en 1979 por Bill Joy, por entonces estudiante graduado en ciencias del cómputo en UC Berkeley. Vi se convirtió rápidamente en el editor estándar de facto - y como tal, parte fundamental - de la Distribución de Software de Berkeley (BSD, una versión prominente de UNIX). También influenciaría el diseño de otros editores similares.
Las Terminales se Revelan con Termcap y Curses
Las videoterminales IBM 3270, Lear Siegler ADM-3, o la Digital Equipment VT100, presentaban velozmente texto monocromático, y podían funcionar bien localmente o intercomunicadas con distintas computadoras desde el hogar a través de líneas telefónicas.
Tan pronto como este tipo de terminales comenzaron a desplazar a los viejos terminales impresores, se volvieron patentes los problemas de compatibilidad en distintos ambientes de cómputo, así como entre los distintos programas (incluyendo a vi).
La solución ideada por Bill Joy fue compilar Termcap, una base de datos de terminales que detallaba sus características técnicas (cantidad de columnas que podía soportar la pantalla, si el cursor era direccionable al moverlo un programa de software, entre otras).
Junto a estos avances con mira centrada en la estandarización, la tecnología de presentación clave en los sistemas Unix y Linux modernos se vio motivada por un juego. Se trató de "Rogue", una propuesta de aventuras sumamente popular para las máquinas con BSD. En Rogue los jugadores se movían en la pantalla en lugar de recurrir a descripciones de texto. Asó, el videojuego consistía en explorar una misteriosa mazmorra en busca de un tal Amuleto de Yendor. Para ello Rogue se las arreglaba con letras, números y otros símbolos para representar la mazmorra, los demás monstruos enemigos, y al condenado personaje del jugador en la pantalla.
En cualquier caso, el estudio del refresco parcial o total de los caracteres terminaría siendo beneficioso para todos los modelos de terminales de video. Ken Arnold - uno de los diseñadores del juego - concibió la biblioteca curses, un conjunto de microprogramas que harían más sencilla la creación de lo que hoy se conoce como interfases de usuario basadas en texto, o TUI. Curses sobrevive actualmente en su forma de código abierto denominada ncurses, y es sumamente útil. Permite la creación de menúes y cuadros de diálogo desplazables tanto monocromáticos como a color, agilizar la construcción de tipo de programas, sobre todo planillas de cálculo, gestores de ficheros, reproductores de música para consola, editores de texto con ventanas...
Para principios de los 80s, la conexión de un videoterminal no sólo podía hacerse a una computadora mayor en una habitación contigua, sino que - provista de un módem - podría lograrlo a distancia, recabando así recursos informáticos incluso desde la comodidad del hogar, en "modo texto".
,ccccccc, /hhh _ _ h |===(e)(e)f (9;, \; ~ ______, jjh ..) ~ ~ / / \, "j#h -_-l ~ || |"''\ \, |"ghhjjh" ~ ~ || | '\ /"7 | "hgj' ~ || ,L_____,V_/! ,-/\\""/)------___-_,~___ ~ || (_t-t_). |! / /'!!'/|,______]_|--7-\\;,!__/(@) )'__!' | ---------o----, /####// [""""""]' \_________---!-_\7 !=====!' """"""
Las terminales X, las estaciones de trabajo y las PC reemplazan a las terminales
En la medida que progresaron los años 80s, la base instalada impondría la necesidad acuciante de buscar la compatibilidad de sistemas, a la vez que los cambios tecnológicos nuevamente afectaban la manera en las que se interactuaba con la máquina.
Las computadoras personales eran lo suficientemente pequeñas como para poder tenerlas sobre un mismo escritorio, en lugar de contar con un terminal en el escritorio necesariamente contectado a una gran computadora (ya sea que estuviese situada en una habitación contigua o en otra ciudad).
La computación personal involucró el concepto de "no compartir la computadora con otros", sino contar con cómputo más acequible para uso propio. Esto impulsó el concepto de "software privativo", en el cual los programas de software no se compartían, sino que se comercializaban a un único tenedor. Su precio se reducía en base a la fabricación en masa, y al consumo en gran escala.
_,,,_ .' `'. / ____ \ | .-'_ _\/ \_/ a a| (,` \ | .----. | -' | /| '--. \ '= / || ]| `-. /`-.__.' || ]| ::| .-'`-.__ \__ || ]| ::| / `` `. || ]| ::| _ | \ \ \ \| ]| .-' / \| \ | \ L.__ .--'( | |\ `. | \ ,---|_ \---------, | | '. './\ \/ .--._|=- |_ /| | \ '. `'.'. /`\/ .-' '. / | | | `'. `;-:-;`)| |-./ | | /_ `'--./_ ` )/'-------------')/) | \ | `""""----"`\//`""`/,===..'`````````/ ( | | | / `---` `===' / ) | / \ / / ( | | '------. |'--------------------'| ) | \ `-| | / | `--...,______| | ( | | | | | ) ,| | | | | ( /|| | | | | )/ `" / \ | | (/ .' /I\ '.| | /) .-'_.'/ \'. | | / ``` `"""` `| .-------------------.|| `"` `"`Otro tipo de computadoras fueron las llamadas "Estaciones de Trabajo". Compartían gran parte de los preceptos de las computadoras personales, enmendando una potencia de cómputo netamente superior. De esta forma, ofrecían la potencia de una máquina de gran desempeño, y gozar de mayores capacidades no necesariamente buscadas por un usuario de PC convencional. Entre estas se encontraban mayores capacidades de cálculo, o bien capacidades audiovisuales de avanzada.
____, ////^^\ (((/ 6 6 ,_,_____, )))9, =/ | | \___, ////'_/" | | ### 7 | (((( `.`\ | | o | | |)))`\ \))_.-,;;_,_|_1_______|---:, |(() `\_.-'`====o/:==============/| ||/=1=3, /==============/| |( 7=====-, L || | \_____!__, ; / || ++---++--+( / 7 || || |--+ | || __||__ | / | || // || \\/ `-._ | ,---, ,---,|| O O O`-"---"+"====""""===="+/
La interfaz por medio de gráficas
Las computadoras de uso concurrente siguieron prestando servicio durante la década de 1980. Conforme las Estaciones de Trabajo y las PC fueron cobrando mayor relevancia entre los usuarios individuales, se popularizaron un nuevo tipo de programa básico de comunicación: los emuladores de terminal. Estos permitían a estas máquinas conectarse con equipamiento de uso concurrente, pudiéndose así ejecutar los mismos programas basados en texto que las terminales dedicadas anteriores, Como ventaja, a menudo permitían usar múltiples "ventanas", graficadas en la pantalla del mismo videoterminal gráfico. La compatibilidad buscada hizo buscar varios estándares de visualización gráfica para estas terminales, algunos incluso de operación remota. El mundo Unix se decantó por el Sistema de Ventanas X.
X permite mostrar programas gráficos que corrían en computadoras remotas, pero se podían utilizar en el emulador de terminal. A estas se las llamaba "Terminales X", y fueron las antecesoras de los "clientes finos" (thin clients). La década de 1990 ve una convergencia de todos los modelos de cómputo hacia la utilidad basada en PC (que por entonces incrementa su potencia individual en un orden de magnitud). Los sistemas operativos consolidan sus aplicaciones gráficas, con interfases de usuario basadas en Escritorios Gráficos de ventanas. En estos, la antigua consola cobra el lugar de gestión destinado a la administración del sistema. La aparición de una red de datos de acceso general - Internet - consagrará en tanto un modelo de cómputo remoto de base comercial, que no podrá consolidarse sino hasta mediados de la primera década del milenio. La era moderna del emulador de terminal Para mediados de la década del 90 se popularizó el uso de interfaces gráficas de usuario, y para finales del milenio los sistemas tipo Unix no podían ya ser una excepción.
Los terminales de hardware dedicados han quedado en el camino, ya que incluso las netbooks más baratas contar con GNU con Linux.
Un trozo de software conocido como pseudoterminal gestiona los programas iniciados por un emulador de terminal. Cuando cambia el tamaño de una ventana de terminal, el pseudoterminal realiza un seguimiento del ancho o alto de la pantalla y hará que el programa se vuelva a dibujar para ajustarse a la nueva ventana.Si bien existen emuladores de terminal en otros sistemas, como el "símbolo del sistema" y PowerShell en Windows, en Linux han permitido continuar con la tradición de manejo avalada y sostenida comunitariamente. Las tildes - sistemas comunitarios puestos en red - se manejan a través de interfases de comandos, y como tal, se sirven de los emuladores a través de interacciiones en en la terminal.