3 ms·
Not really, it effectively adds a kernel to your app so your app is the OS. Like if you were booting from Grub, you would point Grub at your app binary directly
by curryst 5y ago
Not really, it effectively adds a kernel to your app so your app is the OS. Like if you were booting from Grub, you would point Grub at your app binary directly. You don't boot into Linux and start your app, your app is the OS.
Iirc the main advantages are eliminating a lot of context switching (your app is the kernel, so theres no context switching for kernel calls) and reducing unneeded features (i.e. if your app doesn't need networking, then it won't put any network drivers in your app-OS).
Its mostly a performance optimization afaik. There's some supposed security features because it drops parts of the OS you don't need, which reduces the attack surface. I don't know if there are any additional risks from it though; making the app run in ring 0 makes me uneasy. I think that might just be because passing from userland to kernel land is a significant exploit in normal OS'.