Factbites
 Where results make sense
About us   |   Why use us?   |   Reviews   |   PR   |   Contact us  

Topic: Exokernel


Related Topics

In the News (Wed 11 Nov 09)

  
  Exokernel - Wikipedia, the free encyclopedia
Exokernels are tiny, since functionality is limited to ensuring protection and multiplexing of resources, which are vastly simpler than conventional microkernels' implementation of message passing and monolitihic kernels' implementation of abstractions.
Exokernels can be seen as an application of the end-to-end principle to operating systems, in that they do not force an application program to layer its abstractions on top of other abstractions that were designed with different requirements in mind.
The exokernel concept has been around since at least 1994 [1], but as of 2005 exokernels are still a research effort and have not been used in any major commercial operating systems.
en.wikipedia.org /wiki/Exokernel   (946 words)

  
 Kernel (computers) : Exokernel
Exokernels are a rather radical approach to OS design.
Exokernels are extremly small, since they arbitrarily limit their functionality to the protection and multiplexing of resources.
Since an exokernel is therefore only providing a very low-level interface to the hardware, lacking any of the higher-level functionalities of other operating systems, it is augmented by a "library operating system".
www.mik.fastload.org /ex/Exokernel.html   (1047 words)

  
 Microkernel-based OS Efforts
The fundamental attribute that distinguishes monolithic vs. microkernel vs. exokernel architectures is what the architecture implements in kernel space (that which runs in supervisor mode on the cpu) vs. what the architecture implements in user space (that which runs in non-supervisor mode on the cpu).
The exokernel architecture is essentially the extension of the philosophy of RISC cpu architecture to the operating system level.
Exokernels are a further extension of the microkernel approach where the "kernel" per se is almost devoid of functionality; it merely passes requests for resources to "user space" libraries.
linuxfinances.info /info/microkernel.html   (1967 words)

  
 Exo Kernel
An ExoKernel eliminates the notion that an operating system should provide abstractions on which applications are built.
Unfortunately, the exokernel team is too blinded by the endless minutae of implementation details to grasp the insight they've made, so you can't exactly expect them to be able to express it very well.
While your 'multiplexed abstraction layers' concept may have been inspired by the ExoKernel concept, it is decidedly not an ExoKernel in the classic sense; for all I know, it is a genuinely new idea, though I would want to check the literature before coming to that conclusion.
c2.com /cgi/wiki?ExoKernel   (2455 words)

  
 [No title]   (Site not responding. Last check: 2007-11-05)
A prototype exokernel operating system is implemented, and performance, overhead and extensibility are discussed further.
exokernels can be made efficient due to the limited number of simple primitives they must provide 2).
Exokernel gets ride of the idea of generalizing hardware to give user uniform interface.
www.cs.dartmouth.edu /~zhaom/courses/cs108/Review11.txt   (614 words)

  
 OSNews.com
The concept "exokernel" can be summed up as: The kernel only performs resource allocations, the abstraction from the hardware is pushed down into a userspace library as far as possible.
Exokernels are all about removing the abstraction layers, by letting software directly interface with the hardware.
The exokernel approach is rather limited in that way as long as you can't trust the application.
www.osnews.com /permalink.php?news_id=14353&comment_id=115407   (403 words)

  
 Operating Systems Design
And MicroKernel (or NanoKernel) are obsoleted by ExoKernel as a fundamental OS concept.
An OS is not an exokernel just because it's got some insignificant feature buried at a level of abstraction so low that operating systems architects (the smart ones anyways) don't bother thinking about.
The problem the ExoKernel developers identified was that the defined system call mechanism presents an interface that application developers cannot get around.
c2.com /cgi/wiki?OperatingSystemsDesign   (1657 words)

  
 [No title]   (Site not responding. Last check: 2007-11-05)
The central idea behind an exokernel is that operating systems should provide application-level management of physical resources in the interest of "performance, flexibility, and functionality".
The purpose of *visible* resource revocation is to allow the exokernel to reclaim physical resources and still avoid hiding information useful to a library operating system.
If an application refuses or fails to relinquish resources that the exokernel has attempted to reclaim, the exokernel initiates the abort protocol to forcibly break the secure bindings of a particular application to a given resource.
www.eecs.harvard.edu /~jonathan/reviews/engler95exokernel.txt   (441 words)

  
 CS262A Reading Summary   (Site not responding. Last check: 2007-11-05)
Exokernel systems are so-called "library OSes" because instead of implementing all OS functionalities in kernel (monolithic kernels), or partially in user-level servers (micro-kernels), Exokernels put large portion of OS functionalities into application libraries, in the hope that this increases both performance and flexibility.
As the authors noted, one of the major weaknesses of Exokernels is that the implementation of a general-purpose and well-performing Exokernel system is hard.
Another obvious problem with Exokernels is evolving the system may be hard because the user-kernel interface is in general wider and sometimes implicit because of memory mapping of kernel data structures.
www.cs.berkeley.edu /~zf/cs262b/summary1.htm   (396 words)

  
 [No title]   (Site not responding. Last check: 2007-11-05)
Exokernel explicitly avoids providing high-level abstractions and instead exports all physical resources.
On top of the exokernel lies library operating systems that implement the particular resource abstractions used by applications.
Implementation details of Aegis, an exokernel, and Exok, a library OS, are in paper.
research.microsoft.com /~emrek/quals/summaries/Exokernel-Engler-1995.txt   (340 words)

  
 Rice Computer Science: Rice Computer Science-Colloquia</u>   <i>(Site not responding. Last check: 2007-11-05)</i></td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> This talk proposes a new approach, the <b>exokernel</b> architecture, which makes resource management unprivileged but safe by separating management from protection: an <b>exokernel</b> protects resources, while untrusted application-level software manages them. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> Our prototype <b>exokernel</b> system runs a web server 8 times faster than the closest equivalent on the same hardware, common unaltered Unix applications up to three times faster, and improves global system performance up to a factor of five. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> Results include the measured performance of real applications on Xok, an x86-based <b>exokernel</b> implementation, and a description of techniques invented to achieve the most difficult goals of the <b>exokernel</b> approach.</td></tr> <tr><td></td><td colspan=2><font color=gray>www.cs.rice.edu /Colloquia/engler.shtml</font>   (237 words)</td></tr> </table> </td> </tr> </table><body face="Arial"> <br> <table cellpadding=0> <tr> <td>  </td> <td> <table > <tr><td> </td><td colspan=2><a href="http://www.cs.cornell.edu/Info/Courses/Spring-97/CS614/exo.html">Notes on "Exokernel: An Operating System Architecture for Application-Level Resource Management"</a></td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> This paper presents an OS architecture whose main characteristic is the minimization of the <a href="/topics/Kernel-%28computer-science%29" title="Kernel %28computer science%29" class=fl>kernel</a> and the transfer of traditional <a href="/topics/Kernel-%28computer-science%29" title="Kernel %28computer science%29" class=fl>kernel</a> functionality OUTside the <a href="/topics/Kernel-%28computer-science%29" title="Kernel %28computer science%29" class=fl>kernel</a> in application-level modules. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> An important feature of the prototype <b>exokernel</b> is that it supports runtime compilation of these code modules (dynamic code generation). </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> <b>Exokernel</b> is a new, inspiring approach to OS design.</td></tr> <tr><td></td><td colspan=2><font color=gray>www.cs.cornell.edu /Info/Courses/Spring-97/CS614/exo.html</font>   (1012 words)</td></tr> </table> </td> </tr> </table><body face="Arial"> <br> <table cellpadding=0> <tr> <td>  </td> <td> <table > <tr><td> </td><td colspan=2><u>Exokernel: An Operating System Architecture for Application-Level Resource Management</u>   <i>(Site not responding. Last check: 2007-11-05)</i></td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> <b>Exokernel</b> is applying the end-to-end design philosophy to <a href="/topics/Operating-system" title="Operating system" class=fl>operating system</a> i.e. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> Visible resource revocation: When more resource is required the <b>exokernel</b> has to notify the application that the resource is about to be taken, the application can manage it as required (like writing the state to <a href="/topics/Computer-disk" title="Computer disk" class=fl>disk</a> or memory). </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> However, in order to allow the application to have some guaranteed resource, the <b>exokernel</b> can give each application some pages which wont ever be taken away so that if some resources are forcefully taken away then teh state of those resources can be written to these pages.</td></tr> <tr><td></td><td colspan=2><font color=gray>www.cs.rice.edu /~amsaha/Papers/Cexam/notes/node72.html</font>   (208 words)</td></tr> </table> </td> </tr> </table><body face="Arial"> <br> <table cellpadding=0> <tr> <td>  </td> <td> <table > <tr><td> </td><td colspan=2><u>[No title]</u>   <i>(Site not responding. Last check: 2007-11-05)</i></td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> The paper evaluates the <b>exokernel</b> architecture by measuring end-to-end application performance on Xok, an <b>exokernel</b> for x86-based computers, and comparing Xok's performance to the performance of two widely used 4.4BSD UNIX systems. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> XN, the <b>exokernel</b> stable storage system, provides block-level access to stable storage, exporting a buffer cache registry as well as free maps and other <a href="/topics/Computer-disk" title="Computer disk" class=fl>on-disk</a> structures. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> Since libFSes provide their own filesystem metadata layouts unknown to <b>exokernel</b>, determining access rights to <a href="/topics/Computer-disk" title="Computer disk" class=fl>disk</a> blocks is difficult.</td></tr> <tr><td></td><td colspan=2><font color=gray>www.cs.wisc.edu /~mjbrim/personal/osqual/kernels/KEGBHMPGJM97</font>   (416 words)</td></tr> </table> </td> </tr> </table><body face="Arial"> <br> <table cellpadding=0> <tr> <td>  </td> <td> <table > <tr><td> </td><td colspan=2><a href="http://www.advogato.org/person/async/diary.html?start=72">Blog for async</a></td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> <b>exokernel</b> takes the opposite approach and just provides hooks for hardware resource manipulation. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> other amusing things are that spin used modula3, and <b>exokernel</b> has neat runtime code generation (create optimal code for the specific case you need). </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> Dawson R. Engler, Frans Kaashoek and James O'Toole, <b>"Exokernel</b>: An <a href="/topics/Operating-system" title="Operating system" class=fl>Operating System</a> Architecture for Application-Level Resource Management", Proceedings of the 15th ACM Symposium on <a href="/topics/Operating-system" title="Operating system" class=fl>Operating System</a> Principles, ACM, December 1995.</td></tr> <tr><td></td><td colspan=2><font color=gray>www.advogato.org /person/async/diary.html?start=72</font>   (3678 words)</td></tr> </table> </td> </tr> </table><body face="Arial"> <br> <table cellpadding=0> <tr> <td>  </td> <td> <table > <tr><td> </td><td colspan=2><u>Homework I</u>   <i>(Site not responding. Last check: 2007-11-05)</i></td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> <b>Exokernel</b> securely binds low level hardware resources to <a href="/topics/Library-(computer-science)" title="Library (computer science)" class=fl>library</a> <a href="/topics/Operating-system" title="Operating system" class=fl>operating systems</a>. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> If <a href="/topics/File-system" title="File system" class=fl>file systems</a> are implemented by <a href="/topics/Library-(computer-science)" title="Library (computer science)" class=fl>library</a> <a href="/topics/Operating-system" title="Operating system" class=fl>operating systems</a>, <b>Exokernel</b> must securely bind <a href="/topics/Computer-disk" title="Computer disk" class=fl>disk</a> blocks to the different <a href="/topics/Library-(computer-science)" title="Library (computer science)" class=fl>library</a> <a href="/topics/Operating-system" title="Operating system" class=fl>operating systems</a>. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> In the <a href="/topics/Microkernel" title="Microkernel" class=fl>Microkernel</a> construction paper, the author measures the cost of a system call that simply returns the PID of the caller.</td></tr> <tr><td></td><td colspan=2><font color=gray>www-static.cc.gatech.edu /classes/AY2002/cs6210_spring/hw1.htm</font>   (552 words)</td></tr> </table> </td> </tr> </table><body face="Arial"> <br> <table cellpadding=0> <tr> <td>  </td> <td> <table > <tr><td> </td><td colspan=2><u>Unknown (SMEALSearch) -</u>   <i>(Site not responding. Last check: 2007-11-05)</i></td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> Traditional operating systemslimit the performance, flexibility, and functionality of applications by fixing the interface and implementation of <a href="/topics/Operating-system" title="Operating system" class=fl>operating system</a> abstractions such as interprocess communication and virtual memory. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> The <b>exokernel</b> <a href="/topics/Operating-system" title="Operating system" class=fl>operating system</a> architecture addresses this problem by providing application-level management of physical resources. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> In the <b>exokernel</b> architecture, a small <a href="/topics/Kernel-%28computer-science%29" title="Kernel %28computer science%29" class=fl>kernel</a> securely exports all hardware resources through a lowlevel interface to untrusted <a href="/topics/Library-(computer-science)" title="Library (computer science)" class=fl>library</a> <a href="/topics/Operating-system" title="Operating system" class=fl>operating systems</a>.</td></tr> <tr><td></td><td colspan=2><font color=gray>gunther.smeal.psu.edu /48617.html</font>   (260 words)</td></tr> </table> </td> </tr> </table><body face="Arial"> <br> <table cellpadding=0> <tr> <td>  </td> <td> <table > <tr><td> </td><td colspan=2><a href="http://www.acm.org/crossroads/xrds9-2/component.html">Comparing the Architectures of Component-based Operating Systems</a></td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> The <b>Exokernel</b> architecture advocates for a total extermination of all <a href="/topics/Kernel-%28computer-science%29" title="Kernel %28computer science%29" class=fl>kernel</a> abstractions. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> The <b>Exokernel</b> nucleus is no more than a skimpy protection sheet over bare hardware. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> The <b>Exokernel</b> [6] project aims at exterminating all <a href="/topics/Operating-system" title="Operating system" class=fl>operating system</a> abstractions.</td></tr> <tr><td></td><td colspan=2><font color=gray>www.acm.org /crossroads/xrds9-2/component.html</font>   (5136 words)</td></tr> </table> </td> </tr> </table><body face="Arial"> <br> <table cellpadding=0> <tr> <td>  </td> <td> <table > <tr><td> </td><td colspan=2><a href="http://lists.tunes.org/archives/lispos/1997-August.txt">[No title]</a></td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> The concept behind the <b>exokernel</b> is that the job of the <a href="/topics/Kernel-%28computer-science%29" title="Kernel %28computer science%29" class=fl>kernel</a> should *only* be "to allocate, deallocate and <a href="/topics/Multiplexing" title="Multiplexing" class=fl>multiplex</a> physical resources in a secure way". </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> This means that the <b>exokernel</b> should *not* define any hardware abstractions (like even <a href="/topics/Microkernel" title="Microkernel" class=fl>microkernels</a> do) but instead rather directly export the hardware state to user level apps that can then define whatever abstractions they desire. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> Also on David Engler's page at http://www.pdos.lcs.mit.edu/~engler/ is his thesis paper covering the <b>exokernel</b> design and implementation for the Aegis <b>exokernel</b> in a much more thorough fashion than the papers I cited earlier.</td></tr> <tr><td></td><td colspan=2><font color=gray>lists.tunes.org /archives/lispos/1997-August.txt</font>   (836 words)</td></tr> </table> </td> </tr> </table><body face="Arial"> <br> <table cellpadding=0> <tr> <td>  </td> <td> <table > <tr><td> </td><td colspan=2><a href="http://www.stanford.edu/~engler">Dawson Engler</a></td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> It is the most detailed description of what an <b>exokernel</b> is, but is rather dense. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> A more long-winded version of this paper is available in the form of my masters thesis (though the material is about 6 months behind that in the SOSP paper). </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> This is a flamy paper describing the philosophical underpinnings of the <b>exokernel</b> approach.</td></tr> <tr><td></td><td colspan=2><font color=gray>www.stanford.edu /~engler</font>   (2273 words)</td></tr> </table> </td> </tr> </table><body face="Arial"> <br> <table cellpadding=0> <tr> <td>  </td> <td> <table > <tr><td> </td><td colspan=2><a href="http://ann.lu/comments2.cgi?view=1108844292&category=forum&start=1&131">ANN.lu - Amiga Exec kernel rewritten as exokernel (comments, flat view)</a></td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> An <b>Exokernel</b> doesn't deal with the message itself, it just tells the destination there is a message and leaves it to deal with it. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> With <b>exokernels</b>, a lot of stuff is removed to the user level, and a lot of communication with the <a href="/topics/Kernel-%28computer-science%29" title="Kernel %28computer science%29" class=fl>kernel</a> (<b>exokernel</b> vs. <a href="/topics/Microkernel" title="Microkernel" class=fl>microkernel</a>) is done away with. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> <b>Exokernel’s</b> premise: “the lower the level of a primitive, the more efficiently it can be implemented”.</td></tr> <tr><td></td><td colspan=2><font color=gray>ann.lu /comments2.cgi?view=1108844292&category=forum&start=1&131</font>   (6015 words)</td></tr> </table> </td> </tr> </table><body face="Arial"> <br> <table cellpadding=0> <tr> <td>  </td> <td> <table > <tr><td> </td><td colspan=2><u>ExAmour - Home</u>   <i>(Site not responding. Last check: 2007-11-05)</i></td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> The exAmour project was founded by six students and is to be presented as their Final Independent Graduation Project at EPITECH in Paris, France. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> The <b>exokernel's</b> architecture's main goal is to share resources safely between untrusted software, while offering as much access to the hardware as possible with the least amount of abstractions as possible. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> Current efforts are being directed towards producing the first version of the <a href="/topics/Operating-system" title="Operating system" class=fl>operating system's</a> cornerstone: the <b>exokernel</b>.</td></tr> <tr><td></td><td colspan=2><font color=gray>www.examour.eu</font>   (135 words)</td></tr> </table> </td> </tr> </table><body face="Arial"> <br> <table cellpadding=0> <tr> <td>  </td> <td> <table > <tr><td> </td><td colspan=2><a href="http://lwn.net/Articles/158703">LWN: Felten on Sony's rootkit update</a></td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> The real problem with <b>exokernels</b>, however, seems to be the idea that the separation of management and protection of resources can be done securely. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> Of which I am not at all convinced: I would be surprised if an <b>exokernel</b> left on its own on the Internet would last long enough to even download the rootkit update. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> ..that borrow fundamental principles of <b>exokernels</b>, or at least the original <a href="/topics/Nemesis-%28computing%29" title="Nemesis %28computing%29" class=fl>nemesys</a> <a href="/topics/Kernel-%28computer-science%29" title="Kernel %28computer science%29" class=fl>kernel</a> was a true <b>exokernel</b>.</td></tr> <tr><td></td><td colspan=2><font color=gray>lwn.net /Articles/158703</font>   (602 words)</td></tr> </table> </td> </tr> </table><body face="Arial"> <br> <table cellpadding=0> <tr> <td>  </td> <td> <table > <tr><td> </td><td colspan=2><u>PS Seminar: Exokernel: An Operating System Architecture for Application-Level Resource Management</u>   <i>(Site not responding. Last check: 2007-11-05)</i></td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> <b>Exokernel</b> is a new <a href="/topics/Operating-system" title="Operating system" class=fl>operating system</a> architecture that securely <a href="/topics/Multiplexing" title="Multiplexing" class=fl>multiplexes</a> machine resources while permitting a high degree of application-specific customization of traditional <a href="/topics/Operating-system" title="Operating system" class=fl>operating system</a> abstractions. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> The <b>exokernel</b> architecture removes these limitations by allowing untrusted software to implement traditional <a href="/topics/Operating-system" title="Operating system" class=fl>operating system</a> abstractions entirely at application-level. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> Results from various experiments using this prototype indicate that the <b>exokernel</b> <a href="/topics/Operating-system" title="Operating system" class=fl>operating system</a> design is practical and offers an excellent combination of performance and flexibility.</td></tr> <tr><td></td><td colspan=2><font color=gray>www.cs.cmu.edu /afs/cs.cmu.edu/project/compose/pub/chopshop/www/ps-seminar/Nov20.html</font>   (183 words)</td></tr> </table> </td> </tr> </table><body face="Arial"> <br> <table cellpadding=0> <tr> <td>  </td> <td> <table > <tr><td> </td><td colspan=2><a href="http://www.cs.duke.edu/courses/cps210/spring03/readings.html">CPS 210 Readings</a></td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> <b>Exokernel</b>, built by Dawson Engler, Frans Kaashoek et al (<a href="/topics/Massachusetts-Institute-of-Technology" title="Massachusetts Institute of Technology" class=fl>MIT</a>). </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> <b>Exokernel</b> and SPIN share similar goals, but their approaches differ radically. </td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> <b>Exokernel</b> and SPIN were reactions to the <a href="/topics/Microkernel" title="Microkernel" class=fl>microkernel</a> approach of Mach, V, and other earlier systems, as discussed in the related work sections of the papers listed above.</td></tr> <tr><td></td><td colspan=2><font color=gray>www.cs.duke.edu /courses/cps210/spring03/readings.html</font>   (996 words)</td></tr> </table> </td> </tr> </table><script language="JavaScript"> <!-- // This function displays the ad results. // It must be defined above the script that calls show_ads.js // to guarantee that it is defined when show_ads.js makes the call-back. function google_ad_request_done(google_ads) { // Proceed only if we have ads to display! if (google_ads.length < 1 ) return; var s = ''; // For text ads, display each ad in turn. // In this example, each ad goes in a new row in the table. if (google_ads[0].type == 'text') { for(i = 0; i < 1; ++i) { s = '<body face="Arial"><br><table cellpadding=0><tr><td>  </td><td><table ><tr><td> </td><td colspan=2>' + '<a href="' + google_ads[i].url + '" title="' + google_ads[i].visible_url + '">' + google_ads[i].line1 + '</a>  <span style="font-size:10pt">'; if (google_info.feedback_url) { s += '<a href="' + google_info.feedback_url + '" style="color:#7070F0;text-decoration:none">(Ads by Google)</a>'; } else { s += '(Ads by Google)'; } s += '</span></td></tr>' + '<tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td>' + '<a href="' + google_ads[i].url + '" title="' + google_ads[i].visible_url + '" style="text-decoration:none;">' + google_ads[i].line2 + ' ' + google_ads[i].line3 + '</a></td></tr>' + '<tr><td></td><td colspan=2><font color=gray>' + '<a href="' + google_ads[i].url + '" title="' + google_ads[i].visible_url + '" style="text-decoration:none; color:gray;">' + google_ads[i].visible_url + '</a></font></td></tr></table></td></tr></table>'; d = document.getElementById('ad' + (i + 1)); d.innerHTML = s; d.style.display = 'block'; } s = ''; for(i = 1; i < google_ads.length; i++) { s += '<div class="r" style="margin-left: 14px"><table cellspacing=0 cellpadding=0><tr>' + // '<td valign=top><img src="/images/a.gif"/ style="padding-top: 3px; padding-right: 3px"></td>' + '<td ><a href="' + google_ads[i].url + '" title="' + google_ads[i].visible_url + '">' + google_ads[i].line1 + '<div style="text-decoration: none; ">' + google_ads[i].line2 + ' ' + google_ads[i].line3 + '</div></a>' + '<font color="gray"><a href="'+ google_ads[i].url + '" title="' + google_ads[i].visible_url + '" style="text-decoration:none; color:gray;">' + google_ads[i].visible_url + '</a></font>' + '</td></tr></table></div>' } d = document.getElementById('sky1'); d.innerHTML = s; if(s.length > 0) { document.getElementById('sky').style.display = 'block'; } } /* <body face="Arial"><br><table cellpadding=0><tr><td>  </td><td><table ><tr><td> </td><td colspan=2> <a href=" ### GOOGLE ADS[i] URL ### "> ### GOOGLE ADS[i] VISIBLE URL ### </a></td></tr> <tr><td valign=top><img style="margin-top:4px;" src=/images/a.gif></td><td></td><td> ### LINE 2 ###   ### LINE 3 ###</td></tr> <tr><td></td><td colspan=2><font color=gray> ### link ### </font>  (sponsored link)</td></tr> </table></td></tr></table> */ /* // For an image ad, display the image; there will be only one . if (google_ads[0].type == 'image') { s += '<tr><td align="center">' + '<a href="' + google_ads[0].url + '"style="text-decoration: none">' + '<img src="' + google_ads[0].image_url + '" height="' + google_ads[0].height + '" width="' + google_ads[0].width + '" border="0"></a></td></tr>'; } // Finish up anything that needs finishing up s += '</table>'; */ // document.write(s); return; } --> </script> <script language="JavaScript"> <!-- // This script sets the attributes for requesting ads. google_ad_client = "pub-9457578638026753"; google_max_num_ads = 6; google_feedback = "on"; google_ad_output = "js"; google_ad_channel = "844964098"; google_kw_type = "broad"; google_kw = "Exokernel"; google_ad_type = "text_image"; google_image_size = "728x90"; google_encoding = "latin1"; --> </script> <script language="JavaScript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> <br> <p style="margin-left:30px;font-size:13px;"><b>Try your search on: <a href="http://www.qwika.com/find/Exokernel">Qwika</a> (all wikis)</b></p> <form action=http://www.factbites.com/search.php><table width="100%" cellspacing=0 cellpadding=0 border=0><tr><td background="/images/f1.gif"><table cellspacing=0 cellpadding=0 border=0 background="/images/b.gif"><tr><td><img src="/images/f2.gif" width=38 height=37 alt=" "/></td><td><table cellspacing=0 cellpadding=0 border=0><tr><td><a href="/"><img src="/images/f3.gif" width=95 height=37 alt="Factbites" border=0 /></a><img src="/images/b.gif" width=15 height=1 alt=" "/></td><td valign=bottom><input type=text size=30 name=kp><img src="/images/b.gif" width=2 height=1 alt=" " /><input type=submit value="  Find »  " class=b2></td></tr></table></td></tr><tr><td> </td><td><span class=f> <a href="http://www.factbites.com/about_us.php">About us</a>   |   <a href="http://www.factbites.com/why_use_us.php">Why use us?</a>   |   <a href="http://www.factbites.com/reviews.php">Reviews</a>   |   <a href="http://www.factbites.com/press.php">Press</a>   |   <a href="http://www.factbites.com/contact_us.php">Contact us</a>   <br />Copyright © 2005-2007 www.factbites.com Usage implies agreement with <a href=http://www.factbites.com/terms_and_conditions.php>terms</a>.</span></td></tr></table><img src="/images/b.gif" width=450 height=1 alt=" " /></td></tr></table></form> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-317061-4"; urchinTracker(); </script> </body></html>