El equipo de Redox OS ha finalizado el desarrollo de un sistema de buffers de anillo (ring buffers) a nivel de tarea, completando la fase de implementación en septiembre tras recibir una subvención de la NLnet Foundation y el NGI Zero Commons Fund. Este proyecto, liderado por Ibuki Omatsu, Anhad Singh y Jacob Lorentzon, busca replicar la funcionalidad de io_uring en el microkernel de Redox, permitiendo la comunicación asíncrona entre aplicaciones y servicios del sistema sin bloquear el proceso de usuario.
A diferencia de io_uring en Linux, que opera en el kernel, la implementación de Redox utiliza procesos de esquema en el espacio de usuario. El sistema emplea dos buffers de anillo compartidos: una cola de presentación (SQ) para que la aplicación escriba peticiones y una cola de finalización (CQ) para que el esquema escriba respuestas. Esta arquitectura elimina la necesidad de mecanismos de bloqueo compartidos, ya que cada cola tiene un único productor y consumidor. Además, se ha desarrollado una API similar a liburing para facilitar la programación asíncrona y se han implementado mejoras de rendimiento que permiten un cambio más rápido entre aplicaciones y servicios.
El proyecto incluye la creación de la librería redox-rings, que soporta sincronización mediante futexes y permite la comunicación entre procesos a través de memoria compartida. Esta infraestructura ha sido demostrada en la comunicación entre el servicio de RedoxFS y el controlador de almacenamiento NVMed. El equipo agradece el apoyo de la NLnet Foundation y anuncia la apertura de nuevas convocatorias de financiación para 2026 a través de Restack y Code Supply.
