[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Some Hurd and Mach programming questions



On Fri, May 19, 2000 at 01:24:13PM +0200, Tomasz Wegrzanowski wrote:
> 1.
> How accurate are 1987-1989 CMU Mach papers if GNU Mach is considered.

Depends entirely on what specific issue you look at.
For example, the Hurd has no nameserver, but it has (still)
cthreads, and the client/server basics are of course the same.
 
> 2.
> Are filesystem protocol and other basic client-to-server protocols
> hard-coded in Mach or reside completely in Hurd ?

The protocol definitions for the Hurd servers are in the Hurd source in the
hurd/*.defs files.
 
> 6.
> How hard-wired is 1 GB max partition size.

Currently the whole disk is mmaped into the virtual memory,
which address space is limited to 1 GB. The best fix is probably
to use an array of mmaps. This is an interface change, and after it
one has to go through all the code and carefully watch out for minor tweaks
necessary.

The interface change is already in a special branch of CVS, if you are
interested in working on this.

> 9.
> Is this possible for fs translator to use its clients' data,
> so we could for example implement something like /current/task/ with
> env/ (as directory !), cwd, vmstat etc. files in it.

A current/task translator is probably possible by talking to the
proc server (I am not sure if it also has the env, but I think so).

However, there is of course a seperation between hurd (unixish) processes
and Mach tasks. tasks are not required to register themselves as a process,
in which case they can't communicate with the Hurd servers, of course,
and they would not appear in proc. (So, "process" is correcter than "task")
I don't know what "current" means to you, though. All Hurd servers are
multithreaded and usually serve multiple users/processes.

Thanks,
Marcus



Reply to: