But seriously, I'm not sure writing the stuff in assembly can also optimise simplicity and manageability. Though we are talking about the obsolete X86 architecture here. More reasonable hardware[1] will likely be easier to compile to.
It seems like a strange match to use LwIP (which is optimzed for small size to run on embedded systems) with a kernel optimized for speed. I'm guessing that a different IP stack would perform better, given the different constraints on a x64 system. Maybe there aren't many to choose from though, that aren't tied to a specific kernel?
Yeah, exactly. NetBSD's implementation makes sense to use, as it's a rather solid one and very portable. Plus it's probably very general-purpose, while lwIP had never been. Not to say that general-purposeness is the best thing, so that's why I pointed at mTCP, which is actually optimised for multicore systems... Anyhow, I don't think these guys even get their point across. Why have they chosen lwIP in this particular instance actually?
Yes, lwIP only has smallness as a benefit, at the expense of a lot. If we knew what the idea behind the thing was it might be clearer, performance does seem to be an aim.
Is it just me, or isn't "BareMetal OS" an oxymoron? I guess it sounds cool, but taking an established term and use it as a name for the exactly opposite seems confusing to me. Please be responsible when choosing names for your projects :)
Exokernels don't, actually, abstract over hardware. They merely manage resource allocation.[1] So, "BareMetal", is not such an oxymoron, provided you're talking about the kernel itself.
I love minimal things. But if this is supposed to be more than a because-we-can-thing, tell me if it is worth the trouble - how fast is it, how many requests can it stand? Numbers! Ten times a stock Linux setup? More? Less?
Speed does not matter much. Does it work in the wild? A TCP/IP stack developed from specifications would work very well if you dropped it on the Internet.
Not really for embedded systems. Because the majority of the embedded systems is either ARM or proprietary Freescale, Renesas, you-name-it architecture. But BareMetal OS seems to be exclusively for 64-bit x86. It is also proud to not be generic. So: no, not for embedded.
I wonder how it compares with seL4 (http://sel4.systems/) which is verified, open source, "bare metal" and designed for minimality, security and performance.
So not optimized for safety.