diff options
-rw-r--r-- | Mach/GNUMachRevivalProject.mdwn | 55 |
1 files changed, 27 insertions, 28 deletions
diff --git a/Mach/GNUMachRevivalProject.mdwn b/Mach/GNUMachRevivalProject.mdwn index db022a72..75307959 100644 --- a/Mach/GNUMachRevivalProject.mdwn +++ b/Mach/GNUMachRevivalProject.mdwn @@ -1,49 +1,48 @@ ## <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). +This page is a place to keep track of all those things that we need to improve in GNU Mach, so that it is a reliable both in terms of stability and performance. If you find anything missing here, please feel free to add a entry 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> ). +If you want to help with any of the task (thanks!), please send a mail to the mailing list <http://www.gnu.org/software/hurd/help.html#TOCmail> stating what task you wish to work on, so that no duplicate efforts end up. **_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. +* Clean up the Code. (Assigned to: _We need **YOU** here!_) + * Remove all dead files from the GNU Mach source tree. + * Restructure the tree in a sane way. + * Remove dead functions/variables/etc from source files. + * Rewrite ugly code. -* 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. +* Update the core architecture and drivers. (Assigned to: _We need **YOU** here!_) + * Check what NetBSD, FreeBSD and Linux do with their host specific code (i486, PPC, Sparc, ...). And if it might be wise to take that and use it in GNU Mach. There is no need to worry about purely internal API's, but the external ones shouldn't require any major changes. + * Write a list of all functions provided by the host dependant code in GNU Mach that gets used in the non-host specific code (kernel, IPC and VM). + * Once we have decided what the new internal API should look like, make a list of the new API and the old one, and try to make things as compatible as possible, but not at the expense of anything. -* 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> +* Implement Migrating Threads. (Assigned to: _We need **YOU** here!_) + * Migrating Threads (MT) could improve IPC performance and making easier the work of the scheduler. For more. -* 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. +* Improve the external pagers interface. (Assigned to: _We need **YOU** here!_) + * Making this interface synchronous should improve I/O performance significantly, without (almost) any drawbacks (we also get some advantage from MT's). + * Implement more paging eviction policies, so they fit better with usual behaviour of the pagers. * Implement resource accounting for external pagers. -* Mach's VM. (_Assigned to: We need **YOU** here_) +* 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. + * Simplify/normalise 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). +* Simplify the IPC Semantics. (Assigned to: _We need **YOU** here!_) + * There are a lot of things in GNU Mach's IPC that we don't need. Track down those things, and get rid of them without requiring many changes in the Hurd (the changes will affect MiG, but that is OK). -* 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. +* Temporary mappings for Client-Server memory transfers. (Assigned to: _We need **YOU** here!_) + * Extend Mach's IPC to provide some kind of object which can represent a range of memory that can temporarily be mapped into the servers address space for sending/receiving data. This would allow us to avoid excessive memory copies. + * Find a new 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. +* GDB remote debugging support (Assigned to: _Alfred M. Szmidt (ams)_) + * Implement support for GDB debugging via serial line and/or network. Maybe this can be done together with the host-specific work above. **_Wish List_** -* Interface for UserLevel non-critical drivers. +* Interface for userspace non-critical drivers. * Sound Support ;-) --- [[Main/TWikiGuest]] - 20 Dec 2005 +-- [[Main/SergioLopez]] - 20 Dec 2005 (Corrections by Alfred M. Szmidt) |