I'm still working on UX/RT, and am now progressing slightly faster than before. I've changed my mind on several things. I've decided that Rust will be the preferred language rather than Objective-C, since Rust is memory-safe and is cleaner than Objective-C. For the desktop environment I'm not sure what I'm doing. I may still use GNUstep but I haven't decided for sure. I may just end up writing my own from scratch. Whatever I do, the desktop will still be similar to a mix of NeXTStep and BTRON. I am still going to write my own window server eventually (still with the same architecture I'd planned), but I will use X11 as an interim window system. I've put writing my own hypervisor on hold, and will be using
LKL, which turns the Linux kernel into a library, to provide device, disk filesystem, and network protocol drivers. I am using the
seL4 microkernel (with a patch to allow for QNX-like booting from a single filesystem image containing everything, rather than loading the kernel and root server separately and requiring everything else to be linked into the root server) and the
feL4 tools/libraries to build the root server. Currently I've got a working in-memory bootloader, a skeleton root server, and the infrastructure to build an ISO image that boots the kernel and starts the root server (which doesn't really do anything at the moment). I am planning to borrow some code from
Robigalia and possibly
Redox to reduce the amount of work I have to do to get something that works (although I will still have to write a fair bit of original code, the biggest being the IPC transport layer and the VFS (which will both will be rather different from anything in any other FOSS OS).
Here's the Gitlab project I've set up for UX/RT. If anyone else wants to contribute they are definitely welcome. In the top-level repository there is a rather disorganized file of notes on my plans for UX/RT. I really should get around to making a more organized description of UX/RT's architecture one of these days.