summaryrefslogtreecommitdiff
path: root/Mach/GNUMachRevivalProject.mdwn
diff options
context:
space:
mode:
authorTWikiGuest <web-hurd@gnu.org>2005-12-20 01:08:00 +0000
committerTWikiGuest <web-hurd@gnu.org>2005-12-20 01:08:00 +0000
commite246748e088af191bc39efb9d345be2fa3a880c6 (patch)
tree55aeddd5cf9a97cd38369892af4387a5f4b1cb24 /Mach/GNUMachRevivalProject.mdwn
parentae561eace560c37bf172f46033862633bdf06971 (diff)
none
Diffstat (limited to 'Mach/GNUMachRevivalProject.mdwn')
-rw-r--r--Mach/GNUMachRevivalProject.mdwn49
1 files changed, 49 insertions, 0 deletions
diff --git a/Mach/GNUMachRevivalProject.mdwn b/Mach/GNUMachRevivalProject.mdwn
new file mode 100644
index 00000000..6629b7ad
--- /dev/null
+++ b/Mach/GNUMachRevivalProject.mdwn
@@ -0,0 +1,49 @@
+## <a name="GNU_Mach_Revival_Project"> </a> GNU Mach Revival Project
+
+This page is the place to keep track of all those things that we need to improve in GNU Mach, to make from it a reliable (in performance and stability terms) microkernel for The Hurd. If you miss something here, **please** add it (with a short description).
+
+If you want to help with one of this tasks (thanks! ;-) ), please tell us about you in the Mailing Lists ( <http://www.gnu.org/software/hurd/help.html#TOCmail> ).
+
+**_Task List_**
+
+* Cleaning the Code. (_Assigned to: We need **YOU** here_)
+ * Clean up GNU Mach's source from unused files.
+ * Reestructure the tree in a comprehensive way.
+ * Clean up individual source files from unused functions.
+ * Rewrite ugly/hacky code keep correctness.
+
+* Updating the architecture dependant and drivers code. (_Assigned to: We need **YOU** here_)
+ * Analize architecture dependant code from NetBSD, FreeBSD, Linux, to see if would be feasible to modify GNU Mach to make use of it. There's no need to keep nothing from the existant arch dependant code in GNU Mach, so don't worry about intrusive changes. If we do this way, try to implement it without major changes in foreing code, so we can keep up-to-date easily.
+ * Write a list of the functions provided by the arch dependant code in GNU Mach that are used in core code (kern, ipc and vm directories).
+ * Once the election of the foreing kernel has been made, compare its arch dependant functions with the list previously made. Analize the best option to make both compatible.
+
+* Implementing Migrating Threads. (_Assigned to: We need **YOU** here_)
+ * Migrating Threads could help improving Mach's IPC performance and making easier the work of the scheduler.
+ * For more info, please read this paper: <http://www.usenix.org/publications/library/proceedings/sf94/ford.html>
+
+* Improving Mach's external pagers interface. (_Assigned to: We need **YOU** here_)
+ * Making this interface synchronous will heavily improve I/O performance without (almost) any drawback (also, this way we can take advantage from Migrating Threads).
+ * Implement more paging eviction policies, so they fit better with usual pagers behaviour.
+ * Implement resource accounting for external pagers.
+
+* Mach's VM. (_Assigned to: We need **YOU** here_)
+ * Clean up the mess.
+ * Provide a fast way to read/write from/to a memory object.
+ * Simplify/normalize the code.
+
+* Simplifying Mach's IPC Semantics. (_Assigned to: We need **YOU** here_)
+ * There're a lot of things in GNU Mach's IPC that **we don't need**. Track and get rid of them without many changes in Hurd sourcecode (most of the changes will affect MiG but not Hurd itself).
+
+* Temporary mappings for Client-Server memory transferencies. (_Assigned to: We need **YOU** here_)
+ * Extend Mach's IPC to provide a kind of object which represent a range of memory that will be temporary mapped into server's address space for sending/receiving data. This can help to avoid excesive memory copies.
+ * Find a way to work with unaligned memory.
+
+* New Debugger for Mach. (_Assigned to: We need **YOU** here_)
+ * Implement a _good_ debugger into the microkernel. Maybe this can be done together with the architecture dependant thing.
+
+**_Wish List_**
+
+* Interface for UserLevel non-critical drivers.
+* Sound Support ;-)
+
+-- [[Main/TWikiGuest]] - 20 Dec 2005