Files
sergio e2272c0ed3 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>
2026-05-22 14:37:14 +00:00

49 lines
1.9 KiB
Markdown

# 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