Not a remake or remaster or rerelease of something old, but something inspired or influenced by something either popular or a cult classic. Also this could extend to hardware/tech too, not only media.
Not a remake or remaster or rerelease of something old, but something inspired or influenced by something either popular or a cult classic. Also this could extend to hardware/tech too, not only media.
I am a big big big Linux fan, but I feel that after 30 years, it is time for a non-monolithic kernel. I know Linus hates the idea of microkernels but the era of Rust is finally here and it shows that safe microkernels are fully possible now, and I believe the advantages and modularity can be amazing for a new era of open source computing.
Some of the devs around Linus are getting warmed up to the idea of a microkernel. Statistics have shown better boot times and better overall performance. As they put it “guess Tannenbaum was right all along” 😂.
Anyway, it should just be a matter of time now. Linus doesn’t like the microkernel idea because it risks stability for the sake of modularity. You maintain the entire code base with a monolithic kernel (drivers, FS, everything), while with a microkernel, you just maintain the kernel, everything else is modular, maintained by someone else, thus, things can go bump in the night. The former is better for stability.
Don’t break userspace.
Yep, his main motto 👍.
Those are not really the same thing. You can still run something as a microkernel and maintain it as code bases completely under your control and developed in lockstep or even in one giant repository if you really want to.
But at that point, why? Microkernels and microservices etc are best served when there is organisational separation so that teams can work in isolation of one another and for systems that are independently deployable. Device drivers depend on the kernel and to be compatible; orchestrating that as independent efforts would be painfully slow and inconsistent (not something you want for something as critical as a kernel).
The Linux kernel only has drivers in the source tree but at runtime they are separate modules loaded on demand. Given an overwhelming amount of what people see as the monolithic nature of the Linux kernel is the millions of lines of device driver code, their modular nature somewhat negates the argument for separation and ultimately I don’t see the benefit. Especially given Linux’s simpler API without the abstraction of countless user-space servers, and portability this simplicity provides.
I think the parallel of services that were architected as microservices now being refactored to be more monolithic is an interesting lens.
Not to say I’m right on this matter, just that I’m not convinced.
Microservices and microkernels are not really that similar. The great advantage of a microkernel is not so much the separation of concerns but the fact that less code needs to run unsandboxed in kernel space where every bug can potentially corrupt other parts of the kernel or lead to security holes.
I appreciate the insight - you make a good point!
I’m ready for it, but it needs to be GPL3. I’m sick of vendors like Amazon and Nvidia using the Linux kernel but not publishing their drivers. Open your drivers, or dont use the kernel, that simple.
Windows, Mac, Freebsd, etc all use some sort of modular kernel. Linux finally going to a microkernel or even a hybrid kernel would be one of the first basic steps towards modernizing Linux. So it will probably happen in 10 years or so.
What does that mean for modularity and support?
Microkernel only refers to the core, right? Is the idea that it can make inbound guarantees on drivers and firmware? Does it not still depend on the extensions being secure even if your micro kernel is?
Redox OS
I’ve had it on my “to try” list for a while, but haven’t set aside time yet. It looks pretty good on paper, though.
New OSes have a tough hill to climb, with a mountain of hardware drivers. Until theres a decent corpus of drivers, running on bare metal is limited to a small few number of people.
Ive tried redox before, its in a very basic state, ive never gotten it to boot on real hardware and there are only a few basic utilities and Netsurf installed
Yeah, building an OS is a lot of work. It may be a while (if ever) before Redox is a daily driver; it took Linux 10 years before it was a viable option, and another 10 before it was common… and that was back when there was far less hardware to support. Uphill battle, like I said. However, it’s actively developed, has more than one contributor, and ticks the requested boxes: Rust, micro, modern.