rst wrote: ↑
Wed Feb 26, 2020 6:57 pm
@blippy Thanks. I heard of rump kernels for the first time now. I did some quick reading. The concept is interesting, but I'm not sure, if there is still much activity in this project?
I did read somewhere that the guy abandoned it to brew beer. I'm sure there's more to it than that, though. I'll be honest and say I've only the vaguest idea of it, and NetBSD, too.
My overall impression is that NetBSD is designed to be HIGHLY portable, and there's good separation between the drivers and the "kernel", which I think really means "scheduler". NetBSD, of course, provides its own scheduler, giving everyone a Unix-like clone. But you don't have to use it. It has an "AnyKernel", which I take to mean "insert your kernel here".
I don't think you necessarity even need a "scheduler". Maybe you just want to run one process.
I think Andy Tanenbaum is/was porting his Minix kernel to NetBSD.
If it all does what I think it does, then it seems like an excellent way of going about things: a librray OS ("unikernel") from which to build your own kernel. It almost seems like the Holy Grail, as NetBSD is designed with portability in mind. You get all the donkeywork of the drivers done for you, and you just add your own flavour of scheduler/security model (or lack)/anything else on top of it. Why write code for the Fat filesystem, when NetBSD will give it to you. Assuming I've understood it right.
I guess it's a bit like FreeRTOS, which aims to provide a whole bunch of libraries; although it does stipulate a scheduling model. RTOS (Real-Time Operating System) seems to be targetted more towards microcontrollers. I have used it on an ESP32, for example, and I liked it a lot.
I don't know the state of play of FreeRTOS on the Pi, though. FreeRTOS doesn't seem to think that the Pi is important; even though they target a tonne of MCUs (microcontrollers).
I'm surprised we don't have a really solid FreeRTOS port for the Pi, because it would seem like a really excellent thing to have. I've Googled around, and there seem to be ports, but I'm suspicious as to how well they work.
There are other RTOS's out there (Zephyr and ChibiOS spring to mind, although I have never tried them). I get the impression that what they promise they deliver and what they actually deliver are far apart.