|
ulf-wendel.de   
|
|
 Home < PHP Schulung  < Cache-Technologien  < Speichermedien  < Shared Memory    |       |  
Print Version    
---
|
|
 Home 
 PHP Projekte 
 PHP Schulung 
    Informationsquellen 
    Geschichte 
    Core PHP 
    Fortgeschrittenes PHP 
    Templates 
    Cache-Technologien 
       Was cachen? 
       Wo cachen? 
       Probleme 
       Ersetzungsstrategien 
       Aktualität 
       Speichermedien 
          Datenbank 
          Filesystem 
          Shared Memory 
          Prozeßspeicher 
       Assembly 
       Lebensretter 
    OOH Forms 
 Technik der Site 
 Büchertipps 
 Fotografie 
 Airbrush 
 Kontakt 
 Stuff 

Shared Memory

Shared Memory ist ein klassisches Mittel zur Interprozeßkommunikation des Unix-Betriebssystem. Der Begriff bezeichnet einen Hauptspeicherbereich, der von mehreren Prozessen verwendet werden kann. Konkurrierende Zugriffe auf den Speicher werden unter Verwendung von sogenannten Semaphoren (Zählvariablen) synchronisiert. Das System garantiert, daß die zur Synchronisation verwendete Semaphore nur jeweils einem Prozeß zugeordnet wird.

Das Unix-Betriebssystem stellt dem Anwender eine meist konfigurierbare, endliche Anzahl von SHM-Segmenten einer bestimmten Maximalgröße bereit. Typisch ist eine Anzahl von 100 Segmenten zu je maximal 131072 Bytes.

Durch die begrenzte Anzahl von SHM-Segmenten ist es nicht möglich, jedem Cache-Eintrag ein Segment zur Verfügung zu stellen. Dies verbietet sich ohnehin, da die Größe des Cache-Eintrags die Größe eines SHM-Segment überschreiten kann. Mehrere kleinere Cache-Einträge in einem SHM-Segment unterzubringen, führt ebenso schnell zu einem sehr hohen Verwaltungsaufwand wie die Verteilung eines großen Cache-Eintrags über mehrere SHM-Segmente. Eine weitere Schwierigkeit, die Fragmentierung des Speichermedium wurde bereits bei den Ersetzungsstrategien diskutiert.

Die Implementierung im PEAR-Datencache verwendet lediglich ein SHM-Segment. In dem Segment wird ein Hash mit Cache-Einträgen abgelegt. Bei Anforderung eines Cache-Eintrags wird der Hash mit allen Einträgen ausgelesen und der angeforderte Eintrag zurückgeliefert. In Verbindung mit dem obligatorischen Semaphor-Handling und der Tatsache, daß PHP-Variablen nur in serialisierter Form im SHM abgelegt werden können, entsteht ein großer Verwaltungsoverhead. Dies sorgt für eine enttäuschende Performance.

<  ^  >

 Neues

 XML/XSLT Menu
 OOH-Form Rewrite

 PEAR Cache:
  SHM Container

 Suchstring Parser
 Buchrezensionen
 PEAR Cache:
  OutputCompression

 PEAR Menu Browser
 PEAR Menu Tutorial 
 PEAR Cache


 Tipp

Download Version:
oben rechts,
Download *.tar.gz
|
| --- |
|
  Top   |   <  ^  >   |   phpOpenTracker Statistik   |   URL: http://www.ulf-wendel.de/schulung/cache/container/shm.php   |   Stand: 05.02.2002   |   © Ulf Wendel   
|
| --- |

0.016 s Bearbeitungszeit, 0.002 s IT[X], 0.004 s Menu 3