# 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.

```sh
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
