e2272c0ed3
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>
49 lines
1.9 KiB
Markdown
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
|