Hallo Helge,

#.  See http://lwn.net/Articles/294642 "Tangled up in threads", 19 Aug 08
#. type: Plain text
#: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
msgid ""
"Put the mapping into the first 2 Gigabytes of the process address space.  "
"This flag is supported only on x86-64, for 64-bit programs.  It was added to "
"allow thread stacks to be allocated somewhere in the first 2\\ GB of memory, "
"so as to improve context-switch performance on some early 64-bit "
"processors.  Modern x86-64 processors no longer have this performance "
"problem, so use of this flag is not required on those systems.  The "
"B<MAP_32BIT> flag is ignored when B<MAP_FIXED> is set."
msgstr ""
"Legt die Mapping in die ersten zwei Gigabyte des Prozessadressraums. Dieser "
"Schalter wird nur auf X86-64 für 64-Bit-Programme unterstützt. Er wurde "
"hinzugefügt, damit Thread-Stacks irgendwo innerhalb der ersten 2\\ GB "
"Speicher zugewiesen werden kann, damit die Leistung des Kontext-Umschaltens "
"auf einigen der ersten 64-Bit-Prozessoren erhöht wird. Moderne X86-64-"
"Prozessoren haben dieses Leistungsproblem nicht mehr, wodurch der Einsatz "
"dieses Schalters auf diesen Systemen nicht mehr benötigt wird. Der Schalter "
"B<MAP_32BIT> wird ignoriert, wenn B<MAP_FIXED> gesetzt ist."

die Mapping → das Mapping
damit Thread-Stacks … zugewiesen werden kann
→
damit Thread-Stacks … zugewiesen werden können


#.  See the pgoff overflow check in do_mmap().
#.  See the offset check in sys_mmap in arch/x86/kernel/sys_x86_64.c.
#. type: Plain text
#: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
msgid ""
"The mapping is not backed by any file; its contents are initialized to "
"zero.  The I<fd> argument is ignored; however, some implementations require "
"I<fd> to be -1 if B<MAP_ANONYMOUS> (or B<MAP_ANON>)  is specified, and "
"portable applications should ensure this.  The I<offset> argument should be "
"zero.  The use of B<MAP_ANONYMOUS> in conjunction with B<MAP_SHARED> is "
"supported on Linux only since kernel 2.4."
msgstr ""
"Diesem Mapping liegt keine Datei zugrunde; ihr Inhalt wird mit Nullen "
"initialisiert. Das Argument I<fd> wird ignoriert, einige Implementierungen "
"verlangen aber, dass I<fd> -1 ist, falls B<MAP_ANONYMOUS> (oder B<MAP_ANON>) "
"festgelegt ist, und portable Anwendungen sollten dies sicherstellen. Das "
"Argument I<offset> sollte 0 sein. Unter Linux wird die Kombination von "
"B<MAP_ANONYMOUS> mit B<MAP_SHARED> nur ab Kernelversion 2.4 unterstützt."

nur ab Kernelversion → erst ab Kernelversion


#.  commit a4ff8e8620d3f4f50ac4b41e8067b7d395056843
#. type: Plain text
#: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
msgid ""
"This flag provides behavior that is similar to B<MAP_FIXED> with respect to "
"the I<addr> enforcement, but differs in that B<MAP_FIXED_NOREPLACE> never "
"clobbers a preexisting mapped range.  If the requested range would collide "
"with an existing mapping, then this call fails with the error B<EEXIST.> "
"This flag can therefore be used as a way to atomically (with respect to "
"other threads) attempt to map an address range: one thread will succeed; all "
"others will report failure."
msgstr ""
"Dieser Schalter stellt ein Verhalten bereit, das B<MAP_FIXED> im Hinblick "
"auf die Erzwingung von I<addr> ähnelt, sich aber unterscheidet, dass "
"B<MAP_FIXED_NOREPLACE> einen bereits bestehenden, gemappten Bereich "
"durcheinanderbringt. Falls der angeforderte Bereich mit einem bestehenden "
"Mapping kollidieren würde, dann schlägt dieser Aufruf mit B<EEXIST> fehl. "
"Dieser Schalter kann daher für atomare (im Hinblick auf andere Threads) "
"Versuche, einen Adressbereich zu mappen, verwandt werden: ein Thread hat "
"Erfolg, alle anderen berichten einen Fehlschlag."

sich aber unterscheidet → sich aber dadurch unterscheidet


#. type: Plain text
#: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
msgid ""
"This flag is used for stacks.  It indicates to the kernel virtual memory "
"system that the mapping should extend downward in memory.  The return "
"address is one page lower than the memory area that is actually created in "
"the process's virtual address space.  Touching an address in the \"guard\" "
"page below the mapping will cause the mapping to grow by a page.  This "
"growth can be repeated until the mapping grows to within a page of the high "
"end of the next lower mapping, at which point touching the \"guard\" page "
"will result in a B<SIGSEGV> signal."
msgstr ""
"Dieser Schalter wird für Stacks verwandt. Er zeigt dem Kernelsystem für "
"virtuellen Speicher an, dass sich das Mapping nach unten im Speicher "
"ausdehnen soll. Die zurückgelieferte Adresse ist eine Seite tiefer als der "
"Speicherbereich, der tatsächlich im virtuellen Adressraum des Prozesses "
"erstellt wird. Wird eine Adresse in der »Wächter«-Seite unterhalb des "
"Mappings berührt, dann wächst das Mapping um eine Seite. Dieses Wachstum "
"kann wiederholt werden, bis dass Mapping bis auf eine Seite innerhalb des "
"hohen Endes des nächst-niedriegeren Mappings anwächst - zu diesem Zeitpunkt "
"führt das berühren der »Wächter«-Seite zu einem B<SIGSEGV>-Signal."

bis dass Mapping → bis das Mapping
nächst-niedriegeren → nächst-niedrigeren
das berühren → das Berühren


#. type: Plain text
#: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
msgid ""
"More generally, the desired huge page size can be configured by encoding the "
"base-2 logarithm of the desired page size in the six bits at the offset "
"B<MAP_HUGE_SHIFT>.  (A value of zero in this bit field provides the default "
"huge page size; the default huge page size can be discovered via the "
"I<Hugepagesize> field exposed by I</proc/meminfo>.)  Thus, the above two "
"constants are defined as:"
msgstr ""
"Allgemeiner kann die gewünschte große Seitengröße durch Kodierung des "
"Logarithmus zur Basis 2 der gewünschten Seitengröße in den sechs Bits am "
"Versatz B<MAP_HUGE_SHIFT> konfiguriert werden. (Ein Wert 0 in diesem Bitfeld "
"stellt die Vorgabe große Seitengröße bereit; die Vorgabe große Seitengröße "
"kann mittels des durch I</proc/meminfo> offengelegten Feldes I<Hugepagesize> "
"ermittelt werden.) Daher sind die obigen zwei Konstanten wie folgt definiert:"

»große Seitengröße« geht so überhaupt nicht. Auf die Gefahr hin, dass
dir das zu frei ist: die gewünschten großen Seiten
(nachfolgend gibt es noch mehr solche »großen Größen«)

Der Klammereinschub ist grammatisch grauenhaft. Was soll das sein,
»die Vorgabe große Seitengröße«?


Gruß Mario

Antwort per Email an