4 ms·
FYI, Linux userspace drivers were introduced in 2006-2007 and improved multiple times over the years. Some of my filesystem & networking drivers run in usersapc
by zibzab 5y ago
FYI, Linux userspace drivers were introduced in 2006-2007 and improved multiple times over the years. Some of my filesystem & networking drivers run in usersapce.
The monolithic vs microkernel debate was pretty clueless at times. Core Linux is smaller than dito hurd when configured with similar functionality.
OSX mach has always been a hybrid kernel. In a sense Linux is too but you can also configure it as a mostly-monolithic thing, and most seem to prefer that.
- creshal 5y agoSome of the userspace drivers are even shared between OSX and Linux, via FUSE.
- roblabla 5y agoAnother example would be userspace network drivers that directly talk to the network card. Those tend to be much more performant than using the kernel driver due to avoiding the need to context switch from userspace to kernelspace.
- zibzab 5y agoIs that really true in pratice (excluding unikernels, of course)?
- MayeulC 5y agoAren't we making userspace/kernel space communication a lot more efficient with io-uring, though? Likewise, eBPF allows userspace programs to perform some work inside kernel space to reduce syscalls. I wonder if io-uring won't be a starting point for a "microkernelization" of Linux. It seems really effective as a message-passing interface.
- pjmlp 5y agoLook at Android' Project Treble, that is what Google has done, just with Android IPC instead of io-uring.