Files
brahman/renaser
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
..

renaser

renaser es un kernel asíncrono de Espacio de Direccionamiento Único (SASOS), escrito en Rust #![no_std] para x86_64 bare-metal.

Es un sistema operativo disruptivo que rompe por completo con el paradigma POSIX de los años 70: no emula Linux, no usa archivos planos, no usa TTYs ni capas GNU. El aislamiento entre aplicaciones no descansa en la MMU ni en los anillos de privilegio de la CPU, sino en límites matemáticos sobre el bytecode — aislamiento por software (SFI). La interfaz es visual desde el primer microsegundo: el texto es, simplemente, un caso particular del dibujo.

Qué hace, hoy

  • Arranca por UEFI y adopta el framebuffer GOP con doble búfer sin parpadeo.
  • Se autoempaqueta en una imagen de disco UEFI y se lanza en QEMU.
  • Tiene reflejos de fallo: GDT/TSS, IDT y manejadores de excepción; si colapsa, lo dibuja (franja roja de pánico, naranja de memoria agotada).
  • Late con el hardware: PIC remapeado, temporizador (PIT) y teclado.
  • Gestiona memoria dinámica (heap de 64 MiB, asignador global).
  • Ejecuta un reactor asíncrono cooperativo sobre los Future nativos de Rust: las interrupciones no conmutan contexto, despiertan tareas.
  • Rasteriza texto vectorial al vuelo con fontdue.
  • Ejecuta un userspace WebAssembly aislado por capacidades (wasmi): las aplicaciones solo tocan el mundo a través de funciones de host concedidas.

Construir y ejecutar

Requisitos: rustup con toolchain nightly, QEMU y firmware OVMF.

cargo run

Compila el kernel para x86_64-unknown-none, forja la imagen de disco UEFI y abre QEMU. Ver CLAUDE.md para el resto de comandos y el flujo de la app WASM.

Documentación

Documento Contenido
ARCHITECTURE.md la arquitectura del sistema, subsistema a subsistema
ROADMAP.md fases completadas y plan de las siguientes
CLAUDE.md guía operativa: comandos, estructura y convenciones

Licencia

MPL-2.0