Genode OS 13.02 Features Low Latency Audio, Virtualization, Protected DMA
On the heels of their December release, the 13.02 release of the Genode multi-server microkernel OS framework continues to deliver major new features. Under the hood, there's support for the IOMMU, bringing safe bus master DMA to userspace drivers (overcoming one of the final advantages monolithic kernels had). They've also added full virtualization support, good enough to boot Linux as an application. In the cool department, they've added a new low latency audio interface that could very well pave the way for something akin to JACK, and right now provides a lightweight way for the system to beep at you in real time . A few more libraries have been ported (libssh, curl, iconv) in preparation for a port of git to the Noux native GNU runtime. There are also a bunch of other improvements to their NOVA microkernel, support for running on the Exynos 5250 and Freescale i.MX53, a new console multiplexer, improvements to the display server, simplification of the base libraries, and more. I'll be attempting to build it and give it a spin to see how well it works in practice sometime soon.
HURG: Hurg of Unix Replacing Genodes
I should use this sig to advertise my book ISBN-13 : 978-1501515132.
No, I rather keep a monolithic kernel for performance. Then I'll enable some security hooks... and run server and sensitive stuff in a VM... hoping that the bare metal which I use for games won't get compromised... hmm...
OK, TANENBAUM WAS RIGHT.
---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
I think Genocide is only what happens when the OS crashes. I would like to see the OS up-times before trying this out.
Looks very cool, but what exactly is their business model? It looks to me like this
Step 1: build a cool microkernel
Step 2: Port GNU tools
Step 3: ???
Step 4: Profit!
Will it blend?
(wonder how many entendre we can generate with that one...)
An enigma, wrapped in a riddle, shrouded in bacon and cheese
It looks like it is on the spot with virtualization but has anyone audited or inspected the code? Are any of these features comparable to Qubes? Why would I choose this OS?
Just asking anyone more familiar with this project to explain to me the pros and cons compared to other projects.
They're making progress. The system now runs on bare hardware. For a while, it ran on top of Linux, more of a demo than an OS. Now it can run directly on ARM machines. That's useful. It should run on the Allwinner ARM parts from China ($7 each in bulk) and we may see products from China using it.
It's interesting to read over the documentation, what there is of it. The "API reference" is links to C++ .h files which make heavy use of templates. Like this:
typedef Meta::Type_tuple<Rpc_create_thread,
Meta::Type_tuple<Rpc_utcb,
Meta::Type_tuple<Rpc_kill_thread,
Meta::Type_tuple<Rpc_set_pager,
Meta::Type_tuple<Rpc_start,
Meta::Type_tuple<Rpc_pause,
Meta::Type_tuple<Rpc_resume,
Meta::Type_tuple<Rpc_cancel_blocking,
Meta::Type_tuple<Rpc_set_state,
Meta::Type_tuple<Rpc_get_state,
Meta::Type_tuple<Rpc_exception_handler,
Meta::Type_tuple<Rpc_single_step,
Meta::Type_tuple<Rpc_num_cpus,
Meta::Type_tuple<Rpc_affinity,
Meta::Empty>
> > > > > > > > > > > > > > Rpc_functions;
Better for security to do it at compile time than at run time.
Do you have a blog or something where we can follow along? This project looks more than a little interesting.
I'm glad this project is getting positive attention. It's my main source of hope that computer security will get fixed, for real. I won't miss virus scanners, having to worry about visiting web sites, opening email, etc. When my laptop can run it as a primary OS, I'm switching and never looking back.
"Genode multi-server microkernel OS framework ... IOMMU ... safe bus master DMA to userspace drivers...something akin to JACK... git to the Noux ... NOVA ...Exynos 5250 and Freescale i.MX53." Language is becoming a complete impediment to understanding. At least it beeps at you.
Why not use BeFS? It works. It has several implementations (Haiku, Atheos, & BeOS). It is well documented ("Practical Filesystem Design" by Dominic Giampoalo) It was designed for a similar kind of OS (BeOS). It's not tied to Linux/Unix, but still is (mostly) Posix compliant. Sure, it's not bleading edge, but that would just hold back your project anyhow.
I WILL use a multi-server microkernel OS framework called GENOCIDE in honor of all the anonymous cowards who died around the world by disregarding warnings of the hazards of Cranial Rectumitis. In spite of faux moral highground, you have to pull your head out of your ass and take an occasional breath.
The reason why micro-kernels are going to really take off at some point is that program provers are getting better and better.
The "esL4" microkernel L4 variant has been formally proved as immune to a whole lot of common attack vectors. It is known for a fact that you cannot have buffer overflow/overruns, null pointers dereferencing, etc. I don't remember the numbers but while verifying x thousands lines of code, the prover found *hundreds* of potential bugs (and, for many, potentially security issues). All these bugs were indeed bugs and have been fixed. And the prover has been re-run.
The proof itself has been done using a prover that is highly trusted. Nothing is perfect yet but we're slowly getting there. It may take a few more years but in the end the benefit of having a microkernel closing 99.9% (made up on the fly) of all the security holes is going to be a *major* advance.
It's not yet done, but people are working on it.
I personally cannot wait for that day where it is know for a fact that buffer overrun/overflow, pointers dereferencing, etc. cannot be used as attack vectors, no matter how good, how skilled and how rich the attacker.
Simply because it shall be *mathematically provable* that these attack vectors simply aren't there.