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: