summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--microkernel/viengoos.mdwn2
-rw-r--r--microkernel/viengoos/building.mdwn6
-rw-r--r--microkernel/viengoos/documentation.mdwn55
-rw-r--r--microkernel/viengoos/projects.mdwn32
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