← Volver a artículos
Noticias· 5 min de lectura

Unix V6 y V7: el código que sembró toda la informática moderna

Ken Thompson y Dennis Ritchie, creadores de Unix, en una fotografía de 1973
Imagen: Unknown authorUnknown author / Public domain · Wikimedia Commons

Pocos programas han influido tanto con tan pocas líneas de código. El Research Unix que Ken Thompson y Dennis Ritchie desarrollaron en los laboratorios Bell de AT&T durante los años setenta es el ancestro común de casi todos los sistemas operativos serios que usamos hoy. Dos versiones concretas marcaron el salto: la Sexta Edición (V6, 1975) y la Séptima Edición (V7, 1979), que llevaron a Unix de experimento interno a fenómeno mundial.

Bell Labs y los orígenes

Unix nació a finales de los sesenta en los laboratorios Bell, el brazo de investigación de AT&T, como reacción al fracaso del ambicioso proyecto Multics. Thompson, Ritchie y un puñado de colegas querían un sistema sencillo, elegante y útil para ellos mismos. El salto de verdad llegó cuando Ritchie reescribió buena parte del sistema en lenguaje C, su propia creación. Por primera vez un sistema operativo podía moverse de una máquina a otra sin reescribirlo entero en ensamblador.

Las primeras ediciones circularon solo dentro de AT&T. La Quinta Edición se licenció a instituciones educativas, pero fue la siguiente la que abrió las puertas de par en par.

V6 (1975): Unix sale al mundo

Terminal de Research Unix en un PDP-11 emulado mostrando los directorios de código de ken y dmr
Research Unix sobre un PDP-11 emulado con SIMH: en /usr/sys conviven los directorios de fuentes de Ken Thompson y Dennis Ritchie. · Imagen: Huihermit / CC0 · Wikimedia Commons

Lanzada en mayo de 1975, la Sexta Edición fue la primera versión de Unix con distribución amplia fuera de Bell Labs. AT&T la licenció a universidades por unos 200 dólares y a usuarios comerciales por la friolera de 20.000, un precio pensado para espantar a las empresas. Aun así, V6 acabó siendo la versión más usada hasta bien entrados los ochenta.

Estaba diseñada para los miniordenadores PDP-11 de Digital Equipment Corporation. Su gran hazaña histórica llegó en 1977, cuando Richard Miller y Ross Nealon, en la Universidad de Wollongong (Australia), la portaron al Interdata 7/32. Fue el primer Unix que corría en algo que no era un PDP, y demostró en la práctica que un sistema operativo portátil escrito en C era posible. Esa lección de portabilidad es la que hoy permite que Linux o FreeBSD funcionen en móviles, servidores y supercomputadoras por igual.

El Lions Commentary: el libro pirata más querido

La curiosidad más célebre de V6 es pedagógica. John Lions, profesor en la Universidad de Nueva Gales del Sur, escribió en 1976 un comentario línea por línea del núcleo de V6: las 9.073 líneas del kernel acompañadas de otra cantidad similar de explicaciones. Una herramienta de enseñanza brillante.

El problema era la licencia. AT&T restringía su circulación a quienes tuvieran licencia de Unix, y a partir de V7 la compañía prohibió este tipo de comentarios docentes. Lo que pasó después era previsible: durante casi veinte años, miles de estudiantes de todo el mundo se pasaron fotocopias de fotocopias del Lions Commentary, y lo convirtieron en uno de los documentos clandestinos más venerados de la informática. No fue hasta 1996 cuando Santa Cruz Operation autorizó su publicación oficial junto al código del «Unix antiguo».

V7 (1979): la última gran versión de Bell Labs

Sala de un miniordenador DEC PDP-11/70 con consola, unidades de cinta y de disco
Un DEC PDP-11/70 completo: el tipo de miniordenador para el que se diseñaron Unix V6 y V7. · Imagen: Kozan / Public domain · Wikimedia Commons

La Séptima Edición de 1979 fue la última versión de los laboratorios Bell con distribución masiva antes de que AT&T comercializara Unix en serio. V7 venía cargada de novedades que hoy reconocemos al instante: el shell de Bourne (sh) de Stephen Bourne, con sus bucles for...do...done, estructuras case...esac, here-documents y la convención del descriptor de fichero 2> para errores; y comandos como awk, make, lint, tar, touch, find o el compilador portable de C.

V7 era tan completa que se ramificó en dos grandes linajes. Por un lado, los Unix comerciales de AT&T que llevaron a System V e influyeron en Solaris y AIX. Por otro, los desarrollos de Berkeley que dieron lugar a BSD y, con los años, a FreeBSD, OpenBSD y NetBSD. Incluso MINIX, el sistema que inspiró a Linus Torvalds, bebe de esta tradición.

«No se espera que entiendas esto»

Ninguna anécdota define mejor el carácter de aquel código que un comentario en el kernel de V6, justo en la zona del cambio de contexto entre procesos: /* You are not expected to understand this */. Aquello dependía de un truco peculiar del compilador de C para el PDP-11 al guardar registros, y se rompió al portarlo a otras máquinas, así que tuvo que rediseñarse en V7.

Ritchie aclaró años después que la frase venía a decir «esto no entrará en el examen», y no era un desafío arrogante. Lo gracioso es que ni los propios autores lo entendían del todo. Hoy se considera uno de los comentarios de código fuente más famosos de la historia de la informática.

El legado

V6 y V7 eran diminutos para los estándares actuales, pero plantaron las semillas de todo: el sistema de archivos jerárquico, los pipes, las herramientas pequeñas que hacen una sola cosa bien, el shell programable y la filosofía Unix. Cada vez que abres una terminal en macOS, Linux o cualquier BSD, estás tocando, de forma muy lejana pero directa, aquel código de Bell Labs.

Fuentes