Slashdot Mirror


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.

12 of 41 comments (clear)

  1. It's a HURG by TechyImmigrant · · Score: 3, Funny

    HURG: Hurg of Unix Replacing Genodes

    --
    I should use this sig to advertise my book ISBN-13 : 978-1501515132.
  2. No, thanks by marcello_dl · · Score: 2

    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
    1. Re:No, thanks by bluefoxlucid · · Score: 2

      Actually tanenbaum WAS right.

      Minix displays roughly a 4% slowdown at worst, which isn't really a lot. It's considerable that 18% of code should probably run in kernel. Application code doesn't experience such a slow-down. 4% of 18% is about 0.72% total. This is pathetically little, so much so that even if you hit it with a fully loaded Web server you're talking about a situation that would kill your server anyway (consider: as soon as you dip a few connections for 3-5 seconds, your system catches up to the past hour or so of max load... 100% workload that takes 1 hour takes 35 seconds longer, so the moment you'd normally back off 100% CPU you have the headroom to blast that away OR you're running a non-stop square block maxed at 100%, so you're dead anyway).

      On the other hand, this Genode thing is another L4-Linux-alike. Can't write a microkernel like Minix? Write a glorified hypervisor and load Linux on top of it as a guest OS, and call it a "Microkernel Architecture." You get all the advantages of being slower, with none of the disadvantages of having a better, decoupled architecture and without a refined and stable product like VMware or KVM or Xen and management tools like vSphere or oVirt. Great press release.

    2. Re:No, thanks by Yebyen · · Score: 2

      Whoa there! Have you actually tried Genode?

      Maybe you have, but I think that just because you can run Linux on it does not mean you must.

      I mean, sure, there's no built-in support for filesystems on block devices. I was kind of expecting to see that in the next release. But who needs read-write filesystems anyway? ^_^

      I don't follow you, just because Linux can run on L4, and Linux can run on Genode, and Genode can run on L4,
      Besides that... "another" L4Linux-alike? Where do you find them all? What news outlets do you frequent? Because I honestly haven't heard of dozens of projects just like Genode. This is not an attempt at flaming. You're obviously not convinced that you need a Genode, and clearly neither am I. I'll be the first to admit it's hard to have a thought-provoking discussion about something you don't know exactly what it does, and you're not sure why you need it.

      I was particularly disappointed when after hours of fiddling around just to bring up something called Noux that was finally resembling a shell, I was able to bring it down (and it seemed, the whole Genode system with it) just by typing 'ls'. Maybe that's just not how it's meant to be used. Maybe I just didn't know the correct recovery sequence. I was impressed but just more-so impatient. Glad to know that these guys make new releases every 3 months.

      --
      Restating the obvious since nineteen aught five.
  3. Re:neat by Unknown+Lamer · · Score: 3, Interesting

    I think there's a lot of interest in microkernels right now in the mobile world... single chip, running something like OKL4 or Genode with GNU/Linux as a server and the radio stack as another server, completely isolated. It's easier to trust a small microkernel won't allow resources to leak between servers than it is to trust something huge like Xen.

    --

    HAL 7000, fewer features than the HAL 9000, but just as homicidal!
  4. The Question on Everyone's Mind: by CanHasDIY · · Score: 2

    Will it blend?

    (wonder how many entendre we can generate with that one...)

    --
    An enigma, wrapped in a riddle, shrouded in bacon and cheese
    1. Re:The Question on Everyone's Mind: by Anonymous Coward · · Score: 5, Funny

      They haven't ported Blender's dependencies yet, so, no, it will not blend.

    2. Re:The Question on Everyone's Mind: by Medievalist · · Score: 2

      Will it blend?

      They haven't ported Blender's dependencies yet, so, no, it will not blend.

      Best post on slashdot in years.

  5. How does it compare to Qubes? by elucido · · Score: 2

    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.

  6. Interesting. Not clear if it's good yet. by Animats · · Score: 2

    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.

    1. Re:Interesting. Not clear if it's good yet. by Hizonner · · Score: 2

      C++ has no place in operating system kernels.

      True enough. C and all its progeny need to go away. Memory safety and type safety are not optional in critical code.

      Or is that not what you meant?

    2. Re:Interesting. Not clear if it's good yet. by Animats · · Score: 2

      Some of the strange-looking code comes from using C++ to serialize a sequence of parameters into a byte stream for message passing. The idea, I think, is that you write something that looks like a function call with parameters. Instead of pushing the parameters on the stack for a function call, the compiler turns them into a byte stream and sends them to a message passing interface. That makes sense, although it looks weird.