diff options
-rw-r--r-- | microkernel/viengoos.mdwn | 2 | ||||
-rw-r--r-- | microkernel/viengoos/building.mdwn | 6 | ||||
-rw-r--r-- | microkernel/viengoos/documentation.mdwn | 55 | ||||
-rw-r--r-- | microkernel/viengoos/projects.mdwn | 32 |
4 files changed, 91 insertions, 4 deletions
diff --git a/microkernel/viengoos.mdwn b/microkernel/viengoos.mdwn index 3b7cdd51..09043719 100644 --- a/microkernel/viengoos.mdwn +++ b/microkernel/viengoos.mdwn @@ -21,3 +21,5 @@ check it out using, for example: * Running * [[QEMU]] * [[Hardware]] + * [[Documentation]] + * [[Projects]] diff --git a/microkernel/viengoos/building.mdwn b/microkernel/viengoos/building.mdwn index 3c27af83..9eb5e4b8 100644 --- a/microkernel/viengoos/building.mdwn +++ b/microkernel/viengoos/building.mdwn @@ -10,11 +10,9 @@ is included in the section entitled ## Viengoos build -Checkout hurd-l4: +Checkout viengoos: - cvs -z3 -d :pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co hurd-l4 - -There is a patch in the README file, to change to %%gs:0 in libl4/ia32/l4/bits/vregs.h in line 35. It should have been applied already in the checked out code. Do verify. + git clone git://git.savannah.gnu.org/hurd/viengoos.git Configure: diff --git a/microkernel/viengoos/documentation.mdwn b/microkernel/viengoos/documentation.mdwn new file mode 100644 index 00000000..d7af9632 --- /dev/null +++ b/microkernel/viengoos/documentation.mdwn @@ -0,0 +1,55 @@ +[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] + +[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU_Free_Documentation_License|/fdl]]."]]"""]] + +The most up-to-date documentation is in the source code itself. The +second best are the header files. Look in particular in the hurd +directory to understand the Viengoos API. + +There is a started but as-of-yet incomplete manual in the doc +directory, which documents the Viengoos API and the Hurd API. + +Academic Papers: + + * [Viengoos: A Framework for Stakeholder-Directed Resource + Allocation](http://walfield.org/papers/2009-walfield-viengoos-a-framework-for-stakeholder-directed-resource-allocation.pdf). By + Neal H. Walfield. Submitted to EuroSys 2009. + +General-purpose operating systems not only fail to provide adaptive +applications the information they need to intelligently adapt, but +also schedule resources in such a way that were applications to +aggressively adapt, resources would be inappropriately scheduled. The +problem is that these systems use demand as the primary indicator of +utility, which is a poor indicator of utility for adaptive +applications. + +We present a resource management framework appropriate for traditional +as well as adaptive applications. The primary difference from current +schedulers is the use of stakeholder preferences in addition to +demand. We also show how to revoke memory, compute the amount of +memory available to each principal, and account shared +memory. Finally, we introduce a prototype system, Viengoos, and +present some benchmarks that demonstrate that it can efficiently +support multiple aggressively adaptive applications simultaneously. + + * [Improving Usability via Access Decomposition and Policy + Refinement with Marcus + Brinkmann](http://walfield.org/papers/20070104-walfield-access-decomposition-policy-refinement.pdf). By + Neal H. Walfield and Marcus Brinkmann. Technical report + (submitted to HotOS 2007). + +Commodity operating systems fail to meet the security, resource +management and integration expectations of users. We propose a unified +solution based on a capability framework as it supports fine grained +objects, straightforward access propagation and virtualizable +interfaces and explore how to improve resource use via access +decomposition and policy refinement with minimum interposition. We +argue that only a small static number of scheduling policies are +needed in practice and advocate hierarchical policy specification and +central realization. diff --git a/microkernel/viengoos/projects.mdwn b/microkernel/viengoos/projects.mdwn new file mode 100644 index 00000000..a2e9f48a --- /dev/null +++ b/microkernel/viengoos/projects.mdwn @@ -0,0 +1,32 @@ +[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] + +[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU_Free_Documentation_License|/fdl]]."]]"""]] + +Some projects: + +* Minor: + +** New hash function + +The current hash function in libhurd-ihash results in a lot of +collisions when the hash table is 80% full. To overcome this, we keep +hash tables at most 30% full. This represents a fair amount of +overhead. Find a better algorithm. There can either be one that is +appropriate in the general case or one that works well in a relevant, +specific case, e.g., viengoos/object.c uses a hash to find the object +corresponding to a frame, which is keyed on its physical address. + +* Major: + +* Thesis: + +** Capability aware compiler + +Modify, e.g., gcc to understand capability semantics and teach gcc how +to optimize it, e.g., how to batch and combine calls.
\ No newline at end of file |