From: ahemavathy (ahemavathy_at_hotmail.com)
Date: Mon Jan 19 2004 - 00:59:24 PST
The key concept of Exokernel systems is to separate protection from management : they protect resources but delegate management to applications. Other principals include exposing - allocation, name, revocation and information. The kernel Xok supports protected abstractions by following access control in the same manner, providing software abstractions to bind hardware and allowing applications to download code. The Exokernel allows protected sharing by following mechanisms such as software regions, hierarchically-named capabilities, wakeup predicates and critical sections. This is further optimized depending on whether it is mutual trust, unidirectional trust or mutual distrust. Over the Xok is the libOS ExOS which allows applications to override any ExOS functionality.
XN is the disk subsystem whose main purpose is to determine the access rights of a given principal to a given disk block as efficiently as possible. It achieves that goal using untrusted deterministic functions UDF's that are stored as templates. The design principles which include Ganger and Patt rules and buffer cache registry are interesting. While XN provides basic protection guarantees, C-FFS provides additional protections such as access control, atomicity etc.
The final section is about the performance the Xok. After running several benchmark applications on different kernels they come to the conclusion that while common utilities perform as well as those on UNIX, there are some that perform noticeably better on Xok. It is surprising that they admit that they don't have a good explanation for that. Some performance benefit is attributed to C-FFS. The section on extensibility was particularly interesting especially zero-touch file copying program and the Cheetah HTTP server which take advantage of the flexibility of the Xok and hence drastically improve the performance.
It was in all an interesting paper. It exposed new ideas on how to expose hardware making it easier for system optimizations.
This archive was generated by hypermail 2.1.6 : Mon Jan 19 2004 - 00:59:34 PST