help-hurd
[Top][All Lists]
Advanced

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

Re: /proc and other Linuxisms


From: Marcus Brinkmann
Subject: Re: /proc and other Linuxisms
Date: Tue, 12 Feb 2002 22:47:30 +0100
User-agent: Mutt/1.3.27i

On Tue, Feb 12, 2002 at 02:36:11PM -0500, Ludovic Courtès wrote:
> I've seen that some time ago (Dec. `99) someone asked about eventually
> implementing a procfs translator that would do something close to what Linux
> does. It seems also that Neal Walfield started to implement a procfs
> tanslator. What is now the status? What does it perform?

It's dead code.  It is based on libtrivfs, which is not a good fit for this
type of filesystems, and it provides only process-related information (pid
directories, and files with their environment and other stuff in them).

The Hurd has much better interfaces to get this info (the process message
port, and the Hurd libps library for example).

> believe that using /proc things in a program leads to non-portable
> programs, so it should just aim at giving useful pieces of information to the
> user (not the programs) I think.

Well, programs that really depend on this information usually are
non-portable.  But the Hurd has other interfaces that can be used instead,
where it doesn't, we need to write them.  In particular, because of our
modular system design, we don't need to lump everything into one directory,
but can decide where the stuff belongs to.
 
> The list archive also shows post regarding a Linux binary emulation layer? Has
> there been any work on it? Any pointers?

There are several layers.  For example, we already use the same object
format (ELF).  Then, we can provide the same glibc ABI (currently we don't,
though) in the future, which allows programs that only use glibc to access
the system's functionality to run directly on the Hurd without emulation.

At a deeper level, we can redirect kernel traps (Linux syscalls) to a
special port that can then emulate them.  The support for this is in Mach,
you just need to use it.  This would usually happen by LD_PRELOADING a
special emulation library into the binary, which would set this up.

Thanks,
Marcus

-- 
`Rhubarb is no Egyptian god.' Debian http://www.debian.org address@hidden
Marcus Brinkmann              GNU    http://www.gnu.org    address@hidden
address@hidden
http://www.marcus-brinkmann.de



reply via email to

[Prev in Thread] Current Thread [Next in Thread]