4 ms·
Just wanted to say that I wish that this was how kernels were made - out of modular, reusable blocks. Would this scale? In other words, could Redox and the OS d
by d33 8y ago
Just wanted to say that I wish that this was how kernels were made - out of modular, reusable blocks. Would this scale? In other words, could Redox and the OS described in the system share IRQ code from the same crate and ultimately grow into two different systems that are built of mostly the same crates for low-level stuff, just wired differently?
- steveklabnik 8y agoWe’ll see; a lot of hobby OSes are already doing this to some extent, like using the x86 crate to manage the definitions of various data structures needed by the platform. We can’t really tell until more OSes get further along (my own is taking forever due to lack of time...)
- DoritoChef 8y agoFrom the historical point of view, this heavy decoupling is associated with microkernels which fell out of favor with the rise of the Linux kernel. I think in this day and age, modern programming languages could make building a microkernel that doesn't fall prey to the shortcomings of MINIX a possibility.
- d33 8y agoMicrokernels are IPC-heavy, right? What I rather imagine is having modules at source level, not kernel level. So the thing still compiles down to a monolith/hybrid, but modules are abstracted away and reusable.
- badosu 8y agoIt would be interesting to see if modern multi-core cpus make the possible overhead of microkernels a non-issue today.
- jacquesm 8y agoMicrokernels are much easier to optimize for multi-core CPUs than monoliths. The ´kernel modules´ from a monolith run as user processes in a microkernel environment so they automatically benefit from more cores.
- pjmlp 8y agoExcept that most kernels for high integrity computing or hard real time deployments are microkernels.
- danellis 8y agoI don't know what your definition of "reusable" is, but I keep seeing things like, "We used the TCP/IP stack from NetBSD".