Mailinglist Archive: opensuse-programming-de (171 mails)

< Previous Next >
shared libraries - gemeinsamer Datenbereich
  • From: Raimund Hölle <mailings@xxxxxxxxxxxxxxxx>
  • Date: Wed, 22 Jan 2003 14:34:37 +0100
  • Message-id: <3E2E9DED.2090402@xxxxxxxxxxxxxxxx>
Hallo,

kennt jemand einen Weg, wie mehrere Prozesse auf gemeinsame Daten in einer shared library zugreifen können?

Der Hintergrund ist folgender:

Mehrere Prozesse sollen alle auf den Inhalt einer Ressource-Datei Zugriff haben.

Da der Zugriff auf die Ressourcen sehr häufig passiert, kommt das Durchsuchen der Datei bei jedem Ressourcenzugriff nicht in Frage, irgendwie muß die Datei gepuffert werden (ist ausßerdem XML, also ziemlich aufwendig zu parsen).

Da diese Datei sehr groß werden kann (> 1MB) und es u. U. mehrere hundert Prozesse gleichzeitig gibt, ist das Laden der Datei beim Programmstart in den Heap nicht möglich.

Um die Verwendung von Shared Memory möchte ich mich rumdrücken, da die Verwaltung doch recht kompliziert ist - die gesamte Speicherzuteilung muß manuell gestrickt werden, ich kann nicht auf existierende C++-Listen- und Stringbibliotheken zurückgreifen.

Aus meiner OS/2-Zeit kenne ich das Prinzip der DLL's, bei denen es möglich war, einen Speicherbereich zu definieren, der für alle gelinkten Prozesse gemeinsam war; hier konnte z. B. ein Zeiger auf eine Heap-Struktur hinterlegt werden.

Weiß jemand, ob das mit Shared Libraries unter Linux auch möglich ist? Oder kennt jemand einen anderen Weg, um das Problem zu lösen?

Bin für jede Hilfe dankbar!

Viele Grüße
Raimund



< Previous Next >
Follow Ups