4 ms·
While I agree in principle, I have tried a couple times(admittedly not very hard) to learn how to use seL4 and it seems unready for prime time. I don't think P
by Zamiel_Snawley 3y ago
While I agree in principle, I have tried a couple times(admittedly not very hard) to learn how to use seL4 and it seems unready for prime time.
I don't think POSIX is the end-all-be-all, but it is what I and many others are familiar with, and seL4 has practically nothing in common with it.
The design is just too foreign to get going quickly, and the opportunity cost of learning their way to do things is too high in almost all cases.
One day I hope to have the time to dedicate to learning it properly!
- pjmlp 3y agoPOSIX also hardly matters on Windows, mobile OSes, legacy mainframes/micros or game consoles. What is needed is to have a product that makes the OS relevant enough for devs to consider targeting the platform.
- surajrmal 3y agoThe problem is that sel4 isn't turnkey enough for the average product maker to use. It's good for larger firms who can invest in building out their own platform on top which they can then use in products. There doesn't seem to be anyone building a public platform on top of sel4 which can be then used by product makers. This is similar to building a product with a custom Linux distro vs an existing one, albeit a custom Linux distro is still far easier to do because of the great ecosystem around it. I'm not an advocate for using Linux, but unless someone invests in the missing pieces, sel4 usage will never become widespread.
- snvzz 3y ago> unless someone invests in the missing pieces, sel4 usage will never become widespread. There's multiple efforts, such as Makatea[0], Genode[1] and sel4cp[2]. The seL4 foundation is finally well-established and funded thanks to increasing commercial interest[3]. There's been a lot of activity lately[4] and I'm very optimistic for it. 0. https://trustworthy.systems/projects/TS/makatea https://trustworthy.systems/projects/TS/makatea 1. https://www.genode.org/ https://www.genode.org/ 2. https://trustworthy.systems/projects/TS/sel4cp/ https://trustworthy.systems/projects/TS/sel4cp/ 3. https://sel4.systems/Foundation/Membership/ https://sel4.systems/Foundation/Membership/ 4. https://trustworthy.systems/news/ https://trustworthy.systems/news/
- yyyk 3y agoNative POSIX is incompatible with good APIs. Just look at the mess you need to go through to ensure data is actually written to disk. More importantly, what is the point of a new OS if you support just POSIX? The architecture choices involved will push the OS to be a worse Linux/BSD/Mac, and whatever new thing you add will eventually be ported to Linux. Nowadays, a new OS can only be technically justified by trying to be better than POSIX. It is true that POSIX emulation might be useful, Microsoft showed one way to do so. A new OS could use its equivalent of WSL2/Fuschia's starnix/wine. But I don't think there are any circumstance when it is a good idea for a new kernel to natively support POSIX.
- surajrmal 3y agoposix isn't a kernel API. It is a runtime that can largely be implemented in userspace. There is no need for any kernel to do anything specific to support posix other than for possible performance optimizations. Also posix isn't even the API people target anymore - the Linux uapi is. This is why wsl and starnix target that instead. There are security issues that come along with such APIs, but you can sandbox things in such a way that it need not be as problematic. There is no getting away from the need for backwards compatibility with existing applications. Applications won't start supporting your platform natively until it matters and getting big enough to matter requires lots of software working on your platform.
- yyyk 3y agoHowever, the userspace assumptions leak. e.g. POSIX's file API don't sit quite well with Windows, and Microsoft had to eventually abandon WSL1. My point was that we really don't need yet another Unix clone. If we're going for a new OS, we should fix the core APIs as well. Emulation ain't bad per se, but it better be done 'outside' without compromising the original design.