QSOE publica su primera versión estable con arranque sobre dos microkernels distintos

Fuentes: QSOE project v0.1 released

El proyecto QSOE ha anunciado el lanzamiento de su primera release numerada, v0.1, que agrupa en un único paquete sus dos variantes de núcleo, el cargador de arranque, el espacio de usuario y la libc. El conjunto incluye QSOE/N v0.17 con el núcleo propio "Skimmer", QSOE/L v0.14 que se apoya en seL4 versión 15, el cargador mr-bml v0.5.1 derivado de GRUB con soporte para Multiboot 3, núcleos estilo RISC-V Linux y núcleos con EFI stub, el shell quser v0.5 con mksh (qsh) y libc v0.6. Ambas variantes comparten el mismo espacio de usuario por encima de la costura: solo difieren taskman y libc.so, lo que permite un entorno compatible con QNX sobre dos microkernels muy diferentes.

El hito técnico principal está en QSOE/L, que ahora arranca desde almacenamiento NVMe hasta una shell de inicio interactiva en la placa SiFive Unmatched (FU740). El avance obligó a resolver dos interbloqueos que aparecían al lanzar el primer programa desde un disco montado, donde taskman se quedaba bloqueado leyendo la imagen de spawn mientras la cadena de lectura devolvía los wakes a través de él. La solución pasa por rutas lentas Sync* e impulsos de interrupción de dispositivo ahora dirigidas por el núcleo, sacando a taskman de la ruta de wake. Con QSOE/N v0.17 ya lanzando desde su propio sistema de archivos hasta qsh, ambas variantes alcanzan una shell en la FU740. El código está en GitLab bajo Apache-2.0 (gitlab.com/qsoe), y los binarios y la documentación en GitHub y en qsoe.net.