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

Re: terminology: execution domain, personality



Martin Eberhard Schauer wrote:
> the German translation team startet the effort to update the German manpage
> translations. There was a critical response to my initial German version of
> personality.2.
> (http://www.kernel.org/doc/man-pages/online/pages/man2/personality.2.html)
>
>>> #: ../english/manpages-dev/man2/personality.2:45
>>> msgid ""
>>> "Linux supports different execution domains, or personalities, for each "
>>> "process.  Among other things, execution domains tell Linux how to map"
>>> "signal numbers into signal actions.  The execution domain system allows "
>>> "Linux to provide limited support for binaries compiled under other Unix-like "
>>> operating systems."
>
> Am I wrong to say that "execution domain" and "personality" are different names
> for the same thing?

That's certainly what the English suggests; they're offered as more
or less equivalent alternative labels.  I don't know anything about
Linux personality support, though; all the Google hits seem to be
talking about the Linux Kernel Personality software for SCO UnixWare
that groklaw had so much fun with.

> If I am right, should rewriting the paragraph be considered?

I'm reading this as "if I'm right to suggest that the manpage is
wrong to say they're the same" - correct me if I'm scrambling it!
But if the manpage is technically wrong, yes, a rewrite sounds
sensible.

> And most important: how can these terms by described in other words to get
> a translation that doesn't just import another English technical term?
>
> I found something from the founder of the Linux manpages project, Andries
> E. Brouwer:
>
> ******
> http://www.win.tue.nl/~aeb/linux/lk/lk-3.html
>
> Linux has the concept of /personality/ of an executable (since 1.1.20). The
> purpose is to make the Linux environment more similar to some other
> environment, like BSD or SCO or Solaris or older Linux, so that foreign
> or old binaries have better chances of working without modification.
> ******

A few paragraphs further on:
| The personality value is composed of a 2-byte value identifying the system
| (Linux, SVR4, SUNOS, HPUX etc), and a number of 1-bit flags. See <linux/
| personality.h>. [...]

Okay, I'll see <personality.h>:
| /*         
| * Handling of different ABIs (personalities).         
| */         
|         
| struct exec_domain;         
| struct pt_regs;
|
| extern int		register_exec_domain(struct exec_domain *);
| extern int		unregister_exec_domain(struct exec_domain *);
| extern int		__set_personality(unsigned long);

Put together these seem to imply that the manpage should say
something more like "Linux supports different personalities
(Unix-like ABIs) for each process via execution domains."

Googling for /proc/execdomains I find this:
| This file lists the execution domains currently supported by the Linux kernel,
| along with the range of personalities they support.
|
|	 0-0   Linux           [kernel]
|
| Think of execution domains as the "personality" for an operating system.
| Because other binary formats, such as Solaris, UnixWare, and FreeBSD, can be
| used with Linux, programmers can change the way the operating system treats
| system calls from these binaries by changing the personality of the task.
| Except for the PER_LINUX execution domain, different personalities can be
| implemented as dynamically loadable modules.

That first sentence definitely distinguishes the two ideas, but the
rest goes back to treating them as synonyms.

> To me it sounds like some kind of adaption of the process environment. I
> would describe execution domain as "customized process execution  
> environment".
>
> Any technical and linguistic insight is appreciated.

My last piece of Googlage seems to be saying that the execution
domain itself isn't customised; each execdomain potentially supports 
a range of personalities, and it's those which can be customised
(e.g. with the STICKY_TIMEOUTS flag).  But I'm at the limits of my
technical insight here.

It's possible that trying to explain the term "execution domain"
would be a waste of effort - if they're a thingumabob whose sole
purpose is to support personalities, the kind of explanation they
need is one that describes what personalities are and how they work!
-- 
JBR	with qualifications in linguistics, experience as a Debian
	sysadmin, and probably no clue about this particular package


Reply to: