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

Re: [RFR] man://manpages-de/mremap.2



* Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> [121123 20:27]:
> # s/abbildung/einblendung/ ?
> #. type: Plain text
> msgid ""
> "B<mremap>()  expands (or shrinks) an existing memory mapping, potentially "
> "moving it at the same time (controlled by the I<flags> argument and the "
> "available virtual address space)."
> msgstr ""
> "B<mremap>() vergr????ert (oder verkleinert) eine bestehende Speicherabbildung, "
> "potenziell durch gleichzeitiges Verschieben (gesteuert durch das Argument "
> "I<flags> und den zur Verf??gung stehenden virtuellen Speicherplatz)."

Hat mmap schon eine Übersetzung? Memory mapping sollte gleich wie dort
übersetzt sein. Und falls es eine hat, hoffe ich, dass die nicht
"Speicherabbildung" ist.

Ich persöhnlich tendiere zu "Einblendung".

linguee.de findet: Speicher-Einblendung, Speicheraufteilung, Mapping,
gemappter Speicher, Speicher-Anordnung, Speicher-Zuordnung.

> #. type: Plain text
> msgid ""
> "I<old_address> is the old address of the virtual memory block that you want "
> "to expand (or shrink).  Note that I<old_address> has to be page aligned.  "
> "I<old_size> is the old size of the virtual memory block.  I<new_size> is the "
> "requested size of the virtual memory block after the resize.  An optional "
> "fifth argument, I<new_address>, may be provided; see the description of "
> "B<MREMAP_FIXED> below."
> msgstr ""
> "I<old_address> ist die alte Adresse des virtuellen Speicherblocks, den man "
> "vergr????ern (oder verkleinern) m??chte.  Beachten Sie, dass I<old_address> an "
> "den Speicherseiten ausgerichtet sein muss.

"durch die Seitengröße teilbar seien muss"?

> #. type: Plain text
> msgid ""
> "In Linux the memory is divided into pages.  A user process has (one or)  "
> "several linear virtual memory segments.  Each virtual memory segment has one "
> "or more mappings to real memory pages (in the page table).  Each virtual "
> "memory segment has its own protection (access rights), which may cause a "
> "segmentation violation if the memory is accessed incorrectly (e.g., writing "
> "to a read-only segment).  Accessing virtual memory outside of the segments "
> "will also cause a segmentation violation."
> msgstr ""
> "Unter Linux ist der Speicher in Seiten eingeteilt. Ein Benutzerprozess "
> "verf??gt ??ber (ein oder) mehrere lineare virtuelle Speichersegmente.  Jedes "

s/lineare/zusamenhängende/

> "virtuelle Speichersegment hat ein oder mehr Verkn??pfungen zu realen "
> "Speicherseiten

verweist auch ein oder mehrere physikalische Speicherbereiche.

> (in der Seitentabelle).

Page Table würde ich hier schon unübersetzt lassen.


> Jedes virtuelle Speichersegment hat "
> "seinen eigenen Schutz (Zugriffsrechte),

s/Schutz/Absicherung/ ?

Vorschlag: s/seinen eigenen Schutz (Zugriffsrechte)/seine eigenen Zugriffsrechte/.

> welcher eine Segmentverletzung "

Wenn dann eher Segmentierungsverletzung. (Es wird ja nicht der Speicher
verletzt, sondern die Trennungsregeln).

> "(Segmentation violation) verursachen kann, wenn auf den Speicher nicht "
> "korrekt zugegriffen wird. Zugriffe auf virtuellen Speicher au??erhalb der "
> "Segmente verursachen ebenfalls eine Segmentverletzung."


> #. type: Plain text
> msgid ""
> "B<mremap>()  uses the Linux page table scheme.  B<mremap>()  changes the "
> "mapping between virtual addresses and memory pages.  This can be used to "
> "implement a very efficient B<realloc>(3)."
> msgstr ""
> "B<mremap>() benutzt das Linux-Schema f??r ??page tables?? (Seitentabellen). "
> "B<mremap>() ??ndert die Verkn??pfung zwischen virtuellen Adressen und "
> "Speicherseiten.

Ich denke das ist verbesserungswürdig. Ich habe aber keine Ahnung,
wie...

> # FIXME: flag(s) ?
> #. type: Plain text
> msgid "The I<flags> bit-mask argument may be 0, or include the following flag:"
> msgstr ""
> "Das Bitmasken-Argument I<flags> kann 0 sein oder die folgenden Flags "
> "einschlie??en:"

enthalten?

> # Mapping -> Abbildung, Einblendung, ??? ???
> #. type: Plain text
> msgid ""
> "By default, if there is not sufficient space to expand a mapping at its "
> "current location, then B<mremap>()  fails.  If this flag is specified, then "
> "the kernel is permitted to relocate the mapping to a new virtual address, if "
> "necessary.  If the mapping is relocated, then absolute pointers into the old "
> "mapping location become invalid (offsets relative to the starting address of "
> "the mapping should be employed)."
> msgstr ""
> "Per Voreinstellung schl??gt B<mremap>() fehl, wenn an der aktuellen Position "
> "nicht ausreichend Platz vorhanden ist, um den Speicherplatz zu vergr????ern. "

um die Einblendung zu vergößern?

> "Wird dieses Flag angegeben, darf der Kernel die Speicherabbildung an eine "

s/abbildung/einblendung/

> "neue virtuelle Adresse verlegen, falls das erforderlich ist. Falls die "
> "Abbildung verlegt wurde, werden absolute Zeiger zum Ort der alten Abbildung "
> "ung??ltig.

werden absolute Zeiger in den alten virtuellen Addressbereich der
Speichereinblendung ungültig.

> (Es sollten Offsets relativ zum Anfang des Speicherbereichs "
> "verwendet werden.)"



> #. type: Plain text
> msgid ""
> "This flag serves a similar purpose to the B<MAP_FIXED> flag of B<mmap>(2).  "
> "If this flag is specified, then B<mremap>()  accepts a fifth argument, "
> "I<void *new_address>, which specifies a page-aligned address to which the "
> "mapping must be moved.  Any previous mapping at the address range specified "
> "by I<new_address> and I<new_size> is unmapped.  If B<MREMAP_FIXED> is "
> "specified, then B<MREMAP_MAYMOVE> must also be specified."
> msgstr ""
> "Dieses Flag dient einem ??hnlichen Zweck wie das Flag B<MAP_FIXED> von B<mmap>"
> "(2).

linguee findet für "serves a similar purpose" unter anderem "hat die gleiche Funktion
wie", was ich hier recht passend finde (ansonsten noch "geht in die
gleiche Richtung wie", was hier nicht so gut passt).

> Wenn dieses Flag angegeben wird, dann akzeptiert B<mremap>() ein "
> "f??nftes Argument, I<void *new_address>, das eine an Seiten ausgerichtete "
> "Adresse angibt,

wie oben.

> an die das Mapping verschoben werden muss.

s/muss/soll/

(und jetzt plötzlich Mapping?)

> #. type: Plain text
> msgid ""
> "If the memory segment specified by I<old_address> and I<old_size> is locked "
> "(using B<mlock>(2)  or similar), then this lock is maintained when the "
> "segment is resized and/or relocated.  As a consequence, the amount of memory "
> "locked by the process may change."
> msgstr ""
> "Falls das von I<old_address> und I<old_size> angegebene Speichersegment "
> "gesperrt ist (mittels B<mlock>(2) oder etwas ??hnlichem), wird diese Sperre "
> "aufrecht erhalten, wenn das Speichersegment verschoben oder seine Gr????e "
> "ge??ndert wird. Als Folge davon kann sich die Gr????e des durch einen Prozess "
> "gesperrten Speichers ??ndern."

Größe ist hier recht holprig.  s/Größe/Menge/ auch nicht so viel
besser...

> #. type: Plain text
> msgid ""
> "On success B<mremap>()  returns a pointer to the new virtual memory area.  "
> "On error, the value B<MAP_FAILED> (that is, I<(void\\ *)\\ -1>) is returned, "
> "and I<errno> is set appropriately."
> msgstr ""
> "Bei Erfolg gibt B<mremap>() einen Zeiger auf den neuen virtuellen "
> "Speicherbereich zur??ck. Im Fehlerfall wird -1 zur??ckgegeben und I<errno> "
> "entsprechend gesetzt."

Ähm, der Unterschied zwischen MAP_FAILED und -1 ist wichtig, der sollte
nicht so einfach unter den Tisch fallen.

> #. type: Plain text
> msgid ""
> "The caller tried to expand a memory segment that is locked, but this was not "
> "possible without exceeding the B<RLIMIT_MEMLOCK> resource limit."
> msgstr ""
> "Der Aufrufende versuchte, ein gesperrtes Speichersegment zu vergr????ern. Das "
> "war nicht m??glich, ohne die Begrenzung f??r die Ressource B<RLIMIT_MEMLOCK> "
> "zu ??berschreiten."

ohne die Resourcen-Begrenzung B<RLIMIT_MEMLOCK> zu überschreiten.

(RLIMIT_MEMLOCK ist der Name der Begrenzung, nicht der begrenzten
Resource).

> #. type: Plain text
> msgid ""
> "\"Segmentation fault.\" Some address in the range I<old_address> to "
> "I<old_address>+I<old_size> is an invalid virtual memory address for this "
> "process.  You can also get B<EFAULT> even if there exist mappings that cover "
> "the whole address space requested, but those mappings are of different types."
> msgstr ""
> "??Segmentation fault.?? Eine Adresse im Bereich von I<old_address> bis "
> "I<old_address>+I<old_size> ist eine ung??ltige virtuelle Speicheradresse f??r "

lieber unzuläßig als ungültig.

> "diesen Prozess. Sie k??nnen sogar B<EFAULT> erhalten, wenn Verkn??pfungen existieren, "

s/Verknüpfungen/Einblendungen/

> "die den gesamten angeforderten Adressraum abdecken, aber von "
> "unterschiedlichem Typ sind."

> #. type: Plain text
> msgid ""
> "An invalid argument was given.  Possible causes are: I<old_address> was not "
> "page aligned; a value other than B<MREMAP_MAYMOVE> or B<MREMAP_FIXED> was "
> "specified in I<flags>; I<new_size> was zero; I<new_size> or I<new_address> "
> "was invalid; or the new address range specified by I<new_address> and "
> "I<new_size> overlapped the old address range specified by I<old_address> and "
> "I<old_size>; or B<MREMAP_FIXED> was specified without also specifying "
> "B<MREMAP_MAYMOVE>."
> msgstr ""
> "Es wurde ein ung??ltiges Argument angegeben. M??gliche Gr??nde sind: "

s/ungültig/unzulässig/ (ungültig ist zwar eine recht häufige
Fehlübersetzung in diesem Kontext, aber...).

Und ich denke das sind "Ursachen" und nicht "Gründe" in diesem Fall.


        Bernhard R. Link


Reply to: