DashOS
Moderno por dentro, Amiga por fuera.
DashOS es un sistema operativo propio para ordenadores ARM: primero la Raspberry Pi 4 y la Pi 5, también la Pi 3, y después otros ordenadores ARM que arranquen por UEFI. El kernel es un micronúcleo en Rust que solo reparte la CPU, la memoria, los mensajes y las interrupciones. Todo lo demás son procesos que se hablan por canales y solo pueden hacer lo que les permiten sus llaves.
Implementa la API de AmigaOS 3.1 de forma nativa en ARM. Los programas 68k del Amiga corren en una caja: un proceso con el JIT de Emu68, que traduce su código a ARM mientras se ejecuta, y sus llamadas al sistema van a bibliotecas nativas, sin emular un Amiga entero. Para el resto de programas hay una caja Linux: Arch Linux ARM en una máquina virtual, con sus ventanas en el escritorio.
- En desarrollo. Todo lo hecho se ha probado en el emulador QEMU; nada todavía en una placa real.
- Ya hay escritorio, caja Amiga y caja Linux, pero aún no hay ninguna versión que se pueda descargar o instalar.
- Estado al 13 de noviembre de 2026.
Características clave
Lo que tiene y lo que tendrá. "Hecho" funciona y está probado en el emulador QEMU; "en curso" se está haciendo; "diseñado" está decidido en su diseño, pero aún no existe.
Caja Amiga
- HechoProgramas 68k de AmigaOS 3.x con el JIT de Emu68 y bibliotecas nativas en Rust, sin emular un Amiga entero
- Hechoexec, dos, utility, timer, intuition, gadtools y keymap nativas; graphics y layers, a medias
- HechoGadTools, BOOPSI y ReAction, con dos aspectos: el clásico de 3.x o como DashOS
- HechoBibliotecas de disco y el AmigaOS del usuario como capa de solo lectura (DashOS no trae ROM ni Workbench)
- HechoSin discos Amiga falsos: dos.library usa el sistema de archivos de DashOS, con sus volúmenes y asignaciones
- HechoGuardia contra virus: SYS: de solo lectura, papelera, avisos del bloque de arranque y preguntas antes de tocar ficheros vigilados
- HechoLa caja corre aislada en su propio proceso, a la vez que el escritorio, la caja Linux y el resto del sistema
- HechoDentro, las tareas 68k se turnan como en un Amiga: Forbid() solo detiene la caja, no el sistema
- En cursoMUI 5 dentro de la caja
- DiseñadoUna caja por programa, cada una en su núcleo: comparten los ficheros, y un puente les pasa ARexx, el portapapeles y los puertos
- DiseñadoRed para los programas del Amiga (bsdsocket.library) y chips imitados para juegos y demos
Caja Linux
- HechoArch Linux ARM en una máquina virtual propia, con varios núcleos
- HechoSus programas Wayland en el escritorio de DashOS: terminal, GTK 4 y Firefox, con portapapeles
- HechoGráficos 2D por virtio-gpu
- HechoRed con cortafuegos: Internet sí, la red de casa no, y el puerto del correo cerrado
- DiseñadoGráficos 3D y Vulkan
Escritorio
- HechoCompositor Wayland propio, con varias pantallas
- HechoBarra con espacios, lanzador y avisos en pantalla
- HechoPanel rápido y centro de control: ajustes, permisos, seguridad, discos y apariencia
- HechoExplorador de archivos con barra lateral, pestañas, papelera y arrastrar
- HechoMaterial 3 con los colores sacados del fondo de pantalla
- DiseñadoMonitor de recursos integrado
Estabilidad y seguridad
- HechoMicronúcleo en Rust: solo reparte la CPU, la memoria, los mensajes y las interrupciones
- HechoCapacidades (llaves): un programa nuevo no puede hacer nada salvo lo que le dan
- HechoControladores y servicios fuera del kernel, como procesos aislados
- HechoCuatro fases de endurecimiento, cada una con una auditoría independiente y pruebas hostiles
- HechoSi un programa del Amiga falla, cae su caja, no el sistema
Usuarios
- HechoEntrada y bloqueo con frase propia
- En cursoCambio rápido de usuario
- HechoUn volumen cifrado para cada usuario
- HechoPermisos por programa, preguntados la primera vez, y registro de seguridad
- HechoAdministrador sin superusuario, y cupos de memoria
Archivos, red y sonido
- HechoDashFS, a partir de RedoxFS: nombres sin distinguir mayúsculas, comentario y bits del Amiga
- HechoInstantáneas del disco y una herramienta que lo comprueba y lo repara
- HechoPila TCP/IP propia: DHCP y conexiones TCP salientes
- En cursoDNS para los programas, UDP, servidores e IPv6
- HechoServicio de sonido con mezcla; audio.device nativo para la caja Amiga
Hardware y arranque
- HechoArranque por UEFI con árbol de dispositivos o ACPI, en QEMU
- HechoTeclado, ratón y tableta USB, disco NVMe e interrupciones MSI-X
- En cursoImágenes para Raspberry Pi 4 y Pi 5, aún sin probar en una placa real
- DiseñadoOtros ordenadores ARM que arrancan por UEFI: placas y portátiles
Programar y abierto
- HechoLos programas de Dash compilados para 68k corren en la caja Amiga
- HechoDash para AArch64 compila programas nativos de DashOS; aún sin interfaz gráfica
- HechoMotor de interfaz propio para programas nativos, con el modelo de MUI y dibujado en Material 3
- DiseñadoSus caras MUI, ReAction y GadTools, para escribir programas nativos con esas API
- HechoCódigo abierto con licencia MPL-2.0, con su diseño y sus auditorías publicados
Qué son las cajas
DashOS tiene sus propios programas, nativos para ARM. Los de otros sistemas viven en cajas. Una caja es un proceso aislado de DashOS que hace de casa para esos programas: les da lo que esperan encontrar en su sistema y, por debajo, lo traduce a los servicios de DashOS.
La caja Amiga ejecuta programas 68k de AmigaOS 3.x. El JIT de Emu68 traduce su código a ARM mientras corre, y sus llamadas al sistema (exec, dos, intuition, gadtools...) van a bibliotecas nativas de DashOS escritas en Rust. No se emula un Amiga entero: sus ventanas son ventanas del escritorio.
La caja Linux es una máquina virtual con Arch Linux ARM. Sus programas, como Firefox o los de GTK, salen en el escritorio de DashOS como uno más, con portapapeles, y su red pasa por un cortafuegos.
Estar en una caja tiene dos ventajas. Si un programa de otro sistema falla, cae su caja, no DashOS. Y la caja solo puede hacer lo que le dejan sus llaves: ver los ficheros de su usuario, abrir ventanas, usar la red. Cada ventana lleva una marca con su caja, 68K o LINUX, para que se sepa de dónde viene. Más adelante habrá también una caja PowerPC para programas de WarpOS, MorphOS y AmigaOS 4.
Los programas del Amiga y los núcleos
Los programas del Amiga se escribieron para un ordenador con una sola CPU. Comparten la memoria sin cerrojos y dan por hecho que, mientras tienen el turno o han llamado a Forbid(), nadie más toca nada. Si dos corrieran a la vez en dos núcleos, se pisarían los datos.
Por eso, dentro de la caja Amiga, las tareas 68k se turnan como en un Amiga de verdad. Pero la caja es un proceso más de DashOS: corre aislada y a la vez que el escritorio, la caja Linux, el sistema de archivos, el sonido y la red, que van en los otros núcleos. Su Forbid() solo detiene la caja, no el sistema.
El siguiente paso, ya diseñado, es una caja por programa: cada una en su núcleo, de modo que, por ejemplo, LightWave y Tachyon corran de verdad a la vez y, si uno se cuelga, el otro siga. No comparten memoria, pero sí los ficheros: la caja no tiene discos Amiga falsos, su dos.library usa el sistema de archivos de DashOS, con los mismos volúmenes y asignaciones para todos. Un servicio puente les pasará ARexx, el portapapeles y los puertos con nombre.
Hoy hay una sola caja Amiga. Las varias cajas y su puente están diseñados, aún no hechos.
Capturas
En el emulador QEMU, el 13 de noviembre de 2026. Pulsa una para verla entera.






El sistema en marcha
Elige una situación y mira cómo viaja la información. Todo mensaje entre procesos pasa por el kernel: por eso las rutas azules bajan a "Llaves y canales" y vuelven a subir. Las piezas con borde de puntos están diseñadas, pero aún no existen.
- Mensaje por un canal (pasa por el kernel)
- Interrupción
- DMA: el aparato lee o escribe la memoria, sin la CPU
- Llamada dentro del mismo proceso
- Rechazado
Las capas y su avance
Estado al 13 de noviembre de 2026. Cada pieza, en su capa y con el color de lo que lleva hecho. Pulsa una para ver qué es, cuánto lleva y qué le falta.
- Hecho (80 % o más)
- En curso
- Diseñado, sin empezar
- Zona GPL (proceso aparte)
ProgramasNativos en Rust, C y Dash
canales con llaves marcadas: Wayland, archivos, sonido
CajasProgramas de otros sistemas
las bibliotecas de cada caja hablan con los servicios
ServiciosProcesos en EL0, uno por tarea
llamadas al kernel (numeradas hasta la 51): canales, memoria, procesos, hilos, tiempo, apagar
KernelMicronúcleo en Rust (EL1)
registros, DMA e interrupciones, por llaves de aparato
HardwarePi 3, Pi 4, Pi 5 y QEMU
Avance por componente
El porcentaje es lo hecho y probado frente a lo planeado en su diseño y su bitácora. La columna "Cómo se cuenta" dice de dónde sale cada cifra; "juicio" marca las que no tienen pasos contados.
| Componente | Hecho | Cómo se cuenta | Qué falta |
|---|---|---|---|
| Programas | |||
| Kit: motor y Material 3 El motor de interfaz con el modelo de MUI, dibujado con Material 3, en Rust | 100 % | 7 de 7 pasos (KIT_LOOP) | nada del motor; faltan las tres caras de abajo y los cinco temas decididos (hoy, claro y oscuro) |
| Kit: cara MUI La API de MUI para programas nativos, la principal: los 110 builtins de MUI de Dash y los .dashui. Se ve en Material 3 como lo demás (S11) | 0 % | sin pasos escritos (S11) | todo |
| Kit: cara ReAction La API de ReAction (window.class, layout.gadget...) sobre el mismo motor, para programas nativos. La caja Amiga ya tiene su ReAction para los de 68k (S11) | 0 % | sin pasos escritos (S11) | todo |
| Kit: cara GadTools La API de GadTools sobre el mismo motor, para programas nativos. La caja Amiga ya tiene su GadTools para los de 68k (S11) | 0 % | sin pasos escritos (S11) | todo |
| Dash para AArch64 El compilador de Dash saca programas nativos de DashOS | 100 % | 8 de 8 fases (AARCH64_LOOP de Dash) | cobertura en ARM: unos 104 de 315 tests, el resto pide AmigaOS; sin interfaz gráfica hasta la cara MUI del kit |
| Puentes Dash 68k a nativo Bibliotecas de la caja escritas en Dash | 0 % | sin trabajo (PLAN.md) | todo |
| Escritorio Workbench, barra, lanzador, avisos, espacios de trabajo, mosaico y varios monitores (S10) | 62 % | juicio: 7,5 de 12 apartados de S10 (espacios, Workbench, barra, lanzador, avisos, varios monitores, aspecto Material y medio personalizar) | mosaico y disposición por pantalla, Commodities, ARexx, temas |
| Escritorio al estilo DMS Barra flotante con píldoras, espacios, lanzador en el centro, centro de control y OSD del volumen, con ideas de DMS (S27) | 29 % | 2 de 7 oleadas (S27) | avisos con pestañas y calendario, columnas de niri, lanzador completo, bloqueo y dock, animaciones |
| Centro de control Ajustes con barra lateral, panel rápido con menú de apagado y apariencia con los colores del fondo (S10c) | 50 % | 3 de 6 fases (C1 a C3 de S10c) | sonido, pantallas y entrada (C4); red, Bluetooth y energía (C5); complementos (C6) |
| Explorador de archivos Como Nautilus: barra lateral, migas, rejilla y lista, pestañas, papelera, copiar, mover y arrastrar | 80 % | juicio: hecho y probado en QEMU; lo que falta son extras de su bitácora | abrir con otro programa, visores, arrastrar a otros programas, los iconos nuevos, la caja Linux en la barra lateral |
| Monitor del sistema El Trasfondo nativo: panel en el fondo, indicadores en la barra y monitor de procesos en el centro de control | 0 % | juicio: en marcha desde el 13 de noviembre, sin nada unido aún | todo lo que no esté unido: el panel, los indicadores, el monitor y la llamada del kernel con el uso de CPU por proceso |
| Escritorios de terceros Barras y paneles como clientes de Wayland con poderes (S10b) | 30 % | 3 de 10 fases (E1 y E2; media E6 y media E8) | E3, E3b (mosaico y flotantes), E4, E5, E7, E9 y el resto de E6 y E8 |
| Cajas | |||
| JIT Emu68 Traduce el código 68k a ARM al vuelo | 80 % | juicio: 4 de 5 (llamada nativa, modo little-endian, dentro de un proceso de DashOS y fuera de los 4 GB del 68k) | el fallo que tumba la caja al cargar MUI 5 |
| exec Tareas, señales, puertos, memoria con dueño, semáforos y dispositivos del Amiga, nativos | 75 % | juicio: corren programas de m68k-amigaos-gcc y de Dash, con la misma salida que en FS-UAE | varias tareas 68k a la vez, Supervisor() y el Enforcer que avisa y sigue |
| dos.library Ficheros y procesos del Amiga sobre el servicio de archivos | 70 % | juicio: lee y escribe, SYS: de solo lectura, asignaciones, LoadSeg, GetDeviceProc y la guardia de ficheros | procesos manejadores, CreateNewProc (lo pide texteditor.gadget), Ctrl-C desde una consola |
| intuition y GadTools Ventanas del Amiga como ventanas del compositor; los 12 gadgets de GadTools, menús y EasyRequest, con el aspecto original o el de DashOS | 80 % | juicio: los programas de prueba y los de Dash abren, pintan y reciben clics; ventanas a 2x y 3x | asl.library, el gadget de zoom, menús fuera de la ventana, los temas AOS4, MOS y Magic WB |
| graphics y layers El dibujo y las capas del Amiga, nativos | 40 % | juicio: graphics a medias; layers nativa con cerrojos y regiones, sin crear ni mover capas | recortar con la región de la capa, crear y mover capas, los ganchos que usa MUI |
| utility, timer y keymap Bibliotecas pequeñas del Amiga, nativas: utilidades, timer.device y el mapa de teclado | 90 % | juicio: hechas y probadas | keymap solo trae la distribución de EE. UU.; FindNamedObject y AllocNamedObjectA de utility |
| BOOPSI y ReAction Las clases de objetos de intuition y las de ReAction de 3.2, nativas, con los dos aspectos | 75 % | juicio: su prueba pasa las 43 comprobaciones, igual que en FS-UAE con el 3.2; corren los ejemplos de ReAction de Dash | menú del chooser, columnas del listbrowser, getfile (sin asl), páginas, el foco con Tab |
| Clases MUI nativas Sustituyen a las de 68k en la caja: esos programas también salen en Material 3 (S11) | 0 % | sin pasos escritos (S11, "más adelante") | todo |
| MUI de 68k El MUI 5 que tenga el usuario, en el JIT; se ve como en el Amiga, con una configuración de MUI parecida a Material 3 (S11) | 20 % | juicio: muimaster se carga, pero su arranque tumba la caja por un fallo del JIT | arreglar el JIT (en curso), los ganchos de layers y la memoria del 68k según el programa (decidido: tope en Ajustes, 256 MB de serie; hoy 4 MB) |
| Bibliotecas de disco y AmigaOS del usuario ramlib carga de LIBS: y Classes: lo que no es nativo; el AmigaOS del usuario va como capa, detrás de lo nativo | 75 % | 3 de 4 pasos (bitácora de la caja Amiga); de un AmigaOS 3.2 abren 8 de 16 bibliotecas, las del hardware fallan limpias | el paso 4 (Tachyon 68k, que pide MUI y 30-40 MB); montar un HDF (hoy, solo una carpeta); icon, workbench y asl nativas; mathieeesingbas y mathffp |
| audio.device (Paula) Los 4 canales de Paula como flujos del sonido | 50 % | 1 de 2 (P1 hecho, también en virt) | engancharlo a los programas 68k (P3), ya posible con la caja, y compararlo con FS-UAE |
| AHI La API de sonido de los Amiga modernos, nativa | 50 % | 1 de 2 (P2, solo en el PC) | P3; probarlo en virt |
| Chips del Amiga Copper, Blitter, Denise y Paula imitados para juegos y demos (S18) | 0 % | 0 de 7 fases | todo |
| bsdsocket.library La red para los programas del Amiga: la interfaz de AmiTCP y Roadshow sobre el servicio de red de DashOS | 0 % | sin código: va tras las bibliotecas de disco (lo decidió el usuario) | todo; antes, DNS, UDP y escuchar en la red de DashOS |
| Pantallas del Amiga Workbench, pantallas públicas, propias y clonadas como pantallas de DashOS (S23) | 14 % | 1 de 7 fases (P1: las ventanas de Workbench son ventanas del compositor) | pantallas públicas, propias y clonadas, arrastrarlas y menús en la barra (P2 a P7) |
| Guardia contra virus del Amiga Capas sin firmas contra el malware del Amiga: SYS: de solo lectura, ficheros vigilados que preguntan, papelera, memoria limpia y la caja fuera del alcance del 68k (S28) | 85 % | juicio: 6 de 7 capas de S28; siete virus de laboratorio no consiguen nada | instantánea y cupo del cajón de la caja, un vigilante siempre, varias tareas |
| Caja PowerPC Programas de AmigaOS 4 y MorphOS (S17) | 17 % | 1 de 6 fases (por tamaño, un 8 %) | F2 a F5; de F1, fres, frsqrte y excepciones de la FPU |
| Caja Linux Una máquina virtual propia con Arch Linux ARM y varias vCPU; sus programas de Wayland salen en el escritorio (S7) | 60 % | juicio: 9 de 15 puntos de S7 (hipervisor, disco, red, consola, vsock, pantalla 2D, ventanas, portapapeles y Arch); abren foot, GTK 4 y Firefox | virtio-fs y Home: compartido, XWayland, sus programas en el lanzador, globo de memoria, arrancar como servicio; probarla en la Pi |
| GPU de la caja Linux virtio-gpu 2D ya; para 3D y Vulkan, la V3D de la Pi 4 mediada por DashOS (S25) | 50 % | 2 de 4 pasos (S25: virtio-gpu 2D y la tabla sombra, probada en el PC) | la V3D de verdad en una Pi 4, con 3D y Vulkan; después, el contexto nativo |
| Controladores de Linux (LKL) Linux como biblioteca para el Wi-Fi y lo raro (S12b) | 17 % | 1 de 6 fases (L0: los hilos ya están) | L1 a L5: LKL, red virtio, Wi-Fi de la Pi, Bluetooth y amissl |
| Servicios | |||
| inicio Arranca los servicios y les reparte las llaves | 60 % | juicio: llaves, grupos y canales; vigila y relanza los servicios (R12); los programas de las personas ya los lanza sesiones | fichas de verdad (hoy provisionales), avisar a los clientes de que su servicio volvió, servicios declarativos (S14) |
| Consola El registro del sistema por el puerto serie | 100 % | 1 de 1 tarea | un shell interactivo no está planeado aún |
| Archivos (DashFS) DashFS, derivado de RedoxFS: carpetas sin mayúsculas, bits y comentario del Amiga, instantáneas y comprobación; volúmenes cifrados | 91 % | 10 de 11 tareas (ARCHIVOS_LOOP) | FS11: cuidar la tarjeta SD (TRIM y la tabla de particiones ya están) |
| Archivos: rendimiento Las mejoras del informe: menos viajes, sin copias, caché prestada, varias órdenes a la vez | 91 % | 15,5 de 17 puntos (A1 a A16; A14 sin la tarjeta SD) | A17 (menores) y el controlador de la tarjeta SD de A14 |
| Archivos: permisos Dueño, grupo y modo, raíces por programa, ceder ficheros, administrar | 90 % | juicio: probados por el cliente hostil en virt; ceder, con el selector | grupos adicionales |
| Volúmenes cifrados Un volumen por usuario, con su contraseña; se abre al entrar | 100 % | 5 de 5 pasos (ARCHIVOS_LOOP) | decidir si hay llave de recuperación de serie; medirlo en la Pi |
| Imágenes ADF y HDF Disquetes y discos del Amiga montados como volúmenes (S20) | 14 % | 1 de 7 fases (ADF de solo lectura, en su proceso aparte) | escribir ADF, HDF, RAD:, SFS y PFS3 |
| Disco NVMe Controlador NVMe y servicio de disco con anillo | 80 % | 4 de 5 pasos | varias colas |
| Tarjeta SD Controlador EMMC2 de la Pi | 20 % | juicio: solo lee dos sectores, sin DMA | escribir, DMA, servicio de disco, placa real |
| USB DWC2 El USB de la Pi: teclado y ratón con concentrador | 67 % | juicio: 2 de 3 | disco USB; probarlo en la placa |
| USB xHCI USB del PCIe: QEMU, portátiles, el VL805 de la Pi 4 y el RP1 de la Pi 5. Teclado y ratón de arranque y tabletas (puntero absoluto, como el de las máquinas virtuales) | 78 % | 7 de 9 pasos | conectar en marcha, USB 3, isócronas; los dos xHCI de la Pi 5, escritos sin probar en placa |
| Red: servicio y pila TCP/IP smoltcp en su proceso: IPv4, IPv6, DHCP y mDNS (S13) | 43 % | juicio: 3 de 7 (IPv4, DHCP y TCP saliente) | IPv6, mDNS, UDP, escuchar; relanzarlo sin perder la tarjeta; SACK si hace falta al medir (S12b) |
| Red: sockets nativos y POSIX La API de red de DashOS y los sockets de siempre por relibc (S7, S13) | 30 % | juicio: la API nativa ya sirve para TCP saliente | UDP, escuchar y los sockets POSIX por relibc |
| Red: TLS rustls para todos: ChaCha20 en la Pi 3 y 4, AES en la Pi 5 (S13, S21) | 0 % | sin código | todo |
| Red: nombres (DNS) Servicio de nombres con caché y DNS cifrado opcional (S13) | 0 % | sin código (el DHCP ya da el servidor de nombres) | todo |
| Red: cortafuegos y permisos Cerrado para lo que entra; salir y escuchar, permisos por aplicación (S6b, S13) | 35 % | juicio: el cortafuegos de la caja Linux (Internet sí, red local no, puerto 25 cerrado) y el estado de la red de solo lectura | permisos por aplicación desde sesiones, red-local y red-escuchar, Prefs/Red |
| Red: controladores con cable virtio-net (QEMU), GENET (Pi 4), la del RP1 (Pi 5) y la USB de la Pi 3 (S12) | 25 % | 1 de 4 (virtio-net, en QEMU) | GENET (Pi 4), RP1 (Pi 5) y la USB de la Pi 3 |
| Red: Wi-Fi Por LKL, con un servicio que guarda redes y claves (S12b, S13) | 0 % | sin código | todo; antes, LKL (los hilos ya están) |
| Sonido Servicio de mezcla con clase de plazo (S19) | 24 % | 1,7 de 7 fases | PWM, HDMI, USB Audio, micrófono |
| Sonido de estudio Grafo, MIDI, chips como instrumentos, CLAP y una API compatible con JACK (S19b) | 0 % | 0 de 11 fases | todo |
| Compositor Wayland Junta las ventanas; habla Wayland sobre canales. Lleva las ventanas nativas, las de la caja Amiga y las de la caja Linux | 94 % | 15 de 16 pasos (W1 a W8 y G0 a G6) | G7: planos del HVS, en la Pi |
| GPU, HVS y HDMI Gráficos por hardware (S9, S21) | 33 % | 1 de 3 fases (la pantalla del firmware) | HVS y V3D escritos sin probar; falta HDMI y Mesa |
| Buzón y pantalla del firmware Habla con la VideoCore; la pantalla de la Pi y la de UEFI | 100 % | 4 de 4 tareas | probarlo en la Pi real |
| Usuarios y permisos Cuentas, sesiones, entrada y bloqueo, permisos por aplicación, administrador, registro de seguridad y cambio rápido de usuario (S6b) | 93 % | 6,5 de 7 fases (U0 a U5; de U6, todo salvo la mitad del cambio rápido) | pasos 3 y 4 del cambio rápido, permisos declarados en el paquete (S8), Prefs de cuentas |
| Paquetes Paq, firmas, actualizaciones A/B (S8) | 0 % | sin código | todo |
| Arranque y servicios declarativos Gestor de servicios, vigilancia, apagar y reiniciar, A/B (S14) | 15 % | juicio: el registro en memoria, vigilar y relanzar (en inicio) y apagar y reiniciar | el gestor declarativo, la orden servicio, A/B y tryboot |
| Suspender e hibernar Dormir y despertar sin fallos: los controladores se relanzan al volver (S22) | 0 % | 0 de 5 fases (Z1 a Z5) | todo; depende de la vigilancia, K7 y guardian |
| Kernel | |||
| Arranque y MMU Arranca en QEMU raspi4b, raspi3b y virt por UEFI | 90 % | 18 de 20 pasos | KASLR; USB y NVMe opcionales de U6 |
| Planificador Clase justa, clase de plazo, cuatro núcleos | 73 % | 9,5 de 13 pasos (MULTITAREA_LOOP) | paso directo, préstamo de tiempo, pesos por foco |
| Memoria Espacios con ASID, W^X, objetos compartidos, DMA | 64 % | juicio: 9 de 14 puntos de S3 (con las vistas de memoria ajena, llamada 50) | copia al escribir, carga por demanda, objetos grandes |
| Llaves y canales Capacidades con derechos y marca, mensajes con llaves | 80 % | 4 de 5 tareas (K7, aviso de muerte y plazo al leer, hecha) | ida y vuelta con paso directo (K6), que espera a medir en la Pi |
| Grupos y cupos Presupuesto de memoria por grupo de procesos | 95 % | juicio: C42, el cupo de la raíz y el coste real de cada proceso (R11) | cobrar al grupo la coma flotante de cada vCPU de la caja Linux |
| Interrupciones y temporizadores GIC v2 y v3, MSI-X, temporizadores finos | 90 % | juicio: casi todo hecho | sacar el GIC de la ventana de periféricos; probar en placa |
| Kernel seguro Sin pánicos, todo cobrado, auditorías (S16) | 67 % | 4 de 6 fases | fuzzing, Kani, Miri, Spectre; RNG200, KASLR |
| Hilos de usuario Varios hilos por proceso, con espera tipo futex (llamadas 40 a 44) | 85 % | juicio: hecho y probado en raspi4b y virt, con su prueba hostil | prioridad y afinidad por hilo; hilos en la caja Amiga y en Dash; medir en la Pi |
| Revisión R1 a R19 Arreglos de velocidad, seguridad y estabilidad del informe | 95 % | 18 de 19 pasos (17 hechos; R18 y R19, a medias) | de R18, K1 entero y K5; de R19, el resto del cambio rápido; de R10, el RNG200 y probar en placa |
| Hardware | |||
| Arranque en placa real La Pi 4, la Pi 5 o la Pi 3 de verdad | 0 % | sin ningún arranque registrado en placa | todo: la imagen de la Pi 4 y la tarjeta de la Pi 5 se generan, pero sin probar; tryboot, PCIe, red, HVS y HDMI |
| Otros ordenadores ARM CM5, portátiles con Snapdragon y Mac (S24) | 20 % | 1 de 5 pasos de S24 (arrancar con ACPI, en QEMU) | todo en máquinas de verdad; U7, el JIT sin big-endian, va en el banco de pruebas y aún no en la caja |
Notas
- Nada se ha probado aún en una placa de verdad. Las imágenes de la Pi 4 y la Pi 5 se generan, pero lo de HVS, V3D, PCIe, EMMC2, el USB de la placa y el apagado es código escrito, no código que funciona.
- La hoja de ruta hacia DashOS 0.1 (S15) va por un 65 %, a juicio: H1 a H4 hechos; H5 a un 60 % (falta MUI); H7 a un 70 % (faltan las caras del kit); H6 y H8 a cero. Fuera de la 0.1, la caja Linux (H9) ya abre Firefox.
- Las cifras marcadas "juicio" no tienen pasos contados en su diseño. La de Dash sale de su bitácora, sin volver a ejecutar sus tests.
- La caja Amiga carga bibliotecas de disco y usa el AmigaOS que ponga el usuario como capa (DashOS no trae ROM ni Workbench). MUI 5 aún tumba la caja por un fallo del JIT, en curso.
- Recuento hecho el 13 de noviembre de 2026 con las bitácoras del proyecto (docs/*_LOOP.md y docs/bitacoras/) y sus diseños, sobre la rama revision.
Dash, también para DashOS
Los programas de Dash, el lenguaje de FreeMEM para el Amiga, ya corren en la caja Amiga de DashOS, y Dash ya compila programas nativos para ARM, aún sin interfaz gráfica. La idea es que el mismo programa en Dash sirva para AmigaOS 3.x (68k) y para DashOS.
Conoce Dash