feat: integra renaser (kernel SASOS bare-metal) al monorepo
renaser —kernel asíncrono de espacio de direcciones único, no-POSIX, `no_std` x86_64— entra al monorepo como su PROPIO workspace de Cargo, no fusionado: usa toolchain nightly, target `x86_64-unknown-none` y `panic = "abort"`, incompatibles con los perfiles globales de brahman. - `renaser/` — copia del proyecto (sin su `.git`; el repo original conserva su historia standalone). Workspace propio con su `rust-toolchain.toml` y `.cargo/`. - `exclude = ["renaser"]` en el workspace de brahman: Cargo lo trata como ajeno. - El kernel de renaser path-depende `mirada-layout` cruzando la frontera de workspace — primer núcleo compartido. Semilla de la Fase 8 (compositor): geometría de teselado compartida, framebuffer nativo de renaser; smithay se queda en el lado Linux. Verificado: `cargo build -p boot` compila kernel + imagen UEFI con mirada-layout enlazado para bare-metal. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,226 @@
|
||||
# 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 diario continúa. La próxima página la escribirá la próxima jornada.*
|
||||
Reference in New Issue
Block a user