On Thu, 24 Feb 2000, did Reinhard Foerster mean:
On Wed, Feb 23, 2000 at 09:49:15PM +0100, Thomas Dubiel wrote:
Hallo
ich sitze hier und grĂ¼ble ...
Mal ne ganz dumme Frage - wie kann ich erkennen, welche Semaphoren auf meinem System laufen?
Kann es sein, dass Linux gar keine Semaphoren unterstuetzt. Wenn doch ist das IMHO sehr neu.
Hmm, da hat jemand die Meinung Linux unterstuetze eines der wichtigsten Konzepte von MultiUser Systemen erst seit kurzem.... hmmm. Watson, notieren Sie!
Ganz im Ernst spaetestens seit Kernel 1.2 sind Shared Mem und Semaphoren unter Linux unterstuetzt, was relativ neu ist ist die Nutzung von Semaphoren (genauer: MUTEXes und Spin Locks) im Kern selbst, um SMP (symmetric multi processing) zu Realisieren. "Seit kurzem" heisst hier trotzdem seit 2.0.
Uebrigens kann man sich shared mem ausgeben lassen: cat /proc/sys/kernel/shmall -> ergibt den momentan genutzten shared mem cat /proc/sys/kernel/shmmax -> ergibt das Maximum echo 67108864 > /proc/sys/kernel/shmmax -> erhoeht (senkt) das Maximum auf 64MB
Semaphoren werden dynamisch verwaltet, es sind also (AFAIK) 2^31 davon verfuegbar (solange der Speicher fuer die Verwaltung reicht), das sollte auch fuer Informix und andere IPC-hungrige Apps genuegen. Leider gibt es kein SysCtl Interface fuer Semaphoren. Aehnliches gilt fuer die dritte SysV-IPC-Form: Message-Queues.
Das funzt natuerlich nicht, wenn im Kern kein SysV-IPC ist, aber dann wuerden auch viele andere Proggies nicht laufen (und /proc/.../shmmax waere nicht vorhanden).
Konrad Rosenbaum