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,48 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user