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. “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

    • 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

    • 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

    • 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. Using virtualization extensions for separate drivers would be interesting

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

    • 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. MINIX sucks, whatever they’d say ..

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

  4. “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 Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: