Obsolete
This is no longer valid as a Google Summer of Code project.
Madhusudan.C.S has implemented a new, fully functional
procfs as a GSoC 2008 project.
This was not the end of the story: jkoenig's
procfs
is yet another re-written and
improved version.
Although there is no standard (POSIX or other) for the layout of the /proc
pseudo-filesystem, it turned out a very useful facility in GNU/Linux and other
systems, and many tools concerned with process management use it. (ps
, top
,
htop
, gtop
, killall
, pkill
, ...)
Instead of porting all these tools to use libps (Hurd's official method for
accessing process information), they could be made to run out of the box, by
implementing a Linux-compatible /proc
filesystem for the Hurd.
The goal is to implement all /proc
functionality needed for the various process
management tools to work. (On Linux, the /proc
filesystem is used also for
debugging purposes; but this is highly system-specific anyways, so there is
probably no point in trying to duplicate this functionality as well...)
The existing partially working procfs implementation can serve as a starting point, but needs to be largely rewritten. (It should use libnetfs rather than libtrivfs; the data format needs to change to be more Linux-compatible; and it needs adaptation to newer system interfaces.)
This project requires learning translator programming, and
understanding some of the internals of process management in the Hurd. It
should not be too hard coding-wise; and the task is very nicely defined by the
existing Linux /proc
interface -- no design considerations necessary.
Note: We already have several applications for this task.
Possible mentors: Olaf Buddenhagen (antrik)
Exercise: Add or fix one piece in the existing procfs translator.