martes, 24 de octubre de 2023

¿Cómo uso ITS desde Ubuntu?

Reunidos con educadores de nivel primario, Juan Perón expone las necesidades de formar ciudadanos de provecho, a la vez que instruye cómo utilizar remotamente el ITS, el mítico sistema operativo del MIT desde Ubuntu.

¡Trabajadores!

El pasado pertenece a nuestra historia y a nuestros héroes. El presente tenemos la gran responsabilidad de tenerlo en nuestras manos. Pero el futuro - que es lo más valioso, porque es la esperanza de la Patria - es de los Maestros, que plasman y modelan diariamente en las escuelas a los hombres del mañana, de quienes depende la grandeza de la nacionalidad.

No hay país que pueda ser grande si no son grandes los que forman y acendran el temple y el alma de sus hijos. La democracia, y cualquier otra forma de gobierno en que un noble liberalismo les guíen, no será nada para la grandeza de los países, si los maestros no han preparado los hombres que han de practicarla y llevarla adelante.

Se ha dicho - y con razón - que Inglaterra es uno de los países mas libres y más importantes del mundo, y eso lo debe exclusivamente a la escuela. El liberalismo en manos de hombres mal instruidos, mal preparados, conduce mas al caos que a la liberación, y no a la grandeza de los hombres y de las Patrias.

De ahí surge, en forma indudable, la responsabilidad de los hombres y de las mujeres que están forjando - en los niños - la grandeza futura del País. De ahí surge la enorme responsabilidad de un Maestro consciente que ha de formar la fuerza mas extraordinaria del Pueblo, que es la conjunción de las Inteligencias y de las Almas de los hombres que lo integran.

La tarea del Maestro no es solamente la de instruir, sino la de educar y formar el alma y la inteligencia; dar armas a los hombres para su lucha por la vida o en la vida. Porque es necesario pensar en vivir en una Comunidad Organizada para organizarla. Es necesario pensar en vivir en paz, para lograr la paz.

En el uso del cómputo sucede más o menos lo mismo, al constituirse en una extensión técnica de la vida misma. Un ambiente de cómputo no puede estar regido como una nube, donde vuela pasajera y se deshace al capricho incontrolable del clima político, sino que debe fundarse sobre el sólido pilar técnico de factura y control comunitario, humano. Es allí donde una comunidad, en operación de su potencia de cómputo, puede desarrollar software en libertad para hoy y para el mañana.

Uno de los ambientes punteros en este aspecto fue sin duda el ITS (1969-c.1993), el mítico Sistema de Tiempo de cómputo compartido Incompatible, desarrollado en una DEC PDP-10 del Instituto Tecnológico de Massachussets, el MIT. Este fue el cimiento sobre el cual se afianzó la comunidad hacker, y por extensión, nuestro Movimiento de Software Libre.

En el Justicialismo sabemos que no todos los días debemos tirar un viejo por la ventana, y esto podremos hacerlo realidad efectiva gracias a HACTRN, proyecto que pone a público acceso telemático un sistema ITS emulado, con el cual podremos utilizar para hacer nuestra informática de forma Libre. Podremos además comprender el funcionamiento de ITS como se debe hacer: usándolo.

Para mayor fidelidad, en nuestro sistema GNU con Linux podemos emplear un emulador de terminal gráfica Knight TV11, videoterminal diseñada en la Universidad de Stanford por Tom Knight. Consistía en un monitor de tubo de rayos catódicos excitado por direccionamiento de mapeo de bits, provisto de teclado. Su memoria intermedia - controlada por una minicomputadora PDP-11, se conectaba a la PDP-10 merced de una interfaz especial que permitía incluso adosarle una impresora electrostática.

Para instalar en Ubuntu dicho emulador hemos de abrir una terminal mediante Ctrl+Alt+T, e ingresar los siguientes comandos de organización:

cd /tmp;
wget https://hactrn.org/tvcon/tvcon-linux.gz ;
gzip -d tvcon-linux.gz
chmod +x tvcon
sudo mv /tmp/tvcon-linux /usr/local/bin/tvcon

Una vez completada esta instalación ya podremos enlazar a la máquina ITS "HACTRN" con:

tvcon -2BCS  -c00000,affae2 hactrn.org

(Nota: los números en hexadecimial de la variable -c en este caso denotan el color de fondo y frontal, calculados en este caso para representar la estética televisiva de la Knight TV11).

...o bien por telnet, con

telnet hactrn.org 10003

Al establecer contacto, deberíamos recibir una imagen del bienvenida del sistema ITS del MIT emulado:


 

...o - desde telnet - el siguiente mensaje:

Connected to hactrn.org.
Escape character is '^]'.


Connected to the KA-10 simulator MTY device, line 1

Una vez presentados este "lobby" electrónico que nos invita a activar un terminal, debemos activarla presionando la tecla F1 (o Ctrl+z si usamos Telnet) y finalmente se refrescará la pantalla de login:

HX ITS.1651. DDT.1548.
TTY 1
You're all alone, Fair share = 98%
Welcome to ITS!

For brief information, type ?
For a list of colon commands, type :? and press Enter.
For the full info system, type :INFO and Enter.

Happy hacking!

Debido a las muy laxas medidas de seguridad originales de los laboratorios del Instituto Tecnológico de Massachussetts - fundamento de la cultura hacker - podremos darnos de alta en el ITS clásico sin suplir luser (forma risueña de "usuario de laboratorio"), ni contraseña.

Para adentrarnos al sistema ingresamos:

:login luser

Ingresar comandos en DDT

En pantalla deberíamos ver el prompt * que denota a DDT - el intérprete de comandos original y depurador de nivel superior en ITS. Asimismo, en la parte inferior de la pantalla, aparecerá una línea de status ("wholine") que indica el nombre de luser, nombre de trabajo de cómputo activo, fecha y hora, status de sistema (ejecución, paginado, etc), el porcentaje de compartimentado justo, y otra información interesante de ITS.

Cada comando suele empezar con :, y para ejecutarlo debemos presionar la tecla Intro.

Muchas veces podremos interrumpir un programa en pleno funcionamiento mediante la combinación de teclas Ctrl+z. En otros casos los programas finalizan su ejecución por si mismos, por lo que DDT presentará el indicador :kill, lo que denota que el programa mismo se autoeliminó y liberó la memoria que consumía.

El programa de ayuda más simple que podremos ejecutar es  el comando :help indicará una introducción básica del intérprete DDT. 


El comando :luser nos indicará advertencias al usuario novato en línea. En tanto. El comando :? lista los comandos mas usuales de ITS (podremos paginarlos con la Barra Espaciadora). El comando :info presentará ayuda en pantalla.

Por supuesto, para cerrar la sesión de usuario, debemos usar el comando :logout, que cierra la sesión e interrumpe todos los trabajos que hubiésemos estado haciendo en ITS

Pues bien señores, ciertos programas requieren utilizar un nombre de luser, y tal vez incluso contar con un directorio de almacenamiento (“home”). 

Si deseamos crear tal directorio de almacenamiento debemos elegir un nombre de luser, y presionamos Ctrl+r e ingresamos el comando 

luser; ..new. (uder)

(siendo luser el nombre de usuario deseado). Si bien DDT te informará “no such file”, aún así creará el directorio. Este directorio LUSER simplemente será asignado al luser que ingrese al sistema.

Hemos de notar que contar con un directorio home implica en la práctica poder usar la mayoría de las aplicaciones de ITS, pero para afiliarnos como luser “oficial” del sistema del MIT debemos responder las preguntas del programa INQUIR. Para ello, ingresamos el comando:

:inquir

...y completamos los campos que irán apareciendo uno a uno en forma de preguntas en inglés. Para ello mecanografiamos las respuestas y presionamos la tecla Intro o Ctrl+c según se indique. Al terminar, almacenamos los resultados con el comando DONE.

Al loguearnos, DDT recavará la base de datos INQUIR por el nombre de tu directorio home. Al usar este programa, si directorio home podría ser distinto al de tu nombre de usuario (si así lo has dispuesto). 

El sistema de archivaje de ITS es relativamente potente, y consiste en directorios y ficheros, con control de versionado.

Los archivos tienen seis letras, y una extensión de tres, junto con un número de versión. Ejemplo: DIRECT;FICHER.EXTEN.1

Podremos :cwd para ver tu directorio home, y :cwd directorio para cambiar a otro directorio.

Se usa el comando :listf o Ctrl+f para listar los ficheros de un directorio. Podrás imprimir en pantalla el contenido de un fichero mediante :print fichero.

Editores

Ahora podremos usar el comando :emacs para editar con Emacs, o bien usar :teco. Los comandos de Emacs son mayormente similares a los de la versión GNU.

Ctrl+x,Ctrl+f fichero Intro Carga fichero
Ctrl+x,Ctrl+s fichero Intro Guarda fichero
Ctrl+x,Ctrl+c sale (pero no mata emacs)
Ctrl+f cursor derecha
Ctrl+b Cursor izquierda
Ctrl+a Comienzo de línea
Ctrl+e Fin de línea
Ctrl+n Línea siguiente
Ctrl+p Línea previa
Ctrl+d Borra caracter a la derecha
Supr Borra caracter a la izquierda
Ctrl+k Borra hasta el final de la línea

Control de Trabajos en ITS

Al igual que otros sistemas contemporáneos como TOPS-20,  ITS era un sistema multiusuario multitarea influyente, señero en el sentido que podía operar distintos planos los trabajos de cómputo en ejecución ("jobs").

:continue Pasa el trabajo a primer plano
:proceed Pasa el trabajo a ejecución en segundo plano
:self Selecciona al intérprete DDT como trabajo actual
:attach Une un trabajo en segundo plano pase al primer plano de la terminal.
:detach Despega el trabajo de la terminal.
:job nombretrabajo Selecciona el nombre del trabajo
:kill Elimina el trabajo activo
:massacre elimina todos los trabajos.
:forget Oculta un trabajo a tu intérprete, sin eliminarlo.
:genjob Cambia el nombre del trabajo actual.
:ujobs luser Selecciona el trabajo de un usuario ajeno para exminarlo
:snarf trabajo Toma posesión de un trabajo ajeno

Con el comando :who podrás ver los lusers conectados al sistema. En cualquier caso, podrás mandar un mensaje a otro usuario con :send luser mensaje, y utiliza Ctrl+c para enviar el mensaje a luser.

Si usas :shout mensaje y lo envías con Ctrl+c, enviarás el mensaje a todos los usuarios conectados. 

El sistema de correo electrónico interno de ITS puede usarse con :mail, o bien :msend para enviar a varios usuarios internos. Se finaliza el mensaje con Ctrl+c. Para leerlos podremos usar :rmail (lector en Emacs).

He aquí una serie de equivalencias de comandos de UNIX a un equivalente para el ITS. En ITS el $ equivale a presionar la tecla tecla Escape.

Comando de UNIX Comando de DDT Comando con :
login: usuario luser$u :login luser
logout $$u :logout
TERM=vt52
:tctyp vt52
TERM=vt100
:crtsty vt100
clear
:clear
ls Ctrl+f :listf
ls directorio directorioCtrl+F :listf directorio
ls / Ctrl-R m.f.d. (fichero) :print m.f.d. (fichero)
ls *.foo Ctrl-R directorio: second foo :print directorio: second foo
more fichero Ctrl-R fichero :print fichero
mkdir directorio Ctrl+R directorio;..new. (udir) :print directorio;..new. (udir)
cd directorio directorio$$CTRL-S :cwd directorio
cp f1 f2 $Ctrl+r f1,f2 :copy f1,f2
rm fichero CTRL+o fichero :delete fichero
ln f1 f2 $Ctrl+o f1,f2 :link f1,f2
mv f1 f2 $$Ctrl+o f1,f2 :rename f1,f2
mv fichero directorio :move fichero,directorio
emacs emacsCtrl+K :emacs
ps $$v :listj
kill pid pid$Ctrl+x :job pid :kill
sudo -u u comando u$Ctrl+s comando
top peekCtrl+h :peek
Ctrl+u Ctrl+d
Ctrl+c Ctrl+g
Ctrl+z Ctrl+z
Ctrl+d Ctrl+c
fg $P :continue
bg Ctrl+p :proceed

Juegos

El ITS cuenta con varios juegos. Con :advent te permitirá jugar la versión clásica de la aventura de texto. :wumpus era un juego para cazar la míticaa criatura Wumpus. :eliza y :doctor eran juegos de psiquiatría. Los juegos de tablero están presentes con :games,ckr (damas), :games;ocm, :chess y :games;chess2 (ajedrez), :go (ajedrez chino go) y el primer FPS multiusuario :games;maze, o :chase, un laberinto para dos jugadores. :cube es un juego de cubo de rubik. También está el juego de la vida de Conway con :games;mlife. El clásico trek puede jugarse con :games;trek, mientras que el viejo juego de adivinar números con :games;guess.

También puedes jugar la aventura de texto Zork, pero requiere tener un archivo en tu directorio para trabajar, de modo que debes ingresar:

:login luser
:print luser; ..new. (udir)
:create luser; _msgs_ luser

Presiona Ctrl+c e ingresa:

:zork

Finalmente, podrás observar el mítico PDP Spacewar (se sale presionando varias veces con Ctrl+q o Ctrl+c):

Subsistemas

ITS es una plataforma de programación y virtualización que cuenta con gran cantidad de intérpretes y subsistemas. Podremos compilar C con :cc, usar Macsyma 1001 con :macsyma, contamos con :forth para dicho lenguaje, el intérprete de Macro Z80 con :macn80 y DEC Macro-10 con :macro-10, LISP con :lisp y :lisp11, Scheme con :scheme y LOGO con :llogo y :logas. :fail nos permite usar el ensamblador del SAIL, mientras que :cross permite usar un compilador cruzado para distintas microcomputadoras, pero existen muchos más.

A su vez, contaremos con una shell tipo Unix con :shell (lo abandonamos con q).

En tanto, podremos usar :finger, :telnet, :ftpu, :kermit, :xmodem, para tareas respectivas con dichas aplicaciones de transmisión de datos.

Naturalmente, podremos encontrar información en la Wiki de ITS.

No hay comentarios:

Publicar un comentario