Cómo ejecutar UNIX antiguo en tu PC: SIMH, Docker, V7/V8, BSD y más

Última actualización: 19/11/2025
Autor: Isaac
  • Emula V1–V7, 32/V, BSD clásicos y Research V8 con SIMH/TME o Docker, con telnet y Blit donde proceda.
  • Resuelve terminal y retroceso con TERM=vt100 y stty; usa xclip/ed, tar en “cintas” o bundle para transferir.
  • Aprende permisos, dispositivos, regex y herramientas (ed, sed, awk, vim) para trabajar con soltura.
  • Aplicaciones reales: formación, preservación, IoT y análisis de sistemas legacy con 2.11BSD y BSD 4.2/4.3.

Ejecución de UNIX antiguo en emuladores

Volver a poner en marcha sistemas UNIX de hace décadas en un PC actual no es magia, es cuestión de saber con qué herramientas jugar y qué expectativas tener. En este artículo vas a encontrar una guía completa y con ejemplos prácticos para ejecutar versiones antiguas de UNIX (V1, V5, V6, V7, 32/V, BSD clásicos y Research V8) usando emuladores como SIMH, TME o incluso Docker, además de un buen puñado de trucos para sobrevivir a sus particularidades.

Más allá de la nostalgia, estas restauraciones sirven para aprender arquitectura de sistemas, programación y filosofía de diseño minimalista. Si diriges un equipo técnico, montas un laboratorio educativo o investiga tu startup en preservación y seguridad, aquí tienes la hoja de ruta: cómo arrancar, cómo conectarte, cómo transferir archivos, cómo editar texto y cómo no desesperarte con el retroceso.

Qué entendemos por “UNIX antiguo” y qué ediciones puedes emular

Cuando hablamos de UNIX “clásico” nos referimos a ediciones de los 70 y 80 de Bell Labs, AT&T y Berkeley, además de su línea de investigación. Son sistemas minimalistas, algunos con shells muy primitivos y sin comodidades modernas. Muchos se ejecutaban en PDP-11 o VAX. En emulación moderna podemos arrancarlos con imágenes preinstaladas y conectarnos por telnet al puerto 8888 como si estuviésemos frente a un terminal físico.

Entre las ediciones de Bell Labs destacaron: V1, V5, V6, V7 y 32/V (esta última, un port de V7 a VAX). V7 fue el salto a un UNIX “moderno”: C como lenguaje dominante, shell Bourne y utilidades claves como sed, awk y tar. V6/V5 son ásperos para el estándar actual: medio sistema en ensamblador y carencias notables en scripting.

En Berkeley (BSD) la saga trajo mejoras de usabilidad y de red: 3BSD, 4BSD, 4.1BSD, 4.2BSD (TCP/IP y FFS), 4.3BSD y 4.3BSD-Reno (antesala de 4.4BSD). Aficionados mantienen 2.11BSD para PDP-11 y aún hoy 4.3BSD-Quasijarus sigue siendo un favorito por sus capacidades de red y software clásico como perl o Emacs.

La línea de investigación de Bell Labs prosiguió tras V7 con Research UNIX V8, V9 y V10, madurando ideas que desembocarían en Plan 9. V8 es especialmente agradable de usar, con software BSD (vi, more, rogue) y soporte para el terminal gráfico Blit.

Sistema Máquina Año
V1 PDP-11 1971
V5 PDP-11 1974
V6 PDP-11 1975
V7 PDP-11 1979
32/V VAX-780 1979

Guía paso a paso de UNIX clásico

Herramientas para emular: SIMH, TME, Blit y Docker

La navaja suiza para estos sistemas es SIMH. Con sus binarios para VAX y PDP-11 puedes cargar imágenes preinstaladas, arrancar el invitado y acceder por telnet desde otra ventana. También puedes usar TME para casos concretos (por ejemplo V9 sobre Sun-3 tras instalar SunOS 4). Para V8, existe un emulador del terminal Blit que desbloquea su experiencia gráfica (mux, editores como jim y juegos tipo “demo pacman”).

Si prefieres cero fricción, hay un atajo estupendo: un contenedor Docker con la primera edición de Unix. Con Docker instalado, basta ejecutar una imagen pública que levanta un PDP‑11 simulado, te ofrece login y dentro te mueves con utilidades básicas de la época (olvídate de Bash: no existía). Salir es cuestión de pulsar Ctrl+E y luego q en el monitor de la máquina.

  Asesor de Actualizaciones de Windows 7 | Descargarlo y Usos

SIMH también permite experiencias multiusuario: en muchas imágenes puedes entrar como root o guest, sin contraseña, y conectar hasta ocho clientes telnet simultáneos. Cuando toque parar, apaga desde la consola que ejecuta la VM; las sesiones “diskless” remotas pueden cerrarse sin ceremonia.

En el caso de Research V8, tras arrancar con el emulador VAX-780 de SIMH, puedes levantar el cliente Blit con un comando que define velocidad, colores y el destino tcp del servidor V8. Cambia TERM en tu perfil si lo usas desde telnet en vez de un Blit virtual para que las aplicaciones de pantalla se comporten como en un VT100.

Emulación de V7, BSD y Research V8

Arranques rápidos: 4.2BSD, 4.3BSD-Quasijarus, V7 y V8

Los BSD “clásicos” son los más amables para empezar porque traen utilidades familiares (vi, more, apropos, head…). Para que te hagas una idea: 4.2BSD introdujo TCP/IP y el Fast Filesystem, y 4.3BSD lo pulió aún más. Quasijarus es un fork de 4.3BSD‑Tahoe muy querido por aficionados.

# 4.2BSD (VAX-780)
$ tar xzf 42bsd.tar.gz
$ cd 42bsd
$ less README
$ vax780 42bsd.ini
# en otra ventana
$ telnet localhost 8888

Para Quasijarus recuerda un detalle: arráncalo con el binario vax de SIMH (no vax780) para evitar sorpresas. Con V7 en PDP‑11 el flujo es parecido, cambiando ejecutable y fichero INI.

# V7 (PDP-11)
$ tar xzf v7.tar.gz
$ cd v7
$ less README
$ pdp11 v7.ini
# en otra ventana
$ telnet localhost 8888

Con Research V8 puedes usarlo como un BSD de texto o darle vida con el terminal Blit. Si vas por telnet, edita ~/.profile y ajusta TERM=vt100; si te lanzas con Blit, conecta el cliente con el puerto del servidor y disfruta de su multipantalla.

Terminales, variable TERM y el drama del retroceso

La mayoría de problemas de “pantallazos raros” se deben a dos cosas: mismatch de TERM y diferencias en la tecla Backspace. Lo primero se arregla exportando TERM=vt100 en el invitado (ya sea en ~/.profile para sh o con setenv en ~/.login si usas csh). En V8, por defecto, el perfil viene preparado para Blit y conviene cambiarlo si usas telnet.

Respecto al retroceso, los UNIX más antiguos esperan ^H (BS) como borrado y usan DEL (^?) para interrumpir; a partir de 4.1BSD la convención cambia (Backspace envía DEL y la interrupción es Ctrl‑C). Puedes solucionarlo con Ctrl+Retroceso o Ctrl+H, o ajustando el emulador de terminal: en xterm, con Ctrl+clic izquierdo y “Backarrow Key (BS/DEL)”; en Xfce Terminal, Compatibilidad → Control‑H para Backspace; GNOME/MATE/KDE tienen paneles similares.

Ojo con terminales “vintage” modernos (como 9term o cool‑retro‑term): en BSD recientes pueden soltar ^H literal. Un “stty erase ‘^H’” en el invitado suele reconciliarlo. En Plan 9 ocurre lo contrario: lo normal es ^H para borrar y ^? para interrumpir, que le sienta de cine a los UNIX viejos, pero obliga a ajustar el erase en los BSD nuevos.

Formas prácticas de mover archivos entre host e invitado

Hay tres estrategias universales: copiar/pegar texto, usar “tapes” con tar (o dd) y el método bundle (empaquetado en shell/ed). Cada una brilla en un contexto distinto y evita caer en puentes de red complicados que total casi nunca necesitas.

Copiar y pegar con ed: lo más rápido

Para pasar texto desde tu host, usa un portapapeles (por ejemplo, xclip) y en el invitado abre ed: “ed fichero; a; Pega; .; w; q”. Ten en cuenta las diferencias entre UTF-8 y ANSI al pegar texto para evitar caracteres extraños. Para traerlo de vuelta, marca con el ratón en la sesión telnet y pega fuera. Es tosco, pero para scripts, código o documentación breve, es instantáneo.

  Snapshots Btrfs con Snapper: Recupera tu Sistema y Datos en Linux

Tar en “cintas” con SIMH: enblock/deblock

En sistemas con tar (V7 en adelante y los BSD adecuados), lo más fiable es preparar la cinta en el host con formato V7 y “bloquear” el stream. Compila enblock.c y deblock.c, y en el INI de SIMH adjunta la cinta al dispositivo correcto (ts0 en BSD, tm0 en AT&T UNIX). Dentro del invitado, “tar tv0” para listar, “tar xv0” para extraer y “tar cv0” para escribir hacia la cinta. Al regresar al host, “deblock < .enb > .tar” y extraes. En V6 y anteriores, no hay tar: toca usar dd con /dev/rmt0, o bien el viejo tp con V7 de intermediario.

# Host
$ tar --format=v7 -cf files.tar *
$ enblock < files.tar > files.enb
# INI de SIMH (ejemplos)
# BSD:
att ts0 files.enb
# AT&T UNIX:
att tm0 files.enb
# Invitado
$ tar tv0
$ tar xv0
$ tar cv0 *
# Host
$ deblock < files.enb > files.tar
$ tar --format=v7 -tf files.tar

Advertencias: no esperes que esto funcione en todo (ej.: BSD < 4.2, V8 o 32/V no encajan bien). Para V6/V5/V1, dd y copiar/pegar serán más fáciles. “Tirar de red” es tentador, pero FTP solo tiene sentido en 4.2BSD, 4.3BSD y compañía.

Método bundle: empaquetar archivos como script

El clásico del libro “The UNIX Programming Environment”: bundle concatena ficheros con cabeceras/colas para que al ejecutar el script se reconstruyan. Copias un único bloque, lo pegas en el invitado y lo “sh”eas. Para sacar contenido desde el invitado, abre una sesión con script, imprime el bundle, cierra y extrae el bloque del typescript (con ed o sed). Es rápido, robusto y no depende de tar ni de tapes.

Si el sistema no tiene un Bourne shell (o lo quieres en V6/V5), convierte el bundle a un script de ed con una herramienta tipo “edbundle”, y listo: pegas, ejecutas ed sobre el paquete y los ficheros aparecen tal cual. Para V1, que carece hasta de pipes o grep, hay que trocear la automatización, pero se puede avanzar generando un “files.ed” acumulando bloques con echo >>.

Red en sistemas antiguos: ¿de verdad la necesitas?

SIMH puede exponer puertos y tú puedes entrar por telnet desde cualquier equipo permitido por el firewall del host. Más allá de eso, montar puentes de red para que el invitado salga a Internet suele aportar poco: los únicos con apps de red “útiles” son los BSD recientes de la serie (4.2/4.3), y normalmente con FTP basta (si te empeñas).

Ten en cuenta además que no todas las imágenes permiten clientes telnet externos: 4.3BSD‑Reno, 4BSD, SysIII, SysVR1 y V5 suelen negarse. En el resto, con dos o tres sesiones conectadas podrás usar mail y write para “charlar” como en la época.

Leer el código fuente histórico cómodamente

Muchas imágenes traen el árbol de fuentes. Aun así, leer en el host con grep recursivo y un buen editor es más agradable; y, para binarios, usa strings para extraer texto antes de intentar depurarlos. Existe un repositorio git que organiza décadas de UNIX: puedes clonar, cambiar a “Research‑V5”, buscar cat.c y hasta pasar cloc para medir tamaños. Ideal para estudiar estilo, syscalls y evolución del kernel.

  Guía completa para descargar e instalar ChromeOS Flex: USB, requisitos y métodos

SIMH en Plan 9 (9front): V8 y Blit a dos clics

Si usas 9front, hay binarios de SIMH y un emulador Blit ya empaquetados. El flujo típico: montar el servidor de ficheros, descomprimir simh.tgz, compilar con plan9/build_all, copiar a tu $home/bin y lanzar el VAX-780 con V8 desde un terminal vt. Pon el terminal en “raw” mientras corra el UNIX invitado para que Ctrl‑D y Delete no intercepten en Plan 9, y vuelve a “cooked” al parar la VM.

Para conectar el Blit: “games/blit -b 19200 -C 000000,00ff00 -t tcp!mimáquina!8888”. Recuerda que Plan 9 trabaja por defecto con ^H para borrar y ^? para interrumpir; en BSD nuevos ajusta “stty erase ‘^H’”. Y, en terminal vt, exporta TERM=vt100.

Un repaso express a ed (tu único editor en muchos casos)

En casi todos los UNIX pre‑BSD el editor disponible es ed. No es cómodo si vienes de una GUI, pero manda. Apertura de fichero, “a” para anexar, “.” para terminar entrada, “1,$p” para imprimir, “s///” para sustituir, “t.” para duplicar, “m” para mover líneas, “w” para guardar, “q” para salir. Es mucho más parecido a sed que a un editor visual.

Consejo clave: escribe una frase por línea y deja el formato a herramientas como fmt o troff. Mover palabras en un párrafo remaquetado a mano es sufrir por gusto. Y organiza tus notas en directorios con ficheros cortos (ch01, ch02, …) para concatenar con cat cuando toque.

AT&T System III/V, licencias y contexto

Tras V7, AT&T comercializó UNIX con System III y luego System V (SVR1…SVR4). Es un árbol conservador que acabó absorbiendo mejoras BSD en SVR4. Lamentablemente, ejecutar hoy ediciones AT&T “modernas” choca con restricciones de licencia, aunque las dos más antiguas ya son accesibles al público.

En SysV temprano el aspecto recuerda a V7 (rápido y fluido, pero con ed como editor apuntalando el día a día —en algunos casos, vi está pero no funciona). A nivel de licencias de lo que verás en este ecosistema, conviven GPLv3, BSD‑3‑Clause y Caldera según proyectos, con requisitos de apertura para derivados.

Por qué interesa a founders y equipos técnicos

Emular UNIX clásico en 2025 sirve para entender, de primera mano, portabilidad, diseño minimalista y procesos. Es una mina para productos de edtech, consultoría en sistemas legacy, preservación digital o ciberseguridad educativa. También vuelve a poner en el mapa sistemas ultraligeros como 2.11BSD, útiles para hardware muy limitado y, por tanto, interesantes en IoT.

Un apunte que siempre sorprende: PDP‑11 seguirá operativo en algunos entornos industriales durante años, y 2.11BSD se mantiene precisamente porque es de lo poco práctico y “en red” que puedes plantar ahí. Explorar estas piezas ofrece perspectiva y oportunidades reales.

Convertir entre formatos de salto de línea (CRLF vs LF) en windows
Artículo relacionado:
CRLF vs LF en Windows: convertir, configurar y evitar líos en proyectos