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

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



Bernhard R. Link:
* Chris Leick:
#. type: Plain text
msgid ""
"If I<shmaddr>  isn't NULL and B<SHM_RND>  is specified in I<shmflg>, the "
"attach occurs at the address equal to I<shmaddr>  rounded down to the
nearest "
"multiple of B<SHMLBA>. Otherwise I<shmaddr>  must be a page-aligned
address "
"at which the attach occurs."
msgstr ""
"Wenn I<shmaddr>  nicht NULL ist und B<SHM_RND>  in I<shmflg>  angegeben
ist, "
"wird die Adresse durch Abrundung von I<shmaddr>  als Vielfaches von
B<SHMLBA>  "
"bestimmt. Andernfalls muss I<shmaddr>  eine an einer Speicherseite "
"ausgerichtete Adresse sein, an welcher der Anhang beginnt."
# s/der Anhang/die Zuordnung/ (auch im nächsten Eintrag)
Physikalisch richtig, allerdings wird im Original durchgehend von
»attach« geredet. Falsch ist es nicht, da ja nicht gesagt wird, dass das,
was angehängt wird in der Nähe liegen muss.
dict.leo.org nennt als Übersetzungen von attach:
an etw. befestigen
etw. anbauen
etw. anbringen
etw. anfuegen
etw. anhängen
etw. anheften
etw. anlagern
etw. anlegen
etw. (mit Nadel, etc) anmachen
etw. annähen
etw. anschlagen
etw. anschließen
etw. ansetzen
etw. anstecken
etw. ausnähen
etw. aufsetzen
etw. aufstecken
etw. beifügen
etw. beiheften

"anhängen" ist weder das erste in dieser Liste, noch würde ich sagen,
dass es die Bedeutung in diesem Fall besser treffen würde als über die
Hälfte der Wörter dieser Liste. (Um genau zu sein, betrachte ich es als
die deutlich schlechtere Lösung als fast alle, mit Ausnahme von anbauen
was ungefähr vergleichbar absurd wir anhängen ist, und echt besser nur als
"ausnähen".).

Ich persöhnlich finde aber, das man nicht Wort-für-Wort übersetzen sollte,
und bin daher für "einblenden".

Einblenden habe ich im Zusammenhang mit Speicher noch nie gehört. So wie ich es verstehe, wird hier der Speicherplatz vergrößert, indem der Zeiger shmaddr auf einen freien Speicherbereich verweist. Da der Speicher bereits vorher reserviert war, wird er hier nur angehängt. Bei dict.cc übrigens auf Platz eins der Liste.
(http://www.dict.cc/?s=attach)


"[...]There is no notion of a"
"write-only shared memory segment."
"[...]Es besteht kein Bedarf an einem gemeinsames
Speichersegment "
"mit reinem Schreibzugriff."
# Aus den Möglichkeiten, die Leo anbietet, schlage ich für Notion die
# Übersetzung Begriff vor. Den WOM (Write Only Memory) gibt es ja auch
schon:
# /dev/null
»Es gibt keinen Begriff für einem gemeinsames Speichersegment mit reinem
Schreibzugriff.«
Begriff passt meiner Meinung nach nicht. Ich denke wörtlich ist am
nähesten

"Es gibt keine Konzept eines gemeinsamen Speichersegmentes mit nur
Schreibzugriff."

Ich denke gemeint ist aber:

"Ein gemeinsames Speichersegment mit nur Schreibzugriff gibt es nicht.".

oder

"Ein gemeinsames Speichersegment mit nur Schreibzugriff ist nicht
vorgesehen.".

Letzteres finde ich gut. Ich werde es übernehmen (»nur« durch »reinen« ersetzt).


Vielen Dank.

Gruß,
Chris
# German translation of manpages - shmop.2.
# This file is distributed under the same license as the manpages-de package.
# Chris Leick <c.leick@vollbio.de>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: manpages-de\n"
"POT-Creation-Date: 2010-12-06 17:51+0100\n"
"PO-Revision-Date: 2010-12-09 09:44+0200\n"
"Last-Translator: Chris Leick <c.leick@vollbio.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"


#. type: TH
#, no-wrap
msgid "SHMOP"
msgstr "SHMOP"

#. type: TH
#, no-wrap
msgid "2008-06-03"
msgstr "3. Juni 2008"

#. type: TH
#, no-wrap
msgid "Linux"
msgstr "Linux"

#. type: TH
#, no-wrap
msgid "Linux Programmer's Manual"
msgstr "Linux-Programmierhandbuch"

#. type: SH
#, no-wrap
msgid "NAME"
msgstr "BEZEICHNUNG"

#. type: Plain text
msgid "shmat, shmdt - shared memory operations"
msgstr "shmat, shmdt - Operationen mit gemeinsam benutztem Speicher"

#. type: SH
#, no-wrap
msgid "SYNOPSIS"
msgstr "Ã?BERSICHT"

#. type: Plain text
#, no-wrap
msgid ""
"B<#include E<lt>sys/types.hE<gt>>\n"
"B<#include E<lt>sys/shm.hE<gt>>\n"
msgstr ""
"B<#include E<lt>sys/types.hE<gt>>\n"
"B<#include E<lt>sys/shm.hE<gt>>\n"

#. type: Plain text
#, no-wrap
msgid "B<void *shmat(int >I<shmid>B<, const void *>I<shmaddr>B<, int >I<shmflg>B<);>\n"
msgstr ""
"B<void *shmat(int >I<shmid>B<, const void *>I<shmaddr>B<, "
"int >I<shmflg>B<);>\n"

#. type: Plain text
#, no-wrap
msgid "B<int shmdt(const void *>I<shmaddr>B<);>\n"
msgstr "B<int shmdt(const void *>I<shmaddr>B<);>\n"

#. type: SH
#, no-wrap
msgid "DESCRIPTION"
msgstr "BESCHREIBUNG"

#. type: Plain text
msgid ""
"B<shmat>()  attaches the shared memory segment identified by I<shmid> to the "
"address space of the calling process.  The attaching address is specified by "
"I<shmaddr> with one of the following criteria:"
msgstr ""
"B<shmat>() hängt das durch I<shmid> bezeichnete gemeinsame Speichersegment an "
"den Adressraum des aufrufenden Prozesses an. Die Adresse des Anhangs wird "
"durch I<shmaddr> nach einem der folgenden Kriterien bestimmt:"

#. type: Plain text
msgid ""
"If I<shmaddr> is NULL, the system chooses a suitable (unused) address at "
"which to attach the segment."
msgstr ""
"Falls I<shmaddr> NULL ist, wählt das System eine geeignete (freie) Adresse, "
"an der das Segment angehängt wird."

#. type: Plain text
msgid ""
"If I<shmaddr> isn't NULL and B<SHM_RND> is specified in I<shmflg>, the "
"attach occurs at the address equal to I<shmaddr> rounded down to the nearest "
"multiple of B<SHMLBA>.  Otherwise I<shmaddr> must be a page-aligned address "
"at which the attach occurs."
msgstr ""
"Wenn I<shmaddr> nicht NULL ist und B<SHM_RND> in I<shmflg> angegeben ist, "
"wird die Adresse durch Abrundung von I<shmaddr> als Vielfaches von B<SHMLBA> "
"bestimmt. Andernfalls muss I<shmaddr> eine an einer Speicherseite "
"ausgerichtete Adresse sein, an welcher der Anhang beginnt."

#. type: Plain text
msgid ""
"If B<SHM_RDONLY> is specified in I<shmflg>, the segment is attached for "
"reading and the process must have read permission for the segment.  "
"Otherwise the segment is attached for read and write and the process must "
"have read and write permission for the segment.  There is no notion of a "
"write-only shared memory segment."
msgstr ""
"Ist B<SHM_RDONLY> in I<shmflg> gesetzt, wird das Segment zum Lesen angehängt "
"und der Prozess muss die Berechtigung für Lesezugriffe auf das Segment "
"besitzen. Andernfalls wird das Segment zum Lesen und Schreiben angehängt und "
"der Prozess muss die Berechtigung für Lese- und Schreibzugriffe auf das "
"Segment besitzen. Ein gemeinsames Speichersegment mit reinem Schreibzugriff "
"ist nicht vorgesehen."

#. type: Plain text
msgid ""
"The (Linux-specific)  B<SHM_REMAP> flag may be specified in I<shmflg> to "
"indicate that the mapping of the segment should replace any existing mapping "
"in the range starting at I<shmaddr> and continuing for the size of the "
"segment.  (Normally an B<EINVAL> error would result if a mapping already "
"exists in this address range.)  In this case, I<shmaddr> must not be NULL."
msgstr ""
"Mit dem (Linux-spezifischen) Schalter B<SHM_REMAP> in I<shmflag> können Sie "
"bestimmen, dass das Abbilden des Segments jede vorhandene Abbildung im "
"Bereich von I<shmaddr> bis zum Ende des Segments ersetzt. (Falls bereits eine "
"Abbildung in diesem Adressbereich existiert, würde dies normalerweise zu dem "
"Fehler B<EINVAL> führen.) In diesem Fall darf I<shmaddr> nicht NULL sein."

#. type: Plain text
msgid ""
"The B<brk>(2)  value of the calling process is not altered by the attach.  "
"The segment will automatically be detached at process exit.  The same "
"segment may be attached as a read and as a read-write one, and more than "
"once, in the process's address space."
msgstr ""
"Der B<brk>(2)-Wert des aufrufenden Prozesses wird durch das Anhängen nicht "
"verändert. Das Segment wird bei Beenden des Prozesses automatisch abgetrennt. "
"Das gleiche Segment kann mit Lese- sowie mit Lese- und Schreibzugriff einmal "
"oder mehrfach an den Adressraum des Prozesses angehängt werden."

#. type: Plain text
msgid ""
"A successful B<shmat>()  call updates the members of the I<shmid_ds> "
"structure (see B<shmctl>(2))  associated with the shared memory segment as "
"follows:"
msgstr ""
"Nach einem erfolgreichen B<shmat>()-Aufruf aktualisiert das System die "
"Bestandteile der dem Speichersegment zugeordneten I<shmid_ds>-Struktur (siehe "
"B<shmctl>(2)) wie folgt:"

#. type: Plain text
msgid "I<shm_atime> is set to the current time."
msgstr "I<shm_atime> wird auf die aktuelle Zeit gesetzt."

#. type: Plain text
msgid "I<shm_lpid> is set to the process-ID of the calling process."
msgstr "I<shm_lpid> wird auf die Prozess-ID des aufrufenden Prozesses gesetzt."

#. type: Plain text
msgid "I<shm_nattch> is incremented by one."
msgstr "I<shm_nattch> wird um eins erhöht."

#. type: Plain text
msgid ""
"B<shmdt>()  detaches the shared memory segment located at the address "
"specified by I<shmaddr> from the address space of the calling process.  The "
"to-be-detached segment must be currently attached with I<shmaddr> equal to "
"the value returned by the attaching B<shmat>()  call."
msgstr ""
"B<shmdt>() löst das gemeinsame Speichersegment, das an der Adresse I<shmaddr> "
"liegt aus dem Adressraum des aufrufenden Prozesses. Das zu entfernende "
"gemeinsame Speichersegment muss momentan mit I<shmaddr> angehängt sein, das "
"dem Rückgabewert des anhängenden B<shat>()-Aufrufs entspricht."

#. type: Plain text
msgid ""
"On a successful B<shmdt>()  call the system updates the members of the "
"I<shmid_ds> structure associated with the shared memory segment as follows:"
msgstr ""
"Nach einem erfolgreichen B<shmdt>()-Aufruf aktualisiert das System die "
"Bestandteile der dem Speichersegment zugeordneten Struktur B<shmid_ds> wie "
"folgt:"

#. type: Plain text
msgid "I<shm_dtime> is set to the current time."
msgstr "I<shm_dtime> wird auf die aktuelle Zeit gesetzt."

#. type: Plain text
msgid ""
"I<shm_nattch> is decremented by one.  If it becomes 0 and the segment is "
"marked for deletion, the segment is deleted."
msgstr ""
"I<shm_nattch> wird um eins verringert. Wenn es dabei zu 0 wird und das Segment "
"zum Löschen markiert ist, wird es gelöscht."

#. type: Plain text
msgid ""
"After a B<fork>(2)  the child inherits the attached shared memory segments."
msgstr ""
"Nach einem B<fork>(2) erbt der Kindprozess das angehängte gemeinsame "
"Speichersegment."

#. type: Plain text
msgid ""
"After an B<execve>(2)  all attached shared memory segments are detached from "
"the process."
msgstr ""
"Nach einem B<exec>(2) sind alle angehängten gemeinsamen Speichersegmente "
"vom Prozess abgelöst."

#. type: Plain text
msgid ""
"Upon B<_exit>(2)  all attached shared memory segments are detached from the "
"process."
msgstr ""
"Bei einem B<exit>(2) sind alle angehängten gemeinsamen Speichersegmente vom "
"Prozess abgelöst."

#. type: SH
#, no-wrap
msgid "RETURN VALUE"
msgstr "RÃ?CKGABEWERT"

#. type: Plain text
msgid ""
"On success B<shmat>()  returns the address of the attached shared memory "
"segment; on error I<(void\\ *)\\ -1> is returned, and I<errno> is set to "
"indicate the cause of the error."
msgstr ""
"Bei Erfolg gibt B<shmat>() die Adresse des angehängten gemeinsamen "
"Speichersegments zurück; bei einem Fehler wird I<(void\\ *)\\ -1> "
"zurückgegeben und I<errno> so gesetzt, dass es den Grund des Fehlers anzeigt."

#. type: Plain text
msgid ""
"On success B<shmdt>()  returns 0; on error -1 is returned, and I<errno> is "
"set to indicate the cause of the error."
msgstr ""
"Bei Erfolg gibt B<shmdt>() 0 zurück; bei einem Fehler wird -1 zurückgegeben "
"und I<errno> so gesetzt, dass es den Grund des Fehlers anzeigt."

#. type: SH
#, no-wrap
msgid "ERRORS"
msgstr "FEHLER"

#. type: Plain text
msgid "When B<shmat>()  fails, I<errno> is set to one of the following:"
msgstr ""
"Wenn B<shmat> fehlschlägt, wird I<errno> mit einem der folgenden Werte belegt:"

#. type: TP
#, no-wrap
msgid "B<EACCES>"
msgstr "B<EACCES>"

#. type: Plain text
msgid ""
"The calling process does not have the required permissions for the requested "
"attach type, and does not have the B<CAP_IPC_OWNER> capability."
msgstr ""
"Dem aufrufenden Prozess fehlen die nötigen Zugriffsrechte für den "
"angeforderten Anhangtyp und die B<CAP_IPC_OWNER>-Fähigkeit."

#. type: TP
#, no-wrap
msgid "B<EINVAL>"
msgstr "B<EINVAL>"

#. type: Plain text
msgid ""
"Invalid I<shmid> value, unaligned (i.e., not page-aligned and B<SHM_RND> was "
"not specified) or invalid I<shmaddr> value, or can't attach segment at "
"I<shmaddr>, or B<SHM_REMAP> was specified and I<shmaddr> was NULL."
msgstr ""
"ungültiger I<shmid>-Wert, nicht ausgerichteter (d.h. nicht an die Seitengrö�e "
"angepasst und B<SHM_RND> wurde nicht angegeben) oder ungültiger "
"I<shmaddr>-Wert oder es wurde B<SHM_REMAP> angegeben und I<shmaddr> war NULL."

#. type: TP
#, no-wrap
msgid "B<ENOMEM>"
msgstr "B<ENOMEM>"

#. type: Plain text
msgid "Could not allocate memory for the descriptor or for the page tables."
msgstr ""
"Es konnte kein Speicher für den Deskriptor oder die Seitentabellen reserviert "
"werden."

#. type: Plain text
msgid "When B<shmdt>()  fails, I<errno> is set as follows:"
msgstr ""
"Wenn B<shmat>() fehlschlägt, ist I<errno> mit einem der folgenden Werte "
"belegt:"

#.  The following since 2.6.17-rc1:
#. type: Plain text
msgid ""
"There is no shared memory segment attached at I<shmaddr>; or, I<shmaddr> is "
"not aligned on a page boundary."
msgstr ""
"Es ist kein gemeinsames Speichersegment an I<shmaddr> angehängt oder "
"I<shmaddr> ist nicht an der Seitengrenze ausgerichtet."

#. type: SH
#, no-wrap
msgid "CONFORMING TO"
msgstr "KONFORM ZU"

#.  SVr4 documents an additional error condition EMFILE.
#. type: Plain text
msgid "SVr4, POSIX.1-2001."
msgstr "SVr4, POSIX.1-2001."

#. type: Plain text
msgid ""
"In SVID 3 (or perhaps earlier)  the type of the I<shmaddr> argument was "
"changed from I<char *> into I<const void *>, and the returned type of "
"B<shmat>()  from I<char *> into I<void *>.  (Linux libc4 and libc5 have the "
"I<char *> prototypes; glibc2 has I<void *>.)"
msgstr ""
"In SVID 3 (oder vielleicht früher) wurde der Typ des Arguments I<shmaddr> von "
"I<char *> in I<const void *> und der von B<shmat>() zurückgegebene Typ von "
"I<char *> in I<void *> geändert. (Linux-Libc4 und -Libc5 haben die "
"I<char *>-Prototypen, Glibc2 hat I<void *>.)"

#. type: SH
#, no-wrap
msgid "NOTES"
msgstr "ANMERKUNGEN"

#. type: Plain text
msgid ""
"Using B<shmat>()  with I<shmaddr> equal to NULL is the preferred, portable "
"way of attaching a shared memory segment.  Be aware that the shared memory "
"segment attached in this way may be attached at different addresses in "
"different processes.  Therefore, any pointers maintained within the shared "
"memory must be made relative (typically to the starting address of the "
"segment), rather than absolute."
msgstr ""
"Die bevorzugte, portierbare Möglichkeit ein gemeinsames Speichersegment "
"anzuhängen besteht darin, B<shmat>() mit I<shmaddr> gleich NULL zu benutzen. "
"Sie sollten wissen, dass das angehängte gemeinsame Speichersegment auf diese "
"Art an unterschiedliche Adressen in unterschiedlichen Prozessen angehängt "
"werden kann. Deshalb müssen alle innerhalb des gemeinsamen Speichers "
"verwalteten Zeiger relativ (typischerweise zur Startadresse des Segments) "
"statt absolut sein."

#. type: Plain text
msgid ""
"On Linux, it is possible to attach a shared memory segment even if it is "
"already marked to be deleted.  However, POSIX.1-2001 does not specify this "
"behavior and many other implementations do not support it."
msgstr ""
"Auf Linux ist es möglich, sogar ein gemeinsames Speichersegment anzuhängen, "
"wenn es bereits zum Löschen markiert ist. POSIX.1-2001 spezifiziert dieses "
"Verhalten jedoch nicht und andere Implementierungen unterstützen es nicht."

#. type: Plain text
msgid "The following system parameter affects B<shmat>():"
msgstr "Der folgende Systemparameter beeinflusst B<shmat>():"

#.  FIXME A good explanation of the rationale for the existence
#.  of SHMLBA would be useful here
#. type: TP
#, no-wrap
msgid "B<SHMLBA>"
msgstr "B<SHMLBA>"

#.  FIXME That last sentence isn't true for all Linux
#.  architectures (i.e., SHMLBA != PAGE_SIZE for some architectures)
#.  -- MTK, Nov 04
#. type: Plain text
msgid ""
"Segment low boundary address multiple.  Must be page aligned.  For the "
"current implementation the B<SHMLBA> value is B<PAGE_SIZE>."
msgstr ""
"Adress-Multiplikator der Segmentuntergrenze. Muss seitenkonform sein. In der "
"aktuellen Implemtentierung ist der Wert von B<SHMBLA> gleich B<PAGE_SIZE>."

#. type: Plain text
msgid ""
"The implementation places no intrinsic limit on the per-process maximum "
"number of shared memory segments (B<SHMSEG>)."
msgstr ""
"Die Implemtentierung hat keinen wesentlichen Einschränkungen der maximalen "
"Anzahl von gemeinsamen Speichersegmenten pro Prozess (B<SHMSEG>)"

#. type: SH
#, no-wrap
msgid "SEE ALSO"
msgstr "SIEHE AUCH"

#. type: Plain text
msgid ""
"B<brk>(2), B<mmap>(2), B<shmctl>(2), B<shmget>(2), B<capabilities>(7), "
"B<shm_overview>(7), B<svipc>(7)"
msgstr ""
"B<brk>(2), B<mmap>(2), B<shmctl>(2), B<shmget>(2), B<capabilities>(7), "
"B<shm_overview>(7), B<svipc>(7)"

#. type: SH
#, no-wrap
msgid "COLOPHON"
msgstr "KOLOPHON"

#. type: Plain text
msgid ""
"This page is part of release 3.27 of the Linux I<man-pages> project.  A "
"description of the project, and information about reporting bugs, can be "
"found at http://www.kernel.org/doc/man-pages/.";
msgstr ""
"Diese Seite ist Teil der Veröffentlichung 3.27 des Projekts Linux-I<man-"
"pages>. Eine Beschreibung des Projekts und Informationen, wie Fehler "
"gemeldet werden können, finden sich unter http://www.kernel.org/doc/man-";
"pages/."

Reply to: