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.

Estado
  • 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.

Las dos cajas a la vez: es2gears en la caja Linux y una ventana GadTools de un programa 68k en la caja Amiga.
Las dos cajas a la vez: es2gears en la caja Linux y una ventana GadTools de un programa 68k en la caja Amiga.
Firefox de la caja Linux como una ventana más del escritorio.
Firefox de la caja Linux como una ventana más del escritorio.
El explorador de archivos, con barra lateral, migas y la caja Amiga como volumen.
El explorador de archivos, con barra lateral, migas y la caja Amiga como volumen.
El centro de control: apariencia, permisos, seguridad y discos.
El centro de control: apariencia, permisos, seguridad y discos.
El mismo programa GadTools de 68k con sus dos aspectos: el original de 3.x y como DashOS.
El mismo programa GadTools de 68k con sus dos aspectos: el original de 3.x y como DashOS.
ReAction sobre el BOOPSI nativo de DashOS, en los dos aspectos.
ReAction sobre el BOOPSI nativo de DashOS, en los dos aspectos.

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.

DashOS: el sistema en marcha
ProgramasCajasServiciosControladoresKernelHardwareCaja Amiga · un procesoCaja Linux · máquina virtualPlanificadorMemoriaLlaves y canalesInterrupciones y relojesPrograma nativoRust, C o DashPrograma hostilel de las pruebasPrograma 68kbinario del AmigaJIT Emu6868k a ARM al vueloBibliotecas nativasexec, dos, intuition, gadtoolsPrograma de Linuxen la máquina virtualPuente Waylandsus ventanas, en el escritorioinicioreparte las llavesCompositorWaylandArchivosDashFS y permisosSonidomezcla en plazoRedsmoltcp y TLSguardian y sesionescuentas y bloqueoUSB (xHCI)teclado y ratónDisco (NVMe)con su anillovirtio-sonidocontroladorRedvirtio-net, GENETPantallaUEFI, buzón, HVSTeclado y ratónhardwareDisco o SDhardwareAltavozhardwareTarjeta de redhardwareMonitorhardware
Paso 1 de 6La tecla llega como una interrupción del controlador USB.
  • 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.

49 %media de todos los componentes
22componentes hechos
33en curso
15diseñados, sin empezar

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

Pulsa una pieza para ver qué es, cuánto lleva y qué le falta.

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.

Avance
ComponenteHechoCómo se cuentaQué 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ácoraabrir 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úntodo 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-UAEvarias 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 ficherosprocesos 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 3xasl.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 capasrecortar 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 probadaskeymap 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 Dashmenú 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 JITarreglar 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 limpiasel 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 fasestodo
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 nadainstantá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 Firefoxvirtio-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 sesionesfichas 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 tareaun 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 selectorgrupos 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 pasosvarias colas
Tarjeta SD
Controlador EMMC2 de la Pi
20 %juicio: solo lee dos sectores, sin DMAescribir, DMA, servicio de disco, placa real
USB DWC2
El USB de la Pi: teclado y ratón con concentrador
67 %juicio: 2 de 3disco 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 pasosconectar 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 salienteUDP, 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ódigotodo
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 lecturapermisos 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ódigotodo; antes, LKL (los hilos ya están)
Sonido
Servicio de mezcla con clase de plazo (S19)
24 %1,7 de 7 fasesPWM, 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 fasestodo
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 tareasprobarlo 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ódigotodo
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 reiniciarel 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 pasosKASLR; 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 hechosacar 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 fasesfuzzing, 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 hostilprioridad 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 placatodo: 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

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