The license choice is explained with the following: > [...] we accommodate the business need for proprietary kernel modules. Unlike GPL, the MPL permits the linking of MPL-covered files with proprietary code. Glancing at the readme, it also looks like they are treating it as a big feature: > Asterinas surpasses Linux in terms of developer friendliness. It empowers kernel developers to [...] choose between releasing t…
Asterinas: OS kernel written in Rust and providing Linux-compatible ABI
31–40 of 234 posts
Re: Asterinas: OS kernel written in Rust and providing Linux-compatible ABI
#32There's no specification of that ABI, much less a compliance test suite. How complete is this compatibility?
Re: Asterinas: OS kernel written in Rust and providing Linux-compatible ABI
#33I'm interested in these kind of kernels to run very high performance network/IO specific services on bare metal, with minimal system complexity/overheads and hopefully better (potential) stability and security. The big concern I have however is hardware support, specifically networking hardware. I think a very interesting approach would be to boot the machine with a FreeBSD or Linux kernel, just for the purposes of h…
If you want truly high-performance networking, you can bypass the kernel altogether with DPDK. So you don't have to worry about alternative kernels for other tasks at all. On the downside, DPDK takes over the NIC entirely, removing the kernel from the equation, so if you need the kernel to see network traffic for some reason, it won't work for you. You can check out hardware support here: https://core.dpdk.org/suppor…
Re: Asterinas: OS kernel written in Rust and providing Linux-compatible ABI
#34Earlier quoted context omitted.
If you want truly high-performance networking, you can bypass the kernel altogether with DPDK. So you don't have to worry about alternative kernels for other tasks at all. On the downside, DPDK takes over the NIC entirely, removing the kernel from the equation, so if you need the kernel to see network traffic for some reason, it won't work for you. You can check out hardware support here: https://core.dpdk.org/suppor…
This was true a decade ago, with modern io_uring dpdk is probably an anti-pattern.
Their conclusion is io_uring is still slower but not by much, and future improvements may make the difference negligible. So you're right, at least in part. Given the tradeoffs, DPDK may not be worth it anymore.
Re: Asterinas: OS kernel written in Rust and providing Linux-compatible ABI
#35I personally dislike rust, but I love kernels, and so I'll always check these projects out. This is one of the nicer ones. It looks pretty conservative in it's use of Rust's advanced features. The code looks pretty easy to read and follow. There's actually a decent amount of comments (for rust code). Not bad!
Rust code is usually well commented in my experience.
So lemme ask: what other languages and project (open/closed, big/small, web/mobile/desktop, game/consumerapp/bizapp) have you experience with as to come to this conclusion?
Re: Asterinas: OS kernel written in Rust and providing Linux-compatible ABI
#36Earlier quoted context omitted.
Rust code is usually well commented in my experience.
Instead of asking "what other languages and project (open/closed, big/small, web/mobile/desktop, game/consumerapp/bizapp) have you experience with as to come to this conclusion?" people down vote you. So lemme ask: what other languages and project (open/closed, big/small, web/mobile/desktop, game/consumerapp/bizapp) have you experience with as to come to this conclusion?
Re: Asterinas: OS kernel written in Rust and providing Linux-compatible ABI
#37Earlier quoted context omitted.
They mention this in https://github.com/asterinas/asterinas/blob/2af9916de92f8ca1... > While we prioritize compatibility, it is important to note that Asterinas does not, nor will it in the future, support the loading of Linux kernel modules.
It's a lot "simpler" to support a Linux userland as that means one needs to "just" emulate all the Linux syscalls, than to implement the literally countless internal APIs needed for drivers etc, as that would otherwise mean literally reimplementing the whole Linux kernel and that's neither realistic, nor too useful.
and emulate the virtual filesystems (/proc/...)
Re: Asterinas: OS kernel written in Rust and providing Linux-compatible ABI
#38Earlier quoted context omitted.
i might be wrong but if it's ABI compatible the same drivers will work? p.s.: i was wrong >While we prioritize compatibility, it is important to note that Asterinas does not, nor will it in the future, support the loading of Linux kernel modules. https://asterinas.github.io/book/kernel/linux-compatibility....
Linux doesn't even maintain ABI compatibility with itself , nobody else is going to manage it. The possibility that might work is there's a couple projects that maintain just enough A P I compatibility to reuse driver code from Linux (IIRC FreeBSD does this for some graphics drivers). But even then you're gambling with whether Linux decides to change implementation details one day, since internal APIs explicitly aren…
Re: Asterinas: OS kernel written in Rust and providing Linux-compatible ABI
#39Re: Asterinas: OS kernel written in Rust and providing Linux-compatible ABI
#40I'm interested in these kind of kernels to run very high performance network/IO specific services on bare metal, with minimal system complexity/overheads and hopefully better (potential) stability and security. The big concern I have however is hardware support, specifically networking hardware. I think a very interesting approach would be to boot the machine with a FreeBSD or Linux kernel, just for the purposes of h…
That's basically what you're getting with Docker containers and a shared kernel. AWS Lambda is doing something similar with dedicated kernels with Firecracker VMs