-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
Hi,
as you want to build a UNIX-like microkernel-based OS, it might be interesting for you to look at my OS, Escape [1]. It is some mixture of UNIX, Plan 9 and L4, I would say. It is not directly related though, but completely written from scratch and also UNIX-like at its heart in contrast to emulating that on top. However, since it does not consider real-time, you probably don't want to use it, but perhaps it's interesting to see how it works.
Best regards, Nils
[1] https://github.com/Nils-TUD/Escape
On 01/28/2015 02:27 AM, Andrew Warkentin wrote:
I am planning to write a new L4-based multi-server OS called UX/RT (initially I will use Fiasco.OC as the kernel since it has x86_64 support and supports kernel capabilities, but may eventually support seL4 as well). Unlike the other current L4 OS environments, it will be a multi-server Unix-like OS resembling QNX and Plan 9. I am intending it to have good support for both desktop and embedded systems (servers are not a huge priority; the microkernel architecture might limit the maximum throughput for heavily I/O-bound workloads). I am dissatisfied with all the current mainstream OSes and want to take on the challenge of making something better. I am planning to reuse as much existing third-party code as possible, especially as I will probably be working on it alone at first (of course if anybody here wants to contribute they can). However, due to the design, the only part of L4Re that I can use as-is is sigma0 (which may require minor changes to fit into the XIP-based boot process I am going to use). I will be implementing my own root task which may use a few parts of moe, although I haven't looked too closely at the source for moe so I'm not sure if there's anything there that I can use. Other than sigma0, the low-level kernel headers, and possibly some parts of moe, I'm not sure if there is much else from L4Re (or Genode) that would be useful in the context of a pure Unix-like multi-server OS. Most of the code I reuse will come from BSD and GNU (which gets me quite far; the root task will probably be the biggest part of the base OS that will be primarily original code). I already have a very good idea of the design I'm going to use; I'll post more about it later.