Muli Ben-Yehuda's journal

February 11, 2007

Filed under: Uncategorized — Muli Ben-Yehuda @ 2:08 PM

Trying to get back in the habit of writing here, I decided to (re)start posting interesting articles and papers.

“Roadmap to a Failure-Resilient Operating System”, by Jorrit N. Herder, Herbert Bos, Ben Gras, Philip Homburg, and Andrew S. Tanenbaum. Interesting article, although not much new. MINIX 3. Drivers is major source of operating system bugs, therefore we move the drivers to a separate address space and contain the bugs. Mentions DMA, with IOMMUs as the solution, no discussion of how it fits in with the rest of the system. Performance Degradation of 5-10 percent when compared to MINIX 2 with in-kernel drivers, no comparison against Linux or other OS’s. See also Comparing Linux and MINIX on lwn.net.

Random thought: what if we ran drivers each in its own address space, but all with supervisor privileges? Is this a worthwhile point to explore in the performance/protection tradeoff?

8 Comments »

  1. Unknown's avatar

    “what if we ran drivers each in its own address space”
    Hi Muli,
    See the Nooks project (http://nooks.cs.washington.edu/) in which they did sometinhg similar, and also the recent work of LeVasseur: “Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines”

    Click to access LeVasseur04UnmodifiedDriverReuse.pdf

    Cheeres,Reuven (one of Shlomi Dolev’s boys)

    Comment by Anonymous — February 11, 2007 @ 7:12 PM | Reply

    • Muli Ben-Yehuda's avatar

      Re: “what if we ran drivers each in its own address space”
      Thanks Reuven, I’ll check those out!

      Comment by mulix — February 11, 2007 @ 7:24 PM | Reply

    • Muli Ben-Yehuda's avatar

      Re: “what if we ran drivers each in its own address space”
      Ooh, the L4 paper is *really* interesting, since they discuss IOMMUs. Many thanks!
      (I’ll post about the paper itself later after I’ve read it again, thoroughly).

      Comment by mulix — February 11, 2007 @ 7:52 PM | Reply

    • Unknown's avatar

      LeVasseur04UnmodifiedDriverReuse.pdf
      “The translation modules and client device
      drivers for the block and network, along with the
      user-level VMM, were written by a single student over
      roughly a two month period, originally for L4Linux 2.4.
      This student already had experience with Linux network
      driver development for a paravirtualized Linux on L4. A
      second student implemented the PCI support within one
      week.” – very talented students, i must admit ..

      Comment by mike_k — February 11, 2007 @ 10:17 PM | Reply

  2. Unknown's avatar

    Using virtualization extensions for separate drivers would be interesting

    Comment by diegocg — February 11, 2007 @ 7:17 PM | Reply

    • Muli Ben-Yehuda's avatar

      In a sense, that’s what Xen’s driver domains or MINIX’s userspace drivers are all about, but without the HW virtualization. I’m intersted in exploring the use of IOMMUs to give unmodified operating systems – running with the support of virtualization extensions – direct access to hardware devices.

      Comment by mulix — February 11, 2007 @ 7:30 PM | Reply

  3. Unknown's avatar

    MINIX sucks, whatever they’d say ..

    Comment by mike_k — February 11, 2007 @ 9:57 PM | Reply

  4. Unknown's avatar

    “Roadmap to a Failure-Resilient Operating System” – eventually they try to find a niche in the operating system market ?! 🙂

    Comment by mike_k — February 11, 2007 @ 10:02 PM | Reply


RSS feed for comments on this post. TrackBack URI

Leave a comment

Blog at WordPress.com.