This was not the end of the story: jkoenig's
procfs is yet another re-written and
Although there is no standard (POSIX or other) for the layout of the
pseudo-filesystem, it turned out a very useful facility in GNU/Linux and other
systems, and many tools concerned with process management use it. (
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
/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.