diff options
Diffstat (limited to 'po/de/man2/mmap.2.po')
-rw-r--r-- | po/de/man2/mmap.2.po | 2305 |
1 files changed, 2305 insertions, 0 deletions
diff --git a/po/de/man2/mmap.2.po b/po/de/man2/mmap.2.po new file mode 100644 index 00000000..a58fcfef --- /dev/null +++ b/po/de/man2/mmap.2.po @@ -0,0 +1,2305 @@ +# German translation of manpages +# This file is distributed under the same license as the manpages-l10n package. +# Copyright © of this file: +# Johnny Teveßen <j.tevessen@gmx.de>, 1998. +# Martin Schulze <joey@infodrom.org>, 1998. +# Dr. Tobias Quathamer <toddy@debian.org>, 2016. +# Helge Kreutzmann <debian@helgefjell.de>, 2016, 2019-2022. +msgid "" +msgstr "" +"Project-Id-Version: manpages-l10n 4.21.0\n" +"POT-Creation-Date: 2024-03-01 17:01+0100\n" +"PO-Revision-Date: 2024-02-16 16:37+0100\n" +"Last-Translator: Helge Kreutzmann <debian@helgefjell.de>\n" +"Language-Team: German <debian-l10n-german@lists.debian.org>\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. type: TH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "mmap" +msgstr "mmap" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "2023-10-31" +msgstr "31. Oktober 2023" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Linux man-pages 6.06" +msgstr "Linux man-pages 6.06" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NAME" +msgstr "BEZEICHNUNG" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "mmap, munmap - map or unmap files or devices into memory" +msgstr "mmap, munmap - (un)mapt Dateien oder Geräte im Speicher" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "LIBRARY" +msgstr "BIBLIOTHEK" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Standard C library (I<libc>, I<-lc>)" +msgstr "Standard-C-Bibliothek (I<libc>, I<-lc>)" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SYNOPSIS" +msgstr "ÜBERSICHT" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<#include E<lt>sys/mman.hE<gt>>\n" +msgstr "B<#include E<lt>sys/mman.hE<gt>>\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"B<void *mmap(void >I<addr>B<[.>I<length>B<], size_t >I<length>B<, int >I<prot>B<, int >I<flags>B<,>\n" +"B< int >I<fd>B<, off_t >I<offset>B<);>\n" +"B<int munmap(void >I<addr>B<[.>I<length>B<], size_t >I<length>B<);>\n" +msgstr "" +"B<void *mmap(void >I<Adr>B<[.>I<laenge>B<], size_t >I<laenge>B<, int >I<prot>B<, int >I<Schalter>B<,>\n" +"B< int >I<dd>B<, off_t >I<Versatz>B<);>\n" +"B<int munmap(void >I<Adr>B<[.>I<laenge>B<], size_t >I<laenge>B<);>\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "See NOTES for information on feature test macro requirements." +msgstr "" +"Siehe ANMERKUNGEN für Informationen über Feature-Test-Makros-Anforderungen." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "DESCRIPTION" +msgstr "BESCHREIBUNG" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<mmap>() creates a new mapping in the virtual address space of the calling " +"process. The starting address for the new mapping is specified in I<addr>. " +"The I<length> argument specifies the length of the mapping (which must be " +"greater than 0)." +msgstr "" +"B<mmap>() erstellt ein neues Mapping in den virtuellen Adressraum des " +"aufrufenden Prozesses. Die Anfangsadresse für dieses neue Mapping wird in " +"I<Adr> angegeben. Das Argument I<laenge> gibt an, welche Größe das Mapping " +"haben soll (dies muss größer als 0 sein)." + +#. Before Linux 2.6.24, the address was rounded up to the next page +#. boundary; since Linux 2.6.24, it is rounded down! +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If I<addr> is NULL, then the kernel chooses the (page-aligned) address at " +"which to create the mapping; this is the most portable method of creating a " +"new mapping. If I<addr> is not NULL, then the kernel takes it as a hint " +"about where to place the mapping; on Linux, the kernel will pick a nearby " +"page boundary (but always above or equal to the value specified by I</proc/" +"sys/vm/mmap_min_addr>) and attempt to create the mapping there. If another " +"mapping already exists there, the kernel picks a new address that may or may " +"not depend on the hint. The address of the new mapping is returned as the " +"result of the call." +msgstr "" +"Falls I<Adr> NULL ist, wählt der Kernel die (Seiten-ausgerichtete) Adresse " +"aus, an der das Mapping erstellt wird. Dies ist die portabelste Methode, ein " +"neues Mapping zu erstellen. Falls I<Adr> nicht NULL ist, wertet der Kernel " +"die Adresse als Hinweis, wo das Mapping erstellt werden soll. Unter Linux " +"wird das Mapping dann eine Speicherseitengrenze in der Nähe auswählen " +"(allerdings immer identisch zu oder oberhalb von dem durch I</proc/sys/vm/" +"mmap_min_addr> festgelegten Wert) und versuchen, dort ein Mapping zu " +"erstellen. Falls dort bereits ein anderes Mapping existiert, dann wählt der " +"Kernel eine neue Adresse, die den Hinweis berücksichtigen kann, aber nicht " +"muss. Die Adresse des neuen Mappings wird als Ergebnis des Aufrufs " +"zurückgegeben." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The contents of a file mapping (as opposed to an anonymous mapping; see " +"B<MAP_ANONYMOUS> below), are initialized using I<length> bytes starting at " +"offset I<offset> in the file (or other object) referred to by the file " +"descriptor I<fd>. I<offset> must be a multiple of the page size as returned " +"by I<sysconf(_SC_PAGE_SIZE)>." +msgstr "" +"Die Inhalte eines Datei-Mappings werden initialisiert, indem I<laenge> Byte " +"aus der Datei (oder einem anderen Objekt), die durch den Dateideskriptor " +"I<dd> beschrieben wird, ab dem Versatz I<Versatz> verwendet werden. Dies ist " +"anders als beim anonymen Mapping, siehe B<MAP_ANONYMOUS> unten. I<Versatz> " +"muss ein Vielfaches der Seitengröße sein, die von I<sysconf(_SC_PAGE_SIZE)> " +"zurückgegeben wird." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"After the B<mmap>() call has returned, the file descriptor, I<fd>, can be " +"closed immediately without invalidating the mapping." +msgstr "" +"Nachdem der B<mmap>()-Aufruf zurückgekehrt ist, kann der Dateideskriptor " +"I<dd> sofort geschlossen werden, ohne dass das Mapping ungültig wird." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<prot> argument describes the desired memory protection of the mapping " +"(and must not conflict with the open mode of the file). It is either " +"B<PROT_NONE> or the bitwise OR of one or more of the following flags:" +msgstr "" +"Das Argument I<prot> beschreibt den gewünschten Speicherschutz des Mappings " +"(und darf nicht im Widerspruch zum Öffnungsmodus der Datei stehen). Es ist " +"entweder B<PROT_NONE> oder das bitweise ODER von einem oder mehreren der " +"folgenden Schalter:" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<PROT_EXEC>" +msgstr "B<PROT_EXEC>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Pages may be executed." +msgstr "Seiten können ausgeführt werden." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<PROT_READ>" +msgstr "B<PROT_READ>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Pages may be read." +msgstr "Seiten dürfen gelesen werden." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<PROT_WRITE>" +msgstr "B<PROT_WRITE>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Pages may be written." +msgstr "Seiten dürfen beschrieben werden." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<PROT_NONE>" +msgstr "B<PROT_NONE>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Pages may not be accessed." +msgstr "Auf die Seiten darf nicht zugegriffen werden." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "The flags argument" +msgstr "Das Argument »Schalter«" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<flags> argument determines whether updates to the mapping are visible " +"to other processes mapping the same region, and whether updates are carried " +"through to the underlying file. This behavior is determined by including " +"exactly one of the following values in I<flags>:" +msgstr "" +"Das Argument I<Schalter> bestimmt, ob Aktualisierungen des Mappings für " +"andere Prozesse sichtbar sind, die denselben Bereich mappen und ob " +"Aktualisierungen auch in die zugrundeliegende Datei weitergereicht werden. " +"Dieses Verhalten wird durch genau einen der folgenden Werte in I<Schalter> " +"festgelegt:" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<MAP_SHARED>" +msgstr "B<MAP_SHARED>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Share this mapping. Updates to the mapping are visible to other processes " +"mapping the same region, and (in the case of file-backed mappings) are " +"carried through to the underlying file. (To precisely control when updates " +"are carried through to the underlying file requires the use of B<msync>(2).)" +msgstr "" +"Das Mapping gemeinsam benutzen. Aktualisierungen dieses Mappings sind für " +"andere Prozesse in dem gleichen Bereich sichtbar und (falls es sich um Datei-" +"basierende Mappings handelt) werden zu der zugrundeliegenden Datei " +"weitergereicht. (Um genau zu steuern, wann Aktualisierungen zu der " +"zugrundeliegenden Datei weitergereicht werden, muss B<msync>(2) eingesetzt " +"werden.)" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<MAP_SHARED_VALIDATE> (since Linux 4.15)" +msgstr "B<MAP_SHARED_VALIDATE> (seit Linux 4.15)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This flag provides the same behavior as B<MAP_SHARED> except that " +"B<MAP_SHARED> mappings ignore unknown flags in I<flags>. By contrast, when " +"creating a mapping using B<MAP_SHARED_VALIDATE>, the kernel verifies all " +"passed flags are known and fails the mapping with the error B<EOPNOTSUPP> " +"for unknown flags. This mapping type is also required to be able to use " +"some mapping flags (e.g., B<MAP_SYNC>)." +msgstr "" +"Dieser Schalter stellt das gleiche Verhalten wie B<MAP_SHARED> bereit, außer " +"dass B<MAP_SHARED>-Mappings unbekannte Schalter in I<Schalter> ignorieren. " +"Im Gegensatz überprüft der Kernel, wenn er Mappings mittels " +"B<MAP_SHARED_VALIDATE> erstellt, dass alle übergebenen Schalter bekannt sind " +"und schlägt mit dem Fehler B<EOPNOTSUPP> bei unbekannten Schaltern fehl. " +"Dieser Mapping-Typ wird auch benötigt, um bestimmte Mapping-Schalter (z.B. " +"B<MAP_SYNC>) verwenden zu können." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<MAP_PRIVATE>" +msgstr "B<MAP_PRIVATE>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Create a private copy-on-write mapping. Updates to the mapping are not " +"visible to other processes mapping the same file, and are not carried " +"through to the underlying file. It is unspecified whether changes made to " +"the file after the B<mmap>() call are visible in the mapped region." +msgstr "" +"Erstellt ein privates, beim Kopieren zu schreibendes Mapping. " +"Aktualisierungen an dem Mapping sind für andere Prozesse, die die gleiche " +"Datei mappen, nicht sichtbar, und werden nicht an die zugrundeliegende Datei " +"weitergeleitet. Es ist nicht spezifiziert, ob Änderungen an der Datei, die " +"nach dem Aufruf von B<mmap>() erfolgen, in der gemappten Region sichtbar " +"sind." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Both B<MAP_SHARED> and B<MAP_PRIVATE> are described in POSIX.1-2001 and " +"POSIX.1-2008. B<MAP_SHARED_VALIDATE> is a Linux extension." +msgstr "" +"Sowohl B<MAP_SHARED> als auch B<MAP_PRIVATE> werden in POSIX.1-2001 und " +"POSIX.1-2008 beschrieben. B<MAP_SHARED_VALIDATE> ist eine Linux-Erweiterung." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"In addition, zero or more of the following values can be ORed in I<flags>:" +msgstr "" +"Zusätzlich können null oder mehrere der folgenden Werte mit OR in " +"I<Schalter> hinzugefügt werden:" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<MAP_32BIT> (since Linux 2.4.20, 2.6)" +msgstr "B<MAP_32BIT> (seit Linux 2.4.20, 2.6)" + +#. See http://lwn.net/Articles/294642 "Tangled up in threads", 19 Aug 08 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +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 das 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 können, 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." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<MAP_ANON>" +msgstr "B<MAP_ANON>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Synonym for B<MAP_ANONYMOUS>; provided for compatibility with other " +"implementations." +msgstr "" +"Synonym für B<MAP_ANONYMOUS>; zur Kompatibilität mit anderen " +"Implementierungen bereitgestellt." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<MAP_ANONYMOUS>" +msgstr "B<MAP_ANONYMOUS>" + +#. 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-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +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. Support for B<MAP_ANONYMOUS> in conjunction with B<MAP_SHARED> was " +"added in Linux 2.4." +msgstr "" +"Diesem Mapping liegt keine Datei zugrunde; ihr Inhalt wird mit Nullen " +"initialisiert. Das Argument I<dd> wird ignoriert, einige Implementierungen " +"verlangen aber, dass I<dd> -1 ist, falls B<MAP_ANONYMOUS> (oder B<MAP_ANON>) " +"festgelegt ist, und portable Anwendungen sollten dies sicherstellen. Das " +"Argument I<Versatz> sollte 0 sein. Die Unterstützung für B<MAP_ANONYMOUS> " +"mit B<MAP_SHARED> wurde in Linux 2.4 hinzugefügt." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<MAP_DENYWRITE>" +msgstr "B<MAP_DENYWRITE>" + +#. Introduced in 1.1.36, removed in 1.3.24. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This flag is ignored. (Long ago\\[em]Linux 2.0 and earlier\\[em]it signaled " +"that attempts to write to the underlying file should fail with B<ETXTBSY>. " +"But this was a source of denial-of-service attacks.)" +msgstr "" +"Dieser Schalter wird ignoriert. (Vor langer Zeit \\[en] Linux 2.0 und älter " +"\\[en] signalisierte er, dass Schreibversuche auf die zugrundeliegende Datei " +"mit B<ETXTBSY> fehlschlagen sollten. Dies war aber eine Quelle von " +"Diensteverweigerungsangriffen." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<MAP_EXECUTABLE>" +msgstr "B<MAP_EXECUTABLE>" + +#. Introduced in 1.1.38, removed in 1.3.24. Flag tested in proc_follow_link. +#. (Long ago, it signaled that the underlying file is an executable. +#. However, that information was not really used anywhere.) +#. Linus talked about DOS related to MAP_EXECUTABLE, but he was thinking of +#. MAP_DENYWRITE? +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "This flag is ignored." +msgstr "Dieser Schalter wird ignoriert." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<MAP_FILE>" +msgstr "B<MAP_FILE>" + +#. On some systems, this was required as the opposite of +#. MAP_ANONYMOUS -- mtk, 1 May 2007 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Compatibility flag. Ignored." +msgstr "Kompatibilitätsschalter. Ignoriert." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<MAP_FIXED>" +msgstr "B<MAP_FIXED>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Don't interpret I<addr> as a hint: place the mapping at exactly that " +"address. I<addr> must be suitably aligned: for most architectures a " +"multiple of the page size is sufficient; however, some architectures may " +"impose additional restrictions. If the memory region specified by I<addr> " +"and I<length> overlaps pages of any existing mapping(s), then the overlapped " +"part of the existing mapping(s) will be discarded. If the specified address " +"cannot be used, B<mmap>() will fail." +msgstr "" +"I<Adr> wird nicht als Hinweis interpretiert; legt das Mapping genau an " +"dieser Adresse an. I<Adr> muss geeignet ausgerichtet sein: bei den meisten " +"Architekturen reicht ein Vielfaches der Seitengröße aus, allerdings könnten " +"einige Architekturen zusätzliche Anforderungen stellen. Falls der mit I<Adr> " +"und I<laenge> festgelegte Speicherbereich bestehende Mappings überlappt, " +"dann wird der überlappende Anteil des bestehenden Mappings verworfen. Falls " +"die angegebene Adresse nicht verwandt werden kann, wird B<mmap>() " +"fehlschlagen." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Software that aspires to be portable should use the B<MAP_FIXED> flag with " +"care, keeping in mind that the exact layout of a process's memory mappings " +"is allowed to change significantly between Linux versions, C library " +"versions, and operating system releases. I<Carefully read the discussion of " +"this flag in NOTES!>" +msgstr "" +"Software, die Portierbarkeit anstrebt, sollte den Schalter B<MAP_FIXED> mit " +"Vorsicht verwenden und dabei berücksichtigen, dass sich die genaue Anordnung " +"der Mappings des Prozesses im Speicher deutlich zwischen Linuxversionen, C-" +"Bibliotheksversionen und Betriebssystemveröffentlichungen unterscheiden " +"kann. I<Lesen Sie die Erörterung dieses Schalters im Abschnitt ANMERKUNGEN " +"sorgfältig!>" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<MAP_FIXED_NOREPLACE> (since Linux 4.17)" +msgstr "B<MAP_FIXED_NOREPLACE> (seit Linux 4.17)" + +#. commit a4ff8e8620d3f4f50ac4b41e8067b7d395056843 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +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<Adr> ähnelt, sich aber dadurch 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." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Note that older kernels which do not recognize the B<MAP_FIXED_NOREPLACE> " +"flag will typically (upon detecting a collision with a preexisting mapping) " +"fall back to a \\[lq]non-B<MAP_FIXED>\\[rq] type of behavior: they will " +"return an address that is different from the requested address. Therefore, " +"backward-compatible software should check the returned address against the " +"requested address." +msgstr "" +"Beachten Sie, dass ältere Kernel, die den Schalter B<MAP_FIXED_NOREPLACE> " +"nicht erkennen, typischerweise (bei der Erkennung einer Kollision mit einem " +"bereits bestehenden Mapping) auf den Verhaltenstyp von »nicht-B<MAP_FIXED>« " +"zurückfallen: sie liefern eine Adresse zurück, die sich von der " +"angeforderten Adresse unterscheidet. Daher sollte rückwärtskompatible " +"Software die zurückgelieferte Adresse mit der angeforderten Adresse " +"vergleichen." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<MAP_GROWSDOWN>" +msgstr "B<MAP_GROWSDOWN>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +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 das Mapping bis auf eine Seite innerhalb des " +"hohen Endes des nächst-niedrigeren Mappings anwächst - zu diesem Zeitpunkt " +"führt das Berühren der »Wächter«-Seite zu einem B<SIGSEGV>-Signal." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<MAP_HUGETLB> (since Linux 2.6.32)" +msgstr "B<MAP_HUGETLB> (seit Linux 2.6.32)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Allocate the mapping using \"huge\" pages. See the Linux kernel source file " +"I<Documentation/admin-guide/mm/hugetlbpage.rst> for further information, as " +"well as NOTES, below." +msgstr "" +"Reserviert das Mapping mittels »großer« Speicherseiten. Siehe die Linux-" +"Kernelquelldatei I<Documentation/admin-guide/mm/hugetlbpage.rst> sowie die " +"nachfolgenden ANMERKUNGEN für weitere Details." + +#. type: TP +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "B<MAP_HUGE_2MB>" +msgstr "B<MAP_HUGE_2MB>" + +#. type: TQ +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "B<MAP_HUGE_1GB> (since Linux 3.8)" +msgstr "B<MAP_HUGE_1GB> (seit Linux 3.8)" + +#. See https://lwn.net/Articles/533499/ +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Used in conjunction with B<MAP_HUGETLB> to select alternative hugetlb page " +"sizes (respectively, 2\\ MB and 1\\ GB) on systems that support multiple " +"hugetlb page sizes." +msgstr "" +"Wird in Zusammenhang mit B<MAP_HUGETLB> verwandt, um alternative hugetlb-" +"Seitengrößen (respektive 2\\ MB und 1\\ GB) auf Systemen auszuwählen, die " +"mehrere hugetlb-Seitengrößen unterstützen." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +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 Größe der großen Speicherseiten 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 standardmäßige große Speicherseitengröße bereit; " +"die Vorgabegröße großer Speicherseiten kann mittels des durch I</proc/" +"meminfo> offengelegten Feldes I<Hugepagesize> ermittelt werden.) Daher sind " +"die obigen zwei Konstanten wie folgt definiert:" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"#define MAP_HUGE_2MB (21 E<lt>E<lt> MAP_HUGE_SHIFT)\n" +"#define MAP_HUGE_1GB (30 E<lt>E<lt> MAP_HUGE_SHIFT)\n" +msgstr "" +"#define MAP_HUGE_2MB (21 E<lt>E<lt> MAP_HUGE_SHIFT)\n" +"#define MAP_HUGE_1GB (30 E<lt>E<lt> MAP_HUGE_SHIFT)\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The range of huge page sizes that are supported by the system can be " +"discovered by listing the subdirectories in I</sys/kernel/mm/hugepages>." +msgstr "" +"Der von dem System unterstützte Bereich der Größe der großen Speicherseiten " +"kann durch Auflisten der Unterverzeichnisse in I</sys/kernel/mm/hugepages> " +"ermittelt werden." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<MAP_LOCKED> (since Linux 2.5.37)" +msgstr "B<MAP_LOCKED> (seit Linux 2.5.37)" + +#. If set, the mapped pages will not be swapped out. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Mark the mapped region to be locked in the same way as B<mlock>(2). This " +"implementation will try to populate (prefault) the whole range but the " +"B<mmap>() call doesn't fail with B<ENOMEM> if this fails. Therefore major " +"faults might happen later on. So the semantic is not as strong as " +"B<mlock>(2). One should use B<mmap>() plus B<mlock>(2) when major faults " +"are not acceptable after the initialization of the mapping. The " +"B<MAP_LOCKED> flag is ignored in older kernels." +msgstr "" +"Markiert den gemappten Bereich auf die gleiche Art wie B<mlock>(2). Diese " +"Implementierung wird versuchen, den gesamten Bereich vorzubelegen " +"(»prefault«) aber der Aufruf von B<mmap>() wird nicht mit B<ENOMEM> " +"fehlschlagen, falls dies nicht gelingt. Daher können später große " +"Ausnahmebehandlungen passieren. Daher ist die Semantik nicht so stark wie " +"B<mlock>(2). Sie sollten B<mmap>() mit B<mlock>(2) verwenden, wenn große " +"Ausnahmebehandlungen nach der Initialisierung des Mappings nicht " +"akzeptierbar sind. Der Schalter B<MAP_LOCKED> wird unter älteren Kerneln " +"ignoriert." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<MAP_NONBLOCK> (since Linux 2.5.46)" +msgstr "B<MAP_NONBLOCK> (seit Linux 2.5.46)" + +#. commit 54cb8821de07f2ffcd28c380ce9b93d5784b40d7 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This flag is meaningful only in conjunction with B<MAP_POPULATE>. Don't " +"perform read-ahead: create page tables entries only for pages that are " +"already present in RAM. Since Linux 2.6.23, this flag causes " +"B<MAP_POPULATE> to do nothing. One day, the combination of B<MAP_POPULATE> " +"and B<MAP_NONBLOCK> may be reimplemented." +msgstr "" +"Dieser Schalter ergibt nur im Zusammenhang mit B<MAP_POPULATE> Sinn. Es wird " +"kein Vorauslesen durchgeführt, es werden Seitentabelleneinträge nur für " +"Seiten erstellt, die bereits im RAM vorhanden sind. Seit Linux 2.6.23 führt " +"dieser Schalter dazu, dass B<MAP_POPULATE> nichts macht. Irgendwann könnte " +"die Kombination von B<MAP_POPULATE> und B<MAP_NONBLOCK> wieder implementiert " +"werden." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<MAP_NORESERVE>" +msgstr "B<MAP_NORESERVE>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Do not reserve swap space for this mapping. When swap space is reserved, " +"one has the guarantee that it is possible to modify the mapping. When swap " +"space is not reserved one might get B<SIGSEGV> upon a write if no physical " +"memory is available. See also the discussion of the file I</proc/sys/vm/" +"overcommit_memory> in B<proc>(5). Before Linux 2.6, this flag had effect " +"only for private writable mappings." +msgstr "" +"Reserviert für dieses Mapping keinen Auslagerungsspeicher. Wenn " +"Auslagerungsspeicher reserviert wird, muss garantiert werden, dass " +"Änderungen an dem Mapping möglich sind. Wird kein Auslagerungsspeicher " +"reserviert, könnte beim Schreiben ein B<SIGSEGV> empfangen werden, falls " +"kein physischer Speicher verfügbar ist. Siehe auch die Diskussion der Datei " +"I</proc/sys/vm/overcommit_memory> in B<proc>(5). Vor Linux 2.6 hatte dieser " +"Schalter nur für private, schreibbare Mappings eine Wirkung." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<MAP_POPULATE> (since Linux 2.5.46)" +msgstr "B<MAP_POPULATE> (seit Linux 2.5.46)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Populate (prefault) page tables for a mapping. For a file mapping, this " +"causes read-ahead on the file. This will help to reduce blocking on page " +"faults later. The B<mmap>() call doesn't fail if the mapping cannot be " +"populated (for example, due to limitations on the number of mapped huge " +"pages when using B<MAP_HUGETLB>). Support for B<MAP_POPULATE> in " +"conjunction with private mappings was added in Linux 2.6.23." +msgstr "" +"Belegt (»prefault«) Seitentabellen für ein Mapping. Für ein Datei-Mapping " +"führt dies zu einem Vorablesen der Datei. Dies hilft dabei, später " +"Blockierungen bei Seitenausnahmebehandlungen zu vermeiden. Der Aufruf " +"B<mmap>() schlägt nicht fehl, falls das Mapping nicht belegt werden kann " +"(beispielsweise aufgrund von Beschränkungen der Anzahl der gemappten großen " +"Seiten bei der Verwendung von B<MAP_HUGETLB>). Die Unterstützung für " +"B<MAP_POPULATE> zusammen mit privaten Mappings wurde in Linux 2.6.23 " +"hinzugefügt." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<MAP_STACK> (since Linux 2.6.27)" +msgstr "B<MAP_STACK> (seit Linux 2.6.27)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Allocate the mapping at an address suitable for a process or thread stack." +msgstr "" +"Reserverviert ein Mapping an einer Adresse, die für einen Stack eines " +"Prozesses oder Threads geeignet ist." + +#. See http://lwn.net/Articles/294642 "Tangled up in threads", 19 Aug 08 +#. commit cd98a04a59e2f94fa64d5bf1e26498d27427d5e7 +#. http://thread.gmane.org/gmane.linux.kernel/720412 +#. "pthread_create() slow for many threads; also time to revisit 64b +#. context switch optimization?" +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This flag is currently a no-op on Linux. However, by employing this flag, " +"applications can ensure that they transparently obtain support if the flag " +"is implemented in the future. Thus, it is used in the glibc threading " +"implementation to allow for the fact that some architectures may (later) " +"require special treatment for stack allocations. A further reason to employ " +"this flag is portability: B<MAP_STACK> exists (and has an effect) on some " +"other systems (e.g., some of the BSDs)." +msgstr "" +"Dieser Schalter löst derzeit nichts aus. Durch Einsatz dieses Schalters " +"können Anwendungen aber transparent sicherstellen, dass sie die " +"Unterstützung erlangen, wenn dieser Schalter in der Zukunft implementiert " +"wird. Daher wird er in der Glibc-Threading-Implementierung verwandt, um der " +"Tatsache Rechnung zu tragen, dass auf einigen Architekturen (später) eine " +"besondere Behandlung von Stack-Zuweisungen nötig sein könnte. Ein weiterer " +"Grund, diesen Schalter einzusetzen, ist die Portabilität: B<MAP_STACK> " +"existiert (und hat eine Auswirkung) auf einigen anderen Systemen (z.B. " +"einigen BSDs)." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<MAP_SYNC> (since Linux 4.15)" +msgstr "B<MAP_SYNC> (seit Linux 4.15)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This flag is available only with the B<MAP_SHARED_VALIDATE> mapping type; " +"mappings of type B<MAP_SHARED> will silently ignore this flag. This flag is " +"supported only for files supporting DAX (direct mapping of persistent " +"memory). For other files, creating a mapping with this flag results in an " +"B<EOPNOTSUPP> error." +msgstr "" +"Dieser Schalter ist nur mit dem Mapping-Typ B<MAP_SHARED_VALIDATE> " +"verfügbar. Mappings vom Typ B<MAP_SHARED> ignorieren diesen Schalter ohne " +"Rückmeldung. Dieser Schalter wird nur für Dateien, die DAX (direktes Mapping " +"von dauerhaftem Speicher) unterstützen, unterstützt. Für andere Dateien wird " +"das Erstellen eines Mappings mit diesem Schalter zu einem B<EOPNOTSUPP>-" +"Fehler führen." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Shared file mappings with this flag provide the guarantee that while some " +"memory is mapped writable in the address space of the process, it will be " +"visible in the same file at the same offset even after the system crashes or " +"is rebooted. In conjunction with the use of appropriate CPU instructions, " +"this provides users of such mappings with a more efficient way of making " +"data modifications persistent." +msgstr "" +"Gemeinsame Datei-Mappings mit diesem Schalter garantieren, dass der " +"schreibbare eingemappte Speicheranteil im Adressraum des Prozesses auch in " +"der gleichen Datei an dem gleichen Versatz selbst nach einem Systemabsturz " +"oder -neustart sichtbar ist. Im Zusammenhang mit dem Einsatz geeigneter CPU-" +"Anweisungen stellt dieses Benutzern solcher Mappings eine effizientere Art " +"bereit, solche Datenveränderungen dauerhaft zu machen." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<MAP_UNINITIALIZED> (since Linux 2.6.33)" +msgstr "B<MAP_UNINITIALIZED> (seit Linux 2.6.33)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Don't clear anonymous pages. This flag is intended to improve performance " +"on embedded devices. This flag is honored only if the kernel was configured " +"with the B<CONFIG_MMAP_ALLOW_UNINITIALIZED> option. Because of the security " +"implications, that option is normally enabled only on embedded devices (i." +"e., devices where one has complete control of the contents of user memory)." +msgstr "" +"Die anonymen Seiten nicht bereinigen. Dieser Schalter ist für die " +"Verbesserung der Leistung auf eingebetteten Systemen gedacht. Dieser " +"Schalter wird nur berücksichtigt, falls der Kernel mit der Option " +"B<CONFIG_MMAP_ALLOW_UNINITIALIZED> konfiguriert worden war. Aufgrund der " +"Sicherheitsauswirkungen wird diese Option normalerweise nur auf " +"eingebetteten Geräten (d.h. Geräten, bei denen komplette Kontrolle über die " +"Speicherinhalte besteht) aktiviert." + +#. FIXME . for later review when Issue 8 is one day released... +#. POSIX may add MAP_ANON in the future +#. http://austingroupbugs.net/tag_view_page.php?tag_id=8 +#. http://austingroupbugs.net/view.php?id=850 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Of the above flags, only B<MAP_FIXED> is specified in POSIX.1-2001 and " +"POSIX.1-2008. However, most systems also support B<MAP_ANONYMOUS> (or its " +"synonym B<MAP_ANON>)." +msgstr "" +"Von den obigen Schaltern ist nur B<MAP_FIXED> in POSIX.1-2001 und " +"POSIX.1-2008 spezifiziert. Allerdings unterstützen die meisten Systeme " +"B<MAP_ANONYMOUS> (oder sein Synonym B<MAP_ANON>)." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "munmap()" +msgstr "munmap()" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<munmap>() system call deletes the mappings for the specified address " +"range, and causes further references to addresses within the range to " +"generate invalid memory references. The region is also automatically " +"unmapped when the process is terminated. On the other hand, closing the " +"file descriptor does not unmap the region." +msgstr "" +"Der B<munmap>-Systemaufruf hebt die Mappings im angegebenen Speicherbereich " +"auf. Zukünftige Zugriffe auf diesen Adressraum erzeugen dann einen Fehler " +"vom Typ »invalid memory reference« - Ungültiger Speicherzugriff. Der " +"Adressraum wird außerdem automatisch ausgemappt, wenn der Prozess beendet " +"wird. Das Schließen des Dateideskriptors hingegen führt nicht dazu, dass der " +"Adress-Mapping aufgehoben wird." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The address I<addr> must be a multiple of the page size (but I<length> need " +"not be). All pages containing a part of the indicated range are unmapped, " +"and subsequent references to these pages will generate B<SIGSEGV>. It is " +"not an error if the indicated range does not contain any mapped pages." +msgstr "" +"Die Adresse I<Adr> muss ein Vielfaches der Seitengröße sein (für I<laenge> " +"ist das nicht der Fall). Alle Seiten, die einen Teil des angezeigten " +"Bereichs enthalten, werden ausgemappt, und nachfolgende Referenzen auf diese " +"Seiten führen zu B<SIGSEGV>. Es ist kein Fehler, falls der angezeigte " +"Bereich keine gemappten Seiten enthält." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "RETURN VALUE" +msgstr "RÜCKGABEWERT" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"On success, B<mmap>() returns a pointer to the mapped area. On error, the " +"value B<MAP_FAILED> (that is, I<(void\\ *)\\ -1>) is returned, and I<errno> " +"is set to indicate the error." +msgstr "" +"Bei Erfolg gibt B<mmap> einen Zeiger auf den gemappten Speicherbereich " +"zurück. Bei Fehlern wird B<MAP_FAILED> (I<(void\\ *)\\ -1>) zurückgegeben " +"und I<errno> gesetzt, um den Fehler anzuzeigen." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"On success, B<munmap>() returns 0. On failure, it returns -1, and I<errno> " +"is set to indicate the error (probably to B<EINVAL>)." +msgstr "" +"Bei Erfolg liefert B<munmap>() 0 zurück. Im Fehlerfall liefert es -1 und " +"I<errno> wird gesetzt, um den Fehler (wahrscheinlich B<EINVAL>) anzuzeigen." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "ERRORS" +msgstr "FEHLER" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EACCES>" +msgstr "B<EACCES>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A file descriptor refers to a non-regular file. Or a file mapping was " +"requested, but I<fd> is not open for reading. Or B<MAP_SHARED> was " +"requested and B<PROT_WRITE> is set, but I<fd> is not open in read/write " +"(B<O_RDWR>) mode. Or B<PROT_WRITE> is set, but the file is append-only." +msgstr "" +"Ein Dateideskriptor bezieht sich auf eine nicht normale Datei. Oder ein " +"Datei-Mapping wurde angefordert, aber I<dd> ist nicht zum Lesen geöffnet. " +"Oder B<MAP_SHARED> wurde erbeten und B<PROT_WRITE> ist gesetzt, aber I<dd> " +"ist nicht zum Lesen/Schreiben geöffnet (B<O_RDWR>). Oder B<PROT_WRITE> ist " +"angegeben, aber die Datei darf nur am Ende weiter beschrieben werden " +"(»append-only«)." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EAGAIN>" +msgstr "B<EAGAIN>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The file has been locked, or too much memory has been locked (see " +"B<setrlimit>(2))." +msgstr "" +"Die Datei wurde gesperrt oder zuviel Speicher wurde gesperrt (siehe " +"B<setrlimit>(2))." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EBADF>" +msgstr "B<EBADF>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<fd> is not a valid file descriptor (and B<MAP_ANONYMOUS> was not set)." +msgstr "" +"I<dd> ist kein gültiger Dateideskriptor (und B<MAP_ANONYMOUS> wurde nicht " +"gesetzt)." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EEXIST>" +msgstr "B<EEXIST>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<MAP_FIXED_NOREPLACE> was specified in I<flags>, and the range covered by " +"I<addr> and I<length> clashes with an existing mapping." +msgstr "" +"B<MAP_FIXED_NOREPLACE> wurde in I<Schalter> angegeben und der durch I<Adr> " +"und I<laenge> abgedeckte Bereich überschneidet sich mit einem bestehenden " +"Mapping." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EINVAL>" +msgstr "B<EINVAL>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"We don't like I<addr>, I<length>, or I<offset> (e.g., they are too large, or " +"not aligned on a page boundary)." +msgstr "" +"Die Adressen, die durch I<Adr>, I<laenge> oder I<Versatz> angegeben wurden, " +"sind ungültig. (Z.B. sind sie zu groß oder nicht an einer " +"Speicherseitengröße ausgerichtet.)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "(since Linux 2.6.12) I<length> was 0." +msgstr "(seit Linux 2.6.12) I<laenge> war 0." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<flags> contained none of B<MAP_PRIVATE>, B<MAP_SHARED>, or " +"B<MAP_SHARED_VALIDATE>." +msgstr "" +"I<Schalter> enthielt weder B<MAP_PRIVATE>, B<MAP_SHARED> noch " +"B<MAP_SHARED_VALIDATE>." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENFILE>" +msgstr "B<ENFILE>" + +#. This is for shared anonymous segments +#. [2.6.7] shmem_zero_setup()-->shmem_file_setup()-->get_empty_filp() +#. .TP +#. .B ENOEXEC +#. A file could not be mapped for reading. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The system-wide limit on the total number of open files has been reached." +msgstr "" +"Die systemweite Beschränkung für die Gesamtzahl offener Dateien wurde " +"erreicht." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENODEV>" +msgstr "B<ENODEV>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The underlying filesystem of the specified file does not support memory " +"mapping." +msgstr "" +"Das zugrundeliegende Dateisystem der angegebenen Datei unterstützt das " +"Speicher-Mapping nicht." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOMEM>" +msgstr "B<ENOMEM>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "No memory is available." +msgstr "Es ist kein Speicher verfügbar." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The process's maximum number of mappings would have been exceeded. This " +"error can also occur for B<munmap>(), when unmapping a region in the middle " +"of an existing mapping, since this results in two smaller mappings on either " +"side of the region being unmapped." +msgstr "" +"Die maximale Anzahl von Mappings des Prozesses würde überschritten. Dieser " +"Fehler kann auch für B<munmap>() beim Aufheben von Mappings einer Region in " +"der Mitte eines bestehenden Mappings auftreten, da dies zu zwei kleineren " +"Mappings auf jeder Seite des entmappten Bereichs führt." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"(since Linux 4.7) The process's B<RLIMIT_DATA> limit, described in " +"B<getrlimit>(2), would have been exceeded." +msgstr "" +"(seit Linux 4.7). Die Prozessbeschränkung B<RLIMIT_DATA>, beschrieben in " +"B<getrlimit>(2), würde überschritten." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"We don't like I<addr>, because it exceeds the virtual address space of the " +"CPU." +msgstr "" +"Wir mögen I<Adr> nicht, da es den virtuellen Adressraum der CPU " +"überschreitet." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EOVERFLOW>" +msgstr "B<EOVERFLOW>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"On 32-bit architecture together with the large file extension (i.e., using " +"64-bit I<off_t>): the number of pages used for I<length> plus number of " +"pages used for I<offset> would overflow I<unsigned long> (32 bits)." +msgstr "" +"Auf 32-Bit-Architekturen zusammen mit den Erweiterungen für große Dateien (d." +"h. der Verwendung von 64-Bit I<off_t>): die Anzahl der für I<laenge> sowie " +"die Anzahl der für I<Versatz> verwandten Seiten würde einen Überlauf von " +"I<unsigned long> (32-Bit) hervorrufen." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EPERM>" +msgstr "B<EPERM>" + +#. (Since Linux 2.4.25 / Linux 2.6.0.) +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<prot> argument asks for B<PROT_EXEC> but the mapped area belongs to a " +"file on a filesystem that was mounted no-exec." +msgstr "" +"Das Argument I<prot> verlangt B<PROT_EXEC>, aber der gemappte Bereich gehört " +"zu einer Datei auf einem Dateisystem, das ohne Ausführrechte eingehängt " +"wurde (»no-exec«)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The operation was prevented by a file seal; see B<fcntl>(2)." +msgstr "" +"Die Aktion wurde durch eine Dateiversiegelung verhindert; siehe B<fcntl>(2)." + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"The B<MAP_HUGETLB> flag was specified, but the caller was not privileged " +"(did not have the B<CAP_IPC_LOCK> capability) and is not a member of the " +"I<sysctl_hugetlb_shm_group> group; see the description of I</proc/sys/vm/" +"sysctl_hugetlb_shm_group> in B<proc_sys>(5)." +msgstr "" +"Der Schalter B<MAP_HUGETLB> wurde angegeben, aber der Aufrufende war nicht " +"privilegiert (verfügte nicht über die Capability B<CAP_IPC_LOCK>) und ist " +"kein Mitglied der Gruppe I<sysctl_hugetlb_shm_group>; siehe die Beschreibung " +"von I</proc/sys/vm/sysctl_hugetlb_shm_group> in B<proc_sys>(5)." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ETXTBSY>" +msgstr "B<ETXTBSY>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<MAP_DENYWRITE> was set but the object specified by I<fd> is open for " +"writing." +msgstr "" +"B<MAP_DENYWRITE> wurde angegeben, aber das durch I<dd> bezeichnete Objekt " +"ist zum Schreiben geöffnet." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Use of a mapped region can result in these signals:" +msgstr "" +"Die Verwendung eines gemappten Bereichs kann diese Signale verursachen:" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<SIGSEGV>" +msgstr "B<SIGSEGV>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Attempted write into a region mapped as read-only." +msgstr "" +"Es wurde versucht, in einen Bereich zu schreiben, der nur lesbar gemappt " +"wurde." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<SIGBUS>" +msgstr "B<SIGBUS>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Attempted access to a page of the buffer that lies beyond the end of the " +"mapped file. For an explanation of the treatment of the bytes in the page " +"that corresponds to the end of a mapped file that is not a multiple of the " +"page size, see NOTES." +msgstr "" +"Es wurde versucht, auf eine Seite des Puffers zuzugreifen, die hinter dem " +"Ende der gemappten Datei liegt. Für eine Erläuterung der Behandlung von " +"Bytes in der Seite, die dem Ende der gemappten Datei entspricht, die kein " +"Vielfaches der Seitengröße ist, siehe ANMERKUNGEN." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "ATTRIBUTES" +msgstr "ATTRIBUTE" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"For an explanation of the terms used in this section, see B<attributes>(7)." +msgstr "" +"Siehe B<attributes>(7) für eine Erläuterung der in diesem Abschnitt " +"verwandten Ausdrücke." + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Interface" +msgstr "Schnittstelle" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Attribute" +msgstr "Attribut" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Value" +msgstr "Wert" + +#. type: tbl table +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid ".na\n" +msgstr ".na\n" + +#. type: tbl table +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid ".nh\n" +msgstr ".nh\n" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"B<mmap>(),\n" +"B<munmap>()" +msgstr "" +"B<mmap>(),\n" +"B<munmap>()" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Thread safety" +msgstr "Multithread-Fähigkeit" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "MT-Safe" +msgstr "MT-Sicher" + +#. type: SH +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "VERSIONS" +msgstr "VERSIONEN" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"On some hardware architectures (e.g., i386), B<PROT_WRITE> implies " +"B<PROT_READ>. It is architecture dependent whether B<PROT_READ> implies " +"B<PROT_EXEC> or not. Portable programs should always set B<PROT_EXEC> if " +"they intend to execute code in the new mapping." +msgstr "" +"Auf einigen Hardware-Architekturen (z.B. i386) impliziert B<PROT_WRITE> " +"B<PROT_READ>. Es ist architekturabhängig, ob B<PROT_READ> B<PROT_EXEC> " +"impliziert (oder nicht). Portable Programme sollten immer B<PROT_EXEC> " +"setzen, falls sie vorhaben, Code in dem neuen Mapping auszuführen." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The portable way to create a mapping is to specify I<addr> as 0 (NULL), and " +"omit B<MAP_FIXED> from I<flags>. In this case, the system chooses the " +"address for the mapping; the address is chosen so as not to conflict with " +"any existing mapping, and will not be 0. If the B<MAP_FIXED> flag is " +"specified, and I<addr> is 0 (NULL), then the mapped address will be 0 (NULL)." +msgstr "" +"Die portierbare Art, ein Mapping zu erstellen, ist die Angabe von I<Adr> als " +"0 (NULL) und das Auslassen von B<MAP_FIXED> aus I<Schalter>. In diesem Fall " +"wählt das System die Adresse für das Mapping; die Adresse wird so gewählt, " +"dass sie mit keinem bestehenden Mapping in Konflikt steht und nicht 0 sein " +"wird. Falls der Schalter B<MAP_FIXED> angegeben und I<Adr> 0 (NULL) ist, " +"dann wird die gemappte Adresse 0 (NULL) sein." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Certain I<flags> constants are defined only if suitable feature test macros " +"are defined (possibly by default): B<_DEFAULT_SOURCE> with glibc 2.19 or " +"later; or B<_BSD_SOURCE> or B<_SVID_SOURCE> in glibc 2.19 and earlier. " +"(Employing B<_GNU_SOURCE> also suffices, and requiring that macro " +"specifically would have been more logical, since these flags are all Linux-" +"specific.) The relevant flags are: B<MAP_32BIT>, B<MAP_ANONYMOUS> (and the " +"synonym B<MAP_ANON>), B<MAP_DENYWRITE>, B<MAP_EXECUTABLE>, B<MAP_FILE>, " +"B<MAP_GROWSDOWN>, B<MAP_HUGETLB>, B<MAP_LOCKED>, B<MAP_NONBLOCK>, " +"B<MAP_NORESERVE>, B<MAP_POPULATE>, and B<MAP_STACK>." +msgstr "" +"Bestimmte I<Schalter>-Konstanten sind nur definiert, falls die geeigneten " +"Feature-Test-Makros definiert sind (möglicherweise standardmäßig): " +"B<_DEFAULT_SOURCE> mit Glibc 2.19 oder neuer; oder B<_BSD_SOURCE> oder " +"B<_SVID_SOURCE> in Glibc 2.19 und älter. (Es reicht auch aus, B<_GNU_SOURCE> " +"einzusetzen, und dieses Makro zu verlangen, wäre logischer gewesen, da alle " +"diese Schalter Linux-spezifisch sind). Die relevanten Schalter sind: " +"B<MAP_32BIT>, B<MAP_ANONYMOUS> (und das Synonym B<MAP_ANON>), " +"B<MAP_DENYWRITE>, B<MAP_EXECUTABLE>, B<MAP_FILE>, B<MAP_GROWSDOWN>, " +"B<MAP_HUGETLB>, B<MAP_LOCKED>, B<MAP_NONBLOCK>, B<MAP_NORESERVE>, " +"B<MAP_POPULATE> und B<MAP_STACK>." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "C library/kernel differences" +msgstr "Unterschiede C-Bibliothek/Kernel" + +#. Since around glibc 2.1/2.2, depending on the platform. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This page describes the interface provided by the glibc B<mmap>() wrapper " +"function. Originally, this function invoked a system call of the same " +"name. Since Linux 2.4, that system call has been superseded by B<mmap2>(2), " +"and nowadays the glibc B<mmap>() wrapper function invokes B<mmap2>(2) with " +"a suitably adjusted value for I<offset>." +msgstr "" +"Diese Seite beschreibt die durch den B<mmap>()-Wrapper der Glibc " +"bereitgestellte Funktion. Ursprünglich rief diese Funktion einen " +"Systemaufruf mit dem gleichen Namen auf. Seit Linux 2.4 wurde dieser " +"Systemaufruf durch B<mmap2>(2) ersetzt und heutzutage ruft die " +"Wrapperfunktion B<mmap>() der Glibc B<mmap2>(2) mit einem geeignet " +"angepassten Wert für I<Versatz> auf." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "STANDARDS" +msgstr "STANDARDS" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "POSIX.1-2008." +msgstr "POSIX.1-2008." + +#. type: SH +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "HISTORY" +msgstr "GESCHICHTE" + +#. SVr4 documents additional error codes ENXIO and ENODEV. +#. SUSv2 documents additional error codes EMFILE and EOVERFLOW. +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "POSIX.1-2001, SVr4, 4.4BSD." +msgstr "POSIX.1-2001, SVr4, 4.4BSD." + +#. POSIX.1-2001: It shall be defined to -1 or 0 or 200112L. +#. -1: unavailable, 0: ask using sysconf(). +#. glibc defines it to 1. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"On POSIX systems on which B<mmap>(), B<msync>(2), and B<munmap>() are " +"available, B<_POSIX_MAPPED_FILES> is defined in I<E<lt>unistd.hE<gt>> to a " +"value greater than 0. (See also B<sysconf>(3).)" +msgstr "" +"Auf POSIX-Systemen, auf denen B<mmap>(), B<msync>(2) und B<munmap>() " +"verfügbar sind, ist B<_POSIX_MAPPED_FILES> in I<E<lt>unistd.hE<gt>> auf " +"einen Wert größer 0 definiert. (Siehe auch B<sysconf>(3).)" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NOTES" +msgstr "ANMERKUNGEN" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Memory mapped by B<mmap>() is preserved across B<fork>(2), with the same " +"attributes." +msgstr "" +"Speicher, der mit B<mmap>() gemappt wurde, wird über B<fork>(2) hinweg mit " +"den gleichen Attributen erhalten." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A file is mapped in multiples of the page size. For a file that is not a " +"multiple of the page size, the remaining bytes in the partial page at the " +"end of the mapping are zeroed when mapped, and modifications to that region " +"are not written out to the file. The effect of changing the size of the " +"underlying file of a mapping on the pages that correspond to added or " +"removed regions of the file is unspecified." +msgstr "" +"Eine Datei wird in Vielfachen der Seitengröße gemappt. Für eine Datei, die " +"nicht ein Vielfaches der Seitengröße ist, werden die verbliebenen Bytes in " +"der unvollständigen Seite am Ende des Mappings beim Mappen mit Nullen " +"überschrieben und Änderungen an diesem Bereich werden nicht in die Datei " +"geschrieben. Es ist nicht spezifiziert, wie sich die Größenänderung der " +"zugrundeliegenden Datei auf das Mapping der Seiten, die hinzugefügten oder " +"entfernten Regionen der Datei entsprechen, auswirkt." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"An application can determine which pages of a mapping are currently resident " +"in the buffer/page cache using B<mincore>(2)." +msgstr "" +"Durch Verwendung von B<mincore>(2) kann eine Anwendung ermitteln, welche " +"Seiten eines Mappings sich derzeit im Puffer/Seitenzwischenspeicher befinden." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Using MAP_FIXED safely" +msgstr "MAP_FIXED sicher benutzen" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The only safe use for B<MAP_FIXED> is where the address range specified by " +"I<addr> and I<length> was previously reserved using another mapping; " +"otherwise, the use of B<MAP_FIXED> is hazardous because it forcibly removes " +"preexisting mappings, making it easy for a multithreaded process to corrupt " +"its own address space." +msgstr "" +"Der einzige sichere Anwendungsfall für B<MAP_FIXED> ist, falls der durch " +"I<Adr> und I<laenge> festgelegte Adressbereich vorher durch ein anderes " +"Mapping reserviert wurde; andernfalls ist die Verwendung von B<MAP_FIXED> " +"gefährlich, da sie bereits bestehende Mappings zwangsweise entfernt, wodurch " +"es für einen Prozess mit mehreren Threads leicht wird, seinen eigenen " +"Adressraum zu beschädigen." + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"For example, suppose that thread A looks through I</proc/>pidI</maps> in " +"order to locate an unused address range that it can map using B<MAP_FIXED>, " +"while thread B simultaneously acquires part or all of that same address " +"range. When thread A subsequently employs B<mmap(MAP_FIXED)>, it will " +"effectively clobber the mapping that thread B created. In this scenario, " +"thread B need not create a mapping directly; simply making a library call " +"that, internally, uses B<dlopen>(3) to load some other shared library, will " +"suffice. The B<dlopen>(3) call will map the library into the process's " +"address space. Furthermore, almost any library call may be implemented in a " +"way that adds memory mappings to the address space, either with this " +"technique, or by simply allocating memory. Examples include B<brk>(2), " +"B<malloc>(3), B<pthread_create>(3), and the PAM libraries E<.UR http://www." +"linux-pam.org> E<.UE .>" +msgstr "" +"Nehmen wir beispielsweise an, dass Thread A I</proc/>PIDI</maps> durchsucht, " +"um einen nicht benutzten Adressbereich zu finden, den er mittels " +"B<MAP_FIXED> mappen kann, während Thread B gleichzeitig Teile des gleichen " +"Adressbereichs (oder den gesamten Adressbereich) erlangt. Wenn Thread A " +"anschließend B<mmap(MAP_FIXED)> einsetzt, wird es das Mapping, das Thread B " +"erstellte, durcheinanderbringen. In diesem Szenario muss Thread B nicht das " +"Mapping direkt erstellen: einfach ein Aufruf einer Bibliotheksfunktion, die " +"intern B<dlopen>(3) zum Laden einer anderen dynamische Bibliothek verwendet, " +"reicht aus. Der Aufruf von B<dlopen>(3) wird die Bibliothek in den " +"Adressraum des Prozesses einmappen. Desweiteren kann fast jeder " +"Bibliotheksaufruf auf eine Art implementiert sein, die Speicher-Mappings zu " +"dem Adressraum hinzufügt, entweder mit dieser Technik oder einfach durch " +"Reservierung von Speicher. Beispiele sind B<brk>(2), B<malloc>(3), " +"B<pthread_create>(3) und die PAM-Bibliotheken E<.UR http://www.linux-pam." +"org> E<.UE .>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Since Linux 4.17, a multithreaded program can use the B<MAP_FIXED_NOREPLACE> " +"flag to avoid the hazard described above when attempting to create a mapping " +"at a fixed address that has not been reserved by a preexisting mapping." +msgstr "" +"Seit Linux 4.17 kann ein Multithread-Programm den Schalter " +"B<MAP_FIXED_NOREPLACE> verwenden, um die oben beschriebene Gefahr zu " +"vermeiden, dass ein Mapping an einer festen Adresse versucht wird, die nicht " +"durch ein bereits existierendes Mapping reserviert wurde." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Timestamps changes for file-backed mappings" +msgstr "Zeitstempeländerungen für Datei-basierte Mappings" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"For file-backed mappings, the I<st_atime> field for the mapped file may be " +"updated at any time between the B<mmap>() and the corresponding unmapping; " +"the first reference to a mapped page will update the field if it has not " +"been already." +msgstr "" +"Für Datei-basierte Mappings wird das Feld I<st_atime> für die gemappte Datei " +"zu jedem Zeitpunkt zwischen B<mmap>() und dem entsprechenden Entmappen " +"aufgerufen werden; die erste Referenz auf die gemappte Seite wird das Feld " +"aktualisieren, falls es nicht bereits erfolgt ist." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<st_ctime> and I<st_mtime> field for a file mapped with B<PROT_WRITE> " +"and B<MAP_SHARED> will be updated after a write to the mapped region, and " +"before a subsequent B<msync>(2) with the B<MS_SYNC> or B<MS_ASYNC> flag, if " +"one occurs." +msgstr "" +"Das Feld I<st_ctime> und I<st_mtime> für eine mit B<PROT_WRITE> und " +"B<MAP_SHARED> gemappte Datei wird nach einem Schreibzugriff auf den " +"gemappten Bereich und vor dem nachfolgenden B<msync>(2) mit den Schalter " +"B<MS_SYNC> oder B<MS_ASYNC>, falls dieser erfolgt, aktualisiert." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Huge page (Huge TLB) mappings" +msgstr "Mappings großer Speicherseiten (Huge TLB)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"For mappings that employ huge pages, the requirements for the arguments of " +"B<mmap>() and B<munmap>() differ somewhat from the requirements for " +"mappings that use the native system page size." +msgstr "" +"Für Mappings, die große Speicherseiten einsetzen, unterscheiden sich die " +"Anforderungen für die Argumente von B<mmap>() und B<munmap>() etwas von den " +"Anforderungen für Mappings, die die native Systemseitengröße verwenden." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"For B<mmap>(), I<offset> must be a multiple of the underlying huge page " +"size. The system automatically aligns I<length> to be a multiple of the " +"underlying huge page size." +msgstr "" +"Für B<mmap>() muss I<Versatz> ein Vielfaches der unterliegenden Größe der " +"großen Speicherseiten sein. Das System richtet I<laenge> automatisch aus, " +"dass es ein Vielfaches der unterliegenden Größe der großen Speicherseiten " +"ist." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"For B<munmap>(), I<addr>, and I<length> must both be a multiple of the " +"underlying huge page size." +msgstr "" +"Für B<munmap>() müssen sowohl I<Adr> als auch I<laenge> ein Vielfaches der " +"unterliegenden Größe der großen Speicherseiten sein." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "BUGS" +msgstr "FEHLER" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"On Linux, there are no guarantees like those suggested above under " +"B<MAP_NORESERVE>. By default, any process can be killed at any moment when " +"the system runs out of memory." +msgstr "" +"Unter Linux gibt es keine Garantien, wie die, die unter B<MAP_NORESERVE> " +"vorgeschlagen werden. Standardmäßig kann jeder Prozess jederzeit getötet " +"werden, wenn dem System der Speicher ausgeht." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Before Linux 2.6.7, the B<MAP_POPULATE> flag has effect only if I<prot> is " +"specified as B<PROT_NONE>." +msgstr "" +"Vor Linux 2.6.7 hatte der Schalter B<MAP_POPULATE> nur einen Effekt, falls " +"I<prot> als B<PROT_NONE> festgelegt ist." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"SUSv3 specifies that B<mmap>() should fail if I<length> is 0. However, " +"before Linux 2.6.12, B<mmap>() succeeded in this case: no mapping was " +"created and the call returned I<addr>. Since Linux 2.6.12, B<mmap>() fails " +"with the error B<EINVAL> for this case." +msgstr "" +"SUSv3 spezifiziert, dass B<mmap>() fehlschlagen soll, falls I<laenge> 0 ist. " +"Vor Linux 2.6.12 war B<mmap>() in diesem Fall allerdings erfolgreich: es " +"wurde kein Mapping erstellt und der Aufruf lieferte I<Adr> zurück. Seit " +"Linux 2.6.12 schlägt es in diesem Fall mit dem Fehler B<EINVAL> fehl." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"POSIX specifies that the system shall always zero fill any partial page at " +"the end of the object and that system will never write any modification of " +"the object beyond its end. On Linux, when you write data to such partial " +"page after the end of the object, the data stays in the page cache even " +"after the file is closed and unmapped and even though the data is never " +"written to the file itself, subsequent mappings may see the modified " +"content. In some cases, this could be fixed by calling B<msync>(2) before " +"the unmap takes place; however, this doesn't work on B<tmpfs>(5) (for " +"example, when using the POSIX shared memory interface documented in " +"B<shm_overview>(7))." +msgstr "" +"POSIX spezifiziert, dass das System immer jede teilweise gefüllte Seite am " +"Ende des Objektes mit Nullen auffüllen muss und dass das System niemals " +"Änderungen an dem Objekt hinter seinem Ende schreibt. Unter Linux verbleiben " +"sämtliche geschriebenen Daten in solchen Teilseiten nach dem Ende des " +"Objektes im Seitenzwischenspeicher, selbst nachdem die Datei geschlossen und " +"entmappt wurde und selbst obwohl die Daten niemals zu der Datei selbst " +"geschrieben wurden, könnten nachfolgende Mappings die veränderten Inhalte " +"sehen. In einigen Fällen könnte dies durch einen Aufruf von B<msync>(2), " +"bevor das Aufheben des Mappings stattfindet, behoben werden, allerdings " +"funktioniert dies nicht auf B<tmpfs>(5) (beispielsweise beim Einsatz der " +"POSIX-Schnittstelle für gemeinsamen Speicher, wie in B<shm_overview>(7) " +"dokumentiert)." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "EXAMPLES" +msgstr "BEISPIELE" + +#. FIXME . Add an example here that uses an anonymous shared region for +#. IPC between parent and child. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The following program prints part of the file specified in its first command-" +"line argument to standard output. The range of bytes to be printed is " +"specified via offset and length values in the second and third command-line " +"arguments. The program creates a memory mapping of the required pages of " +"the file and then uses B<write>(2) to output the desired bytes." +msgstr "" +"Das nachfolgende Programm gibt Teile der als sein erstes " +"Befehlszeilenargument übergebenen Datei auf die Standardausgabe aus. Der " +"ausgegebene Byte-Bereich wird mittels des Versatzes und des Längenwertes im " +"zweiten und dritten Befehlszeilenargument angegeben. Das Programm erstellt " +"ein Speicher-Mapping der benötigten Seiten der Datei und verwendet " +"B<write>(2), um die gewünschten Bytes auszugeben." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Program source" +msgstr "Programmquelltext" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid "" +"#include E<lt>fcntl.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>sys/mman.hE<gt>\n" +"#include E<lt>sys/stat.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +"\\&\n" +"#define handle_error(msg) \\e\n" +" do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" +"\\&\n" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int fd;\n" +" char *addr;\n" +" off_t offset, pa_offset;\n" +" size_t length;\n" +" ssize_t s;\n" +" struct stat sb;\n" +"\\&\n" +" if (argc E<lt> 3 || argc E<gt> 4) {\n" +" fprintf(stderr, \"%s file offset [length]\\en\", argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" fd = open(argv[1], O_RDONLY);\n" +" if (fd == -1)\n" +" handle_error(\"open\");\n" +"\\&\n" +" if (fstat(fd, &sb) == -1) /* To obtain file size */\n" +" handle_error(\"fstat\");\n" +"\\&\n" +" offset = atoi(argv[2]);\n" +" pa_offset = offset & \\[ti](sysconf(_SC_PAGE_SIZE) - 1);\n" +" /* offset for mmap() must be page aligned */\n" +"\\&\n" +" if (offset E<gt>= sb.st_size) {\n" +" fprintf(stderr, \"offset is past end of file\\en\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" if (argc == 4) {\n" +" length = atoi(argv[3]);\n" +" if (offset + length E<gt> sb.st_size)\n" +" length = sb.st_size - offset;\n" +" /* Can\\[aq]t display bytes past end of file */\n" +"\\&\n" +" } else { /* No length arg ==E<gt> display to end of file */\n" +" length = sb.st_size - offset;\n" +" }\n" +"\\&\n" +" addr = mmap(NULL, length + offset - pa_offset, PROT_READ,\n" +" MAP_PRIVATE, fd, pa_offset);\n" +" if (addr == MAP_FAILED)\n" +" handle_error(\"mmap\");\n" +"\\&\n" +" s = write(STDOUT_FILENO, addr + offset - pa_offset, length);\n" +" if (s != length) {\n" +" if (s == -1)\n" +" handle_error(\"write\");\n" +"\\&\n" +" fprintf(stderr, \"partial write\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" munmap(addr, length + offset - pa_offset);\n" +" close(fd);\n" +"\\&\n" +" exit(EXIT_SUCCESS);\n" +"}\n" +msgstr "" +"#include E<lt>fcntl.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>sys/mman.hE<gt>\n" +"#include E<lt>sys/stat.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +"\\&\n" +"#define handle_error(msg) \\e\n" +" do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" +"\\&\n" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int fd;\n" +" char *addr;\n" +" off_t offset, pa_offset;\n" +" size_t length;\n" +" ssize_t s;\n" +" struct stat sb;\n" +"\\&\n" +" if (argc E<lt> 3 || argc E<gt> 4) {\n" +" fprintf(stderr, \"%s Dateiversatz [Länge]\\en\", argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" fd = open(argv[1], O_RDONLY);\n" +" if (fd == -1)\n" +" handle_error(\"open\");\n" +"\\&\n" +" if (fstat(fd, &sb) == -1) /* Um die Dateigröße zu erhalten */\n" +" handle_error(\"fstat\");\n" +"\\&\n" +" offset = atoi(argv[2]);\n" +" pa_offset = offset & \\[ti](sysconf(_SC_PAGE_SIZE) - 1);\n" +" /* Versatz für mmap() muss an der Seite ausgerichtet sein */\n" +"\\&\n" +" if (offset E<gt>= sb.st_size) {\n" +" fprintf(stderr, \"Versatz ist hinter dem Dateiende\\en\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" if (argc == 4) {\n" +" length = atoi(argv[3]);\n" +" if (offset + length E<gt> sb.st_size)\n" +" length = sb.st_size - offset;\n" +" /* Bytes hinter dem Dateiende können nicht angezeigt werden */\n" +"\\&\n" +" } else { /* Kein Längen-Argument ==E<gt> Anzeige bis zum Dateiende */\n" +" length = sb.st_size - offset;\n" +" }\n" +"\\&\n" +" addr = mmap(NULL, length + offset - pa_offset, PROT_READ,\n" +" MAP_PRIVATE, fd, pa_offset);\n" +" if (addr == MAP_FAILED)\n" +" handle_error(\"mmap\");\n" +"\\&\n" +" s = write(STDOUT_FILENO, addr + offset - pa_offset, length);\n" +" if (s != length) {\n" +" if (s == -1)\n" +" handle_error(\"write\");\n" +"\\&\n" +" fprintf(stderr, \"Schreiben unvollständig\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" munmap(addr, length + offset - pa_offset);\n" +" close(fd);\n" +"\\&\n" +" exit(EXIT_SUCCESS);\n" +"}\n" + +#. SRC END +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SEE ALSO" +msgstr "SIEHE AUCH" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<ftruncate>(2), B<getpagesize>(2), B<memfd_create>(2), B<mincore>(2), " +"B<mlock>(2), B<mmap2>(2), B<mprotect>(2), B<mremap>(2), B<msync>(2), " +"B<remap_file_pages>(2), B<setrlimit>(2), B<shmat>(2), B<userfaultfd>(2), " +"B<shm_open>(3), B<shm_overview>(7)" +msgstr "" +"B<ftruncate>(2), B<getpagesize>(2), B<memfd_create>(2), B<mincore>(2), " +"B<mlock>(2), B<mmap2>(2), B<mprotect>(2), B<mremap>(2), B<msync>(2), " +"B<remap_file_pages>(2), B<setrlimit>(2), B<shmat>(2), B<userfaultfd>(2), " +"B<shm_open>(3), B<shm_overview>(7)" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The descriptions of the following files in B<proc>(5): I</proc/>pidI</maps>, " +"I</proc/>pidI</map_files>, and I</proc/>pidI</smaps>." +msgstr "" +"Die Beschreibung der folgenden Dateien in B<proc>(5): I</proc/>PIDI</maps>, " +"I</proc/>PIDI</map_files> und I</proc/>PIDI</smaps>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128\\[en]129 and 389\\[en]391." +msgstr "" +"B.O. Gallmeister, POSIX.4, O'Reilly, Seiten 128\\[en]129 und 389\\[en]391." + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2023-02-05" +msgstr "5. Februar 2023" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "Linux man-pages 6.03" + +#. type: TP +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<MAP_HUGE_2MB>, B<MAP_HUGE_1GB> (since Linux 3.8)" +msgstr "B<MAP_HUGE_2MB>, B<MAP_HUGE_1GB> (seit Linux 3.8)" + +#. type: Plain text +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<MAP_HUGETLB> flag was specified, but the caller was not privileged " +"(did not have the B<CAP_IPC_LOCK> capability) and is not a member of the " +"I<sysctl_hugetlb_shm_group> group; see the description of I</proc/sys/vm/" +"sysctl_hugetlb_shm_group> in" +msgstr "" +"Der Schalter B<MAP_HUGETLB> wurde angegeben, aber der Aufrufende war nicht " +"privilegiert (verfügte nicht über die Capability B<CAP_IPC_LOCK>) und ist " +"kein Mitglied der Gruppe I<sysctl_hugetlb_shm_group>; siehe die Beschreibung " +"von I</proc/sys/vm/sysctl_hugetlb_shm_group> in" + +#. SVr4 documents additional error codes ENXIO and ENODEV. +#. SUSv2 documents additional error codes EMFILE and EOVERFLOW. +#. type: Plain text +#: debian-bookworm +msgid "POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD." +msgstr "POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD." + +#. type: Plain text +#: debian-bookworm +msgid "" +"For example, suppose that thread A looks through I</proc/E<lt>pidE<gt>/maps> " +"in order to locate an unused address range that it can map using " +"B<MAP_FIXED>, while thread B simultaneously acquires part or all of that " +"same address range. When thread A subsequently employs B<mmap(MAP_FIXED)>, " +"it will effectively clobber the mapping that thread B created. In this " +"scenario, thread B need not create a mapping directly; simply making a " +"library call that, internally, uses B<dlopen>(3) to load some other shared " +"library, will suffice. The B<dlopen>(3) call will map the library into the " +"process's address space. Furthermore, almost any library call may be " +"implemented in a way that adds memory mappings to the address space, either " +"with this technique, or by simply allocating memory. Examples include " +"B<brk>(2), B<malloc>(3), B<pthread_create>(3), and the PAM libraries E<.UR " +"http://www.linux-pam.org> E<.UE .>" +msgstr "" +"Nehmen wir beispielsweise an, dass Thread A I</proc/E<lt>PIDE<gt>/maps> " +"durchsucht, um einen nicht benutzten Adressbereich zu finden, den er mittels " +"B<MAP_FIXED> mappen kann, während Thread B gleichzeitig Teile des gleichen " +"Adressbereichs (oder den gesamten Adressbereich) erlangt. Wenn Thread A " +"anschließend B<mmap(MAP_FIXED)> einsetzt, wird es das Mapping, das Thread B " +"erstellte, durcheinanderbringen. In diesem Szenario muss Thread B nicht das " +"Mapping direkt erstellen: einfach ein Aufruf einer Bibliotheksfunktion, die " +"intern B<dlopen>(3) zum Laden einer anderen dynamische Bibliothek verwendet, " +"reicht aus. Der Aufruf von B<dlopen>(3) wird die Bibliothek in den " +"Adressraum des Prozesses einmappen. Desweiteren kann fast jeder " +"Bibliotheksaufruf auf eine Art implementiert sein, die Speicher-Mappings zu " +"dem Adressraum hinzufügt, entweder mit dieser Technik oder einfach durch " +"Reservierung von Speicher. Beispiele sind B<brk>(2), B<malloc>(3), " +"B<pthread_create>(3) und die PAM-Bibliotheken E<.UR http://www.linux-pam." +"org> E<.UE .>" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"#include E<lt>fcntl.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>sys/mman.hE<gt>\n" +"#include E<lt>sys/stat.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +msgstr "" +"#include E<lt>fcntl.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>sys/mman.hE<gt>\n" +"#include E<lt>sys/stat.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"#define handle_error(msg) \\e\n" +" do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" +msgstr "" +"#define handle_error(msg) \\e\n" +" do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int fd;\n" +" char *addr;\n" +" off_t offset, pa_offset;\n" +" size_t length;\n" +" ssize_t s;\n" +" struct stat sb;\n" +msgstr "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int fd;\n" +" char *addr;\n" +" off_t offset, pa_offset;\n" +" size_t length;\n" +" ssize_t s;\n" +" struct stat sb;\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (argc E<lt> 3 || argc E<gt> 4) {\n" +" fprintf(stderr, \"%s file offset [length]\\en\", argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" +" if (argc E<lt> 3 || argc E<gt> 4) {\n" +" fprintf(stderr, \"%s Dateiversatz [Länge]\\en\", argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" fd = open(argv[1], O_RDONLY);\n" +" if (fd == -1)\n" +" handle_error(\"open\");\n" +msgstr "" +" fd = open(argv[1], O_RDONLY);\n" +" if (fd == -1)\n" +" handle_error(\"open\");\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (fstat(fd, &sb) == -1) /* To obtain file size */\n" +" handle_error(\"fstat\");\n" +msgstr "" +" if (fstat(fd, &sb) == -1) /* Um die Dateigröße zu erhalten */\n" +" handle_error(\"fstat\");\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" offset = atoi(argv[2]);\n" +" pa_offset = offset & \\[ti](sysconf(_SC_PAGE_SIZE) - 1);\n" +" /* offset for mmap() must be page aligned */\n" +msgstr "" +" offset = atoi(argv[2]);\n" +" pa_offset = offset & \\[ti](sysconf(_SC_PAGE_SIZE) - 1);\n" +" /* Versatz für mmap() muss an der Seite ausgerichtet sein */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (offset E<gt>= sb.st_size) {\n" +" fprintf(stderr, \"offset is past end of file\\en\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" +" if (offset E<gt>= sb.st_size) {\n" +" fprintf(stderr, \"Versatz ist hinter dem Dateiende\\en\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (argc == 4) {\n" +" length = atoi(argv[3]);\n" +" if (offset + length E<gt> sb.st_size)\n" +" length = sb.st_size - offset;\n" +" /* Can\\[aq]t display bytes past end of file */\n" +msgstr "" +" if (argc == 4) {\n" +" length = atoi(argv[3]);\n" +" if (offset + length E<gt> sb.st_size)\n" +" length = sb.st_size - offset;\n" +" /* Bytes hinter dem Dateiende können nicht angezeigt werden */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" } else { /* No length arg ==E<gt> display to end of file */\n" +" length = sb.st_size - offset;\n" +" }\n" +msgstr "" +" } else { /* Kein Längen-Argument ==E<gt> Anzeige bis zum Dateiende */\n" +" length = sb.st_size - offset;\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" addr = mmap(NULL, length + offset - pa_offset, PROT_READ,\n" +" MAP_PRIVATE, fd, pa_offset);\n" +" if (addr == MAP_FAILED)\n" +" handle_error(\"mmap\");\n" +msgstr "" +" addr = mmap(NULL, length + offset - pa_offset, PROT_READ,\n" +" MAP_PRIVATE, fd, pa_offset);\n" +" if (addr == MAP_FAILED)\n" +" handle_error(\"mmap\");\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" s = write(STDOUT_FILENO, addr + offset - pa_offset, length);\n" +" if (s != length) {\n" +" if (s == -1)\n" +" handle_error(\"write\");\n" +msgstr "" +" s = write(STDOUT_FILENO, addr + offset - pa_offset, length);\n" +" if (s != length) {\n" +" if (s == -1)\n" +" handle_error(\"write\");\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" fprintf(stderr, \"partial write\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" +" fprintf(stderr, \"Schreiben unvollständig\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" munmap(addr, length + offset - pa_offset);\n" +" close(fd);\n" +msgstr "" +" munmap(addr, length + offset - pa_offset);\n" +" close(fd);\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" exit(EXIT_SUCCESS);\n" +"}\n" +msgstr "" +" exit(EXIT_SUCCESS);\n" +"}\n" + +#. type: Plain text +#: debian-bookworm +msgid "" +"The descriptions of the following files in B<proc>(5): I</proc/[pid]/maps>, " +"I</proc/[pid]/map_files>, and I</proc/[pid]/smaps>." +msgstr "" +"Die Beschreibung der folgenden Dateien in B<proc>(5): I</proc/[PID]/maps>, " +"I</proc/[PID]/map_files> und I</proc/[PID]/smaps>." + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "2023-07-20" +msgstr "20. Juli 2023" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages 6.05.01" +msgstr "Linux man-pages 6.05.01" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "2023-04-03" +msgstr "3. April 2023" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "Linux-Handbuchseiten 6.04" |