4 ms·
Okay, how do you propose to talk to your kernel then?
by jcranmer 3y ago
Okay, how do you propose to talk to your kernel then?
- anonymoushn 3y agoOver an spsc queue (unfortunately you cannot mmap this way yet, and you cannot set up the spsc queue itself this way)
- vlovich123 3y agoIo_uring?
- eddd-ddde 3y agoYour kernel will likely have well defined interfaces. You don't need libraries to talk to the kernel.
- jcranmer 3y agoBut how can you use those interfaces without an ABI? Fundamentally, an ABI is the way you define interfaces.
- vlovich123 3y agoExcept for Linux, those well-defined interfaces sit behind a C API.
- czarit 3y agoNot really - Linux syscalls are stable, so you are free to run your binary with a statically compiled libc and never touch the installed one. You can also handcraft your syscalls in assembly. This will not work on Windows, where the kernel API is a DLL and syscall numbes are routinely changed.
- vlovich123 3y agoThat's what I said - on Linux the syscall API is stable while on all other OSes you have to go through libc to talk to the kernel.
- lmm 3y agoWho wants a kernel? Distribute a bootable unikernel image that can be talked to via gRPC or something. Obviously there are plenty of things you can't build that way (e.g. drivers), but for a server application that's intended to be accessed over the network anyway, like Clickhouse, I'm increasingly thinking that's the way to go.