Files
brahman/renaser/DIARIO.md
T
sergio 5c462e6d30 feat(renaser): Fases 8b y 8c — el escritorio interactivo
El compositor de la 8a teselaba, pero era inmovil. Las 8b/8c lo hacen
vivo: el teclado reordena el escritorio y mueve el foco en caliente.

- Cache de fotogramas: cada ventana guarda en RAM del kernel su ultimo
  fotograma —reservada una vez, acotada al lienzo natural—. Al re-teselar
  o mover el foco, el kernel recompone desde la cache: las apps que solo
  pintan en init (cronista) conservan su imagen sin enterarse del cambio.
- compositor: el registro ESCRITORIO (ventanas, marcos, caches, modo);
  presentar_fotograma, desalojar, atender_mandos, ciclar_layout,
  mover_foco. Foco en un AtomicUsize, mandos en una cola lock-free.
- teclado: la IRQ1 deja de difundir. Alt es el modificador del sistema —
  Alt+Espacio cicla el teselado, Alt+J/K mueven el foco—; una tecla
  ordinaria va SOLO a la app enfocada (CANALES reindexado por indice_app).
- consola: borde de foco (indigo / gris) en cada marco.

Guardarrail anti-interbloqueo: la IRQ1 jamas bloquea ESCRITORIO; se
comunica por dos atomicos y una cola lock-free. Las caches se reservan
una sola vez, al tamaño natural — sin asignacion en el bucle del reactor.

Verificado en QEMU (screendump + sendkey): arranque teselado con hola
enfocada; Alt+Espacio cicla a CenteredMaster y las apps estaticas
conservan su contenido; Alt+J mueve el foco; las teclas llegan solo a la
app enfocada. Cierra la Fase 8 — el compositor teselante e interactivo.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 19:19:21 +00:00

21 KiB

Diario de renaser

Una crónica, en lenguaje llano, de cómo va naciendo un sistema operativo. Cada jornada de trabajo añade aquí su página.


El primer día — la luz

Todo empezó con un gesto pequeño y luminoso: lograr que la máquina, al despertar, no mostrara la fría consola de texto de siempre, sino una superficie limpia y serena, de un azul profundo, casi nocturno. Puede parecer poca cosa, pero esa superficie es el cimiento de cuanto vendrá: el lienzo en blanco de un sistema entero.

Junto a esa primera luz nació también una promesa de honestidad. Si alguna vez algo saliera terriblemente mal, renaser no se quedaría callado: pintaría una franja roja, ancha y visible, para confesarlo sin rodeos. Una alarma sincera.

El empaquetado — un cuerpo para viajar

Un sistema no sirve de nada si no puede encenderse en una máquina de verdad. Así que el segundo paso fue darle a renaser un cuerpo: envolverlo en un disco capaz de arrancar por sí solo, y enseñar al ordenador a lanzarlo. Desde entonces, una sola orden basta para verlo cobrar vida ante nuestros ojos.

Los reflejos — aprender a reaccionar

Hasta aquí, renaser sabía mostrarse, pero no sabía protegerse. La tercera etapa consistió en darle reflejos: la capacidad de reaccionar ante lo inesperado en lugar de derrumbarse en silencio. Se le tejió una red de seguridad interna para que, ante un tropiezo, supiera recogerse con dignidad y avisar de lo ocurrido.

El latido — sentir el tiempo y escuchar

Un sistema vivo necesita pulso. Se le dio a renaser un latido regular, como un metrónomo interno, y oídos para escuchar el teclado. Por primera vez el sistema dejó de estar simplemente quieto: empezó a respirar, a redibujarse con cada latido y a notar cuándo una mano pulsaba una tecla.

La memoria y la fluidez — crecer y atender muchas cosas

Para crecer, renaser necesitaba memoria de la que disponer con libertad. Y para no atascarse, necesitaba aprender a atender varias cosas a la vez sin que unas estorbaran a otras. En esta etapa recibió ambas. Además aprendió a escribir de verdad: con una tipografía elegante, dibujando cada letra con esmero. El texto dejó de ser un molde rígido para volverse, también él, un dibujo.

La habitación segura — invitar a otros programas

La etapa más ambiciosa hasta ahora: abrir la puerta a que otros programas vivieran dentro de renaser. Pero no de cualquier modo. Cada programa invitado entra en una habitación sellada de la que no puede salir; solo puede hacer aquello para lo que renaser, expresamente, le tiende un puente. Todo lo demás, sencillamente, no existe para él. La primera visita fue modesta y entrañable: un cuadrado de color que se desliza por la pantalla obedeciendo al teclado.

Una jornada de orden — ordenar la casa y guardar la historia

No todo es construir; a veces toca ordenar. Se revisó la estructura del proyecto y se repartió mejor el trabajo entre sus piezas, para que cada una tuviera un cometido claro y nítido. Se escribió la documentación que cuenta qué es renaser y hacia dónde camina. Y se guardó todo el trabajo en un lugar seguro, donde queda registro fiel de cada cambio, de modo que ninguna jornada se pierda. Hubo, además, un pequeño susto: una contraseña se coló por error donde no debía; se retiró de inmediato y se dejó constancia para corregirla.

El reparto del tiempo — muchos huéspedes, ningún tirano

Hasta esta jornada, el programa invitado de renaser, una vez dentro, se quedaba con la casa entera: hablaba sin pausa y no dejaba sitio a nadie más. Era un solo huésped, y se comportaba como dueño.

Esta etapa enseñó a renaser a repartir el tiempo. Se acordó un compás —el latido del sistema marca, una y otra vez, el turno de cada cual— y se acordó también un gesto de cortesía: cada programa hace su pequeña tarea, pinta su fotograma y, al terminar, cede el paso. Así, lo que antes era un único inquilino pasaron a ser varios, conviviendo en paz, cada uno en su propia ventana de la pantalla.

Pero la cortesía, por sí sola, es frágil: basta un huésped maleducado —uno que no quiera ceder nunca el turno— para paralizarlo todo. Por eso se añadió una salvaguarda serena pero firme: a cada programa se le entrega, en cada turno, una ración medida de tiempo. Si la agota sin terminar —porque se ha enredado en un bucle sin fin—, renaser le retira el turno con delicadeza, tiñe su ventana de un púrpura inconfundible y prosigue. El sistema no se cuelga; simplemente despide al inquilino díscola y sigue atendiendo a los demás, que ni se enteran.

Para comprobarlo se invitó, a propósito, a un huésped díscola: un programa hecho para enredarse en un bucle eterno. Al arrancar, las dos ventanas honradas cobraron vida y obedecieron al teclado a la vez, en perfecta armonía; la tercera, la del díscola, se apagó al instante en un púrpura tranquilo. La promesa quedó demostrada: renaser es veloz porque confía, pero nunca ingenuo.

La otra mitad del muro — el espacio, no solo el tiempo

La jornada anterior enseñó a renaser a repartir el tiempo y a contener al que no quería cederlo. Pero un huésped puede portarse mal de dos maneras: acaparando el tiempo, sí, o acaparando el espacio. Quedaba media casa por proteger.

En esta etapa se le puso a cada programa un techo a la memoria que puede reclamar. Mientras se conforme con su habitación, vive tranquilo; si pretende derribar las paredes para anexarse la casa entera, renaser se lo impide con serenidad y, como con el díscola, lo despide —esta vez tiñendo su ventana de un amarillo pálido, para que de un vistazo se distinga al que abusó del espacio del que abusó del tiempo.

Se cerró además una pequeña negligencia de la jornada anterior: cuando un huésped era despedido, renaser olvidaba recoger del todo sus cosas. Ahora, al marcharse cualquier programa, el sistema reclama hasta el último de sus enseres; no queda rastro. Y se invitó a un nuevo huésped de prueba, una aplicación glotona hecha para devorar memoria: al arrancar, fue frenada y despedida al instante, su ventana amarilla junto a la púrpura del díscola, mientras las dos aplicaciones honradas seguían su baile, ajenas a todo.

Con esto, las dos dimensiones físicas —el tiempo y el espacio— quedan bajo el gobierno firme y sereno de renaser. El siguiente horizonte es más hondo: dar al sistema una memoria que perdure, un lugar donde guardar las cosas más allá del apagado. Pero esa es ya otra página.

El primer golpe a la roca — encontrar el disco

Dar a renaser una memoria que perdure exige, antes que nada, hablar con un disco. Y un disco, a diferencia de la pantalla o del teclado, no se le anuncia al sistema al nacer: hay que salir a buscarlo. Es una empresa grande, así que se decidió acometerla con prudencia, a pasos cortos y firmes.

El primer paso fue, sencillamente, encontrar el disco. renaser aprendió a recorrer el bus por el que se enganchan los periféricos de la máquina, preguntando puerta por puerta «¿quién hay aquí?», hasta dar con el disco virtual que se le había preparado. Y al hallarlo, lo dijo en voz alta sobre su propia pantalla: lo había localizado, y supo decir en qué dirección vivía.

Puede parecer un gesto pequeño —una línea de texto—, pero es el primer golpe de pico contra una roca dura. La conversación con el disco apenas empieza; pero la puerta, al menos, ya está encontrada.

La primera palabra del disco — leer lo que se escribió

Encontrada la puerta, faltaba lo más difícil: cruzarla. Hablar de verdad con un disco no es pedirle las cosas y esperar: es tender con él una memoria compartida, un terreno común donde el sistema deja una petición y el disco deposita su respuesta. Montar ese terreno —y aprender el protocolo para usarlo— fue el trabajo de esta jornada, el más cercano al metal de cuantos renaser ha acometido.

Para no equivocar el paso se ideó una prueba sencilla y honesta. Al preparar el disco, el sistema anfitrión grabó en su primer renglón una breve firma, una palabra clave. Y entonces se le pidió a renaser que, ya por sus propios medios, abriera el disco y leyera ese mismo renglón. Si la palabra volvía intacta, no habría duda: el camino completo —encontrar el disco, tender la memoria compartida, pedir, esperar y recibir— funcionaba de cabo a rabo.

Al arrancar, renaser lo dijo en su pantalla, sereno: había leído el sector cero, y la palabra que mostró era, letra por letra, la que se había grabado. El disco había hablado, y renaser lo había entendido. La roca, por fin, cedió.

Queda por delante lo más hermoso: sobre esta conversación recién abierta, levantar una verdadera memoria duradera —no un archivo de los de antes, sino un tejido de objetos—. Pero el cimiento ya está puesto, y es firme.

Un tejido de objetos — la memoria que perdura

La conversación con el disco estaba abierta; faltaba decidir qué contarle. El mundo que renaser hereda de la informática de siempre habría respondido sin pensarlo: archivos, carpetas, rutas con barras. renaser eligió otra cosa.

En lugar de un archivero de cajones con etiquetas, se tejió un grafo de objetos. Cada objeto es un puñado de datos y unos cuantos hilos que lo enlazan con otros. Y —esta es la idea hermosa— ningún objeto lleva un nombre que alguien le haya puesto: su nombre es su contenido. De cada uno se calcula una huella única, irrepetible, y esa huella es su identidad. Dos cosas idénticas tienen la misma huella, de modo que nada se guarda dos veces; y si una se corrompe, su huella deja de cuadrar y la mentira se delata sola.

Para que esa memoria mereciera el nombre de duradera hubo que pulir el trato con el disco: enseñarle a renaser no solo a leer, sino a escribir. Y poner orden en la despensa de la que el sistema toma prestada memoria para hablar con el hardware — que ahora, al terminar cada gestión, devuelve lo que tomó en vez de acumularlo sin fin.

Y entonces llegó la prueba más bonita. Se escribió una pequeña aplicación, una cronista, con un único oficio: llevar la cuenta de las veces que el sistema despierta. En cada arranque consulta el grafo, encuentra el último apunte, añade el suyo —enlazado al anterior, como el eslabón nuevo de una cadena— y pinta una casilla por cada despertar registrado.

Se apagó la máquina y se volvió a encender. Y otra vez. La cronista dibujó primero una casilla, luego dos, luego tres. La cuenta no se perdía con el apagón: vivía en el disco, en el tejido de objetos, y cada reinicio la encontraba intacta y la hacía crecer. Por primera vez, renaser recordaba algo de una vida a la siguiente.

La memoria duradera ya no es una promesa. Es un tejido, y tiene sus primeros hilos.

El disco que avisa — la espera que ya no congela

Hablar con el disco, hasta esta jornada, tenía un precio oculto. Cada vez que renaser le pedía un bloque, el sistema entero contenía el aliento: el procesador se quedaba mirando fijamente al disco, preguntando una y otra vez «¿ya?, ¿ya?», sin hacer nada más, hasta que la respuesta llegaba. Para una lectura suelta apenas se notaba. Pero el futuro de renaser —cargar aplicaciones enteras desde el disco— habría convertido esos instantes en tirones visibles, en pequeños congelamientos de la imagen.

Así que se le enseñó al disco a AVISAR. En lugar de que el sistema vigile, ahora es el disco quien, al terminar, da un golpecito en el hombro del kernel —una interrupción— para decir «listo». Y mientras tanto, renaser no aguarda de brazos cruzados: si hay trabajo, lo hace; si no, se adormece un instante, y el propio golpecito del disco lo despierta. Ni un ciclo malgastado.

Para no equivocar el paso se escribió una pequeña sonda: una tarea que pide al disco su primer bloque y, en vez de quedarse esperando, cede el turno. Las aplicaciones de la pantalla siguieron pintándose, fluidas, mientras el disco trabajaba por su cuenta; y cuando el bloque estuvo listo, su aviso reanudó la sonda. En la pantalla quedó escrito: la lectura se había atendido por aviso, no por vigilancia.

Es un cambio que casi no se ve —la cronista sigue contando arranques, una casilla más cada vez— pero que se sentirá en todo lo que venga después. El disco y renaser ya no se miran fijamente: se hablan, y entre frase y frase, cada cual atiende lo suyo.

El plano antes de la obra — abrir la Fase 7

Hay jornadas en las que no se levanta un muro: se dibuja. Esta fue una de ésas. Antes de tocar el corazón del kernel hubo que decidir, con calma, hacia dónde mover la siguiente piedra.

La pregunta era vieja y conocida: las aplicaciones de renaser todavía viajan escondidas dentro del propio kernel, cosidas a su binario. Pero renaser tiene un disco que recuerda, un tejido de objetos que perdura entre apagones. ¿Por qué, entonces, las apps no nacen de ahí, como todo lo demás?

Se escribió el plano de esa mudanza —el plan de la Fase 7— y se dejó puesta la primera viga: un cuaderno nuevo, el «Manifiesto», donde algún día estará escrito qué programas deben despertar, cuánta memoria se les presta y en qué rincón de la pantalla viven. Por ahora el cuaderno está en blanco y sus páginas son sólo molde; pero el molde ya tiene la forma exacta de lo que vendrá. La casa no cambió aún — sólo sabe, por fin, hacia dónde va a crecer.

Las casas dejan de venir en la maleta — el userspace nace del disco

Durante seis fases, renaser cargó a sus inquilinos consigo. Las aplicaciones viajaban cosidas dentro del propio kernel, como muebles dentro de la maleta de quien se muda: prácticas de llevar, pero imposibles de cambiar sin rehacer la maleta entera.

Hoy eso terminó. El kernel abrió el cuaderno que ayer era sólo molde —el Manifiesto— y escribió en él quiénes viven en la casa, en qué habitación y cuánto sitio se les presta. Luego dejó a los inquilinos donde siempre debieron estar: en el disco, en el tejido de objetos que perdura. Cuando renaser despierta, ya no desempaca nada; abre el cuaderno, va al disco, y va trayendo a cada uno a su cuarto.

Si el disco está en blanco —una casa recién construida—, el kernel siembra él mismo la primera versión: escribe a los inquilinos y su cuaderno. Y si alguna vez encontrara a un inquilino corrompido, con la cara que no le corresponde, sencillamente no le abre la puerta: enciende su señal de alarma en esa habitación y sigue acomodando a los demás. La casa nunca se cae por una puerta que no quiso abrirse.

A los ojos casi no cambió nada —las mismas cinco ventanas, encendiéndose—. Pero por dentro la mudanza fue total: las casas ya no vienen en la maleta.

El último mueble sale de la maleta

La jornada pasada presumió de una mudanza completa, y mintió un poco. Era cierto que el kernel ya abría su cuaderno y traía a los inquilinos desde el disco; pero guardaba, doblada en un bolsillo, una copia de todos ellos. Por si acaso: si alguna vez despertaba en una casa vacía —un disco recién estrenado—, sacaría esa copia y amueblaría él mismo la casa desde cero.

Hoy ese bolsillo se vació. El kernel ya no lleva encima a nadie: ni una copia, ni una semilla, ni un recuerdo. Viaja, por fin, ligero de verdad.

¿Y quién amuebla entonces la casa nueva? Quien la construye. Antes, el albañil —el que funde los planos y levanta los muros— entregaba las llaves de una casa desnuda. Ahora, antes de entregarlas, entra, sienta a cada inquilino en su habitación y deja sobre la mesa el cuaderno que dice quién vive dónde y cuánto sitio se le presta. El kernel, al llegar, ya no encuentra una casa vacía que llenar: encuentra un hogar tibio, y sólo tiene que abrir las puertas.

Para que esto fuera posible hubo que hacer algo callado pero esencial: que el albañil y el inquilino hablaran el mismo idioma. Se redactó un pequeño diccionario común —cómo se nombra una habitación, cómo se describe a un inquilino, cómo se anota una página del cuaderno— y se entregó una copia a cada uno. Así, lo que el albañil escribe es, letra por letra, lo que el kernel lee: ninguna palabra se pierde en la traducción, porque ya no hay traducción. Hay una sola lengua.

A los ojos, otra vez, casi nada cambió: las mismas cinco ventanas. Pero la maleta del kernel, esta vez sí, está del todo vacía.

Cada quien, su cajón de recuerdos

Había una inquilina —la cronista— que sabía dejar huella. Cada vez que la casa despertaba, ella anotaba el número del despertar y lo guardaba donde nada se pierde. Pero lo guardaba en un único cajón, el cajón de la casa: si otro inquilino hubiera querido recordar algo suyo, habría tenido que borrar lo de ella. Memoria había, sí, pero una sola, y a empujones.

Hoy eso cambió. El cuaderno de la casa —el que dice quién vive dónde— ganó, en cada página, un margen en blanco: un cajoncito propio para cada inquilino, donde guardar lo que quiera sin tocar lo ajeno. Mil inquilinos, mil cajones; ninguno pisa al otro.

La primera en estrenarlo es una recién llegada que hace honor a su nombre: memoriosa. Su oficio es sencillo y entrañable — cuenta las teclas que se pulsan. Cada vez que alguien teclea, ella suma uno y lo apunta en su cajón. Y cuando la casa se apaga del todo y vuelve a encenderse, memoriosa no empieza de cero: abre su cajón, lee la cuenta donde la dejó, y continúa. En su rincón pinta una marca por cada tecla de toda su vida; y una lucecita —ámbar— confiesa que ha despertado recordando.

No es poca cosa. Una máquina que se apaga suele olvidarlo todo; renaser, no. Sus inquilinos cierran los ojos en el apagón y los abren, al volver, justo donde los cerraron. La casa ya no sólo perdura: recuerda, uno por uno, a los suyos.

El plano prestado

Hasta hoy, cada inquilino tenía su habitación marcada con coordenadas exactas en el cuaderno: aquí empieza tu cuarto, aquí acaba. Funcionaba, pero era rígido — mover un tabique exigía reescribir el cuaderno a mano.

Hoy la casa contrató a un arquitecto. Ya nadie dibuja las habitaciones a mano: se le dice cuántos inquilinos hay y él reparte el suelo entero —una pieza amplia para el principal, las demás en una columna ordenada al lado—, sin huecos ni solapes, ajustando cada cuarto al número de quienes viven. A eso se le llama teselar, y es un oficio delicado.

Lo más hermoso es de dónde salió ese arquitecto. renaser tiene una casa hermana —mirada, el escritorio que vive sobre Linux— y esa casa ya tenía uno, con buen ojo para repartir cuartos. En vez de contratar a otro, renaser le pidió prestado el suyo: la misma cabeza, el mismo plano, sirviendo a dos mundos tan distintos como un escritorio gráfico y un núcleo desnudo sobre el metal. Una sola sabiduría, dos casas.

Y los inquilinos ni se enteraron. Cada uno sigue pintando su cuadro del tamaño de siempre; es el arquitecto quien decide en qué pared colgarlo, y la casa quien lo centra con cuidado en el espacio que le tocó. Nadie tuvo que cambiar para vivir mejor repartido.

La casa atiende

El arquitecto sabía repartir los cuartos, pero su plano era de piedra: una vez puesto, no se movía. Hoy la casa aprendió a obedecer. Quien la habita puede pedirle, con un gesto del teclado, que reordene las habitaciones —de una disposición con una pieza grande a un lado a otra con la pieza central—; y el arquitecto, en un parpadeo, las reparte de nuevo.

Pero reordenar tiene un peligro. Algunos inquilinos pintan su cuadro una sola vez, al llegar, y luego se quedan quietos —la cronista es así—. Si la casa moviera su cuarto, la pared nueva quedaría en blanco: el inquilino, dormido, no sabría que debe volver a pintar. La casa lo resolvió con delicadeza: de cada cuarto guarda una fotografía del último cuadro. Cuando reordena, no despierta a nadie; descuelga las fotografías y las vuelve a colgar, ya encuadradas, en las paredes nuevas. El que dormía sigue durmiendo, y su obra reaparece intacta.

Y la casa aprendió, además, a mirar. Ahora hay siempre un cuarto ENFOCADO —el que tiene la atención—, y se le reconoce por un marco de luz índigo; los demás llevan un marco gris, discreto. Con dos teclas se pasea esa luz de un inquilino a otro. No es un adorno: es una decisión. Porque desde hoy, cuando alguien teclea, sus palabras ya no se gritan a toda la casa —como hasta ayer—; se entregan, en privado, sólo al inquilino que tiene el foco. Se le habla a quien se mira.

Detrás de esa cortesía hay una disciplina estricta. La campanilla del teclado —la interrupción— es impaciente y no puede esperar a nadie; por eso jamás toca los libros de la casa. Sólo deja una nota breve en un casillero a prueba de prisas, y sigue su camino. Es el arquitecto quien, más tarde y con calma, lee la nota y mueve los tabiques. Nadie se pisa; nada se traba.


El diario continúa. La próxima página la escribirá la próxima jornada.