I didn't know that Circle borrowed a lot from Linux. I had assumed it was a ground-up implementation.sean.lawless wrote: ↑Tue Nov 17, 2020 4:50 amCircle is based on Linux so the USB host driver has a lot of Linux system dependencies, as you mentioned (hence Circle OS). .
My own dream goal is to have a kind-of "unikernel" that makes few assumptions about how the host application should work. It would be a highly decoupled system.
I'm not sure if that is ultimately attainable. As more functionality is added, it becomes increasingly reliant on surrounding infrastructure. One therefore ends up with a "framework" rather than a library.
There is an interesting project out there called Ultibo, which is built using Pascal. I tried it, and Pascal is not too bad, really. My disappointment is that seemed to have a pre-emptive scheduler, which will of course thwart attempts at any real-time processing.
An interesting approach seems to be Rumpkernel, which is the idea of running a kernel on top of NetBSD's anykernel. The idea is that the anykernel is a set of driver software. You then layer any flavour of kernel on top of that. NetBSD does, of course, provide its own kernel. This separation of layers strikes me as the way of doing it. I'm a little surprised that the idea hasn't caught on more. I hear that Andy Tanenbaum is porting his Minix3 kernel to the anykernel, for example.
On a different note, I am interested in buying your book. I'm very leery about the publisher, though. Having to agree to T&C's just to read a book puts me off, and I'm generally skeptical about cloud-based platforms. In my view, the majority of people aren't skeptical enough