WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 27.05.2004, 22:46   #11
paux
Veteran
 
Registriert seit: 25.09.2001
Beiträge: 386


Standard

Zitat:
Original geschrieben von eAnic
wenn ich php -m eingebe erhalte ich folgende Module
[...]
und sysvsem (Unterstützung für System-V-Semaphore) scheint zu fehlen, daher funktionieren die Semaphore nicht. PHP mit --enable-sysvsem neu übersetzen, dann stehen die Funktionen zur Verfügung.

Du kannst diese Funktionalität im Grunde aber auch weglassen, nur bist dann halt vor multiplen Zugriffen nicht geschützt.

lg paux
____________________________________
SpamAssassin - The only pne|s en|@rgement p|II that really works!
paux ist offline   Mit Zitat antworten
Alt 28.05.2004, 06:36   #12
eAnic
Inventar
 
Benutzerbild von eAnic
 
Registriert seit: 23.01.2000
Alter: 46
Beiträge: 2.135


eAnic eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von paux
und sysvsem (Unterstützung für System-V-Semaphore) scheint zu fehlen, daher funktionieren die Semaphore nicht. PHP mit --enable-sysvsem neu übersetzen, dann stehen die Funktionen zur Verfügung.

Du kannst diese Funktionalität im Grunde aber auch weglassen, nur bist dann halt vor multiplen Zugriffen nicht geschützt.

lg paux
Das heisst, Semaphores dienen zur Absicherung bestimmter Files gegen DOS Angriffen richtig?
Ich werde diese Funktion aber Sicherheitshalber neu reinkompilieren, weil den Source Code möchte ich nicht ändern.

Danke für die rasche Hilfe!
____________________________________
... back in business
eAnic ist offline   Mit Zitat antworten
Alt 28.05.2004, 08:18   #13
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard

Zitat:
Original geschrieben von eAnic
Das heisst, Semaphores dienen zur Absicherung bestimmter Files gegen DOS Angriffen richtig?
Nein.
Semaphore dienen dazu, den Zugriff mehrere prozesse auf eine Ressource (File, Shared Memory) zu synchronisieren.

Mah, lernt die Jugend heutzutage gar nichts mehr?

http://de.wikipedia.org/wiki/Semaphore_(Programmierung)
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org .
_m3 ist offline   Mit Zitat antworten
Alt 28.05.2004, 10:24   #14
eAnic
Inventar
 
Benutzerbild von eAnic
 
Registriert seit: 23.01.2000
Alter: 46
Beiträge: 2.135


eAnic eine Nachricht über ICQ schicken
Standard

Who cares?

Aber dann hat sich der liebe paux auch geirrt.

Zitat:
Da ich die Ausgabe via sleep() verzögere, kam er auf höchstens 3 Hits/Minute. Zusätzlich benutze ich ohnehin Semaphore, um ein DoS zu vermeiden.
____________________________________
... back in business
eAnic ist offline   Mit Zitat antworten
Alt 28.05.2004, 10:49   #15
kikakater
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.631


Standard

Was gemacht wird mit einem Semaphor ist einfach: Systemprogrammierung. Rund um den Einsatz eines Semaphors spannt sich ein Verwaltungsprogramm, z.B. ein Spooler (Druckauftragsabarbeitungsprogramm).

Wenn Du selbst Semaphore benutzt, betätigst Du Dich also als Systemprogrammierer - nicht zu verwechseln mit Assemblerprogrammierer.

Du musst also Routinen schaffen, die der Semaphorgesetzmäßigkeit des Verkehrsregelns nachgelagert sind, also Straßen (wie für Autos), Garagen (wie für Autos) etc., etc.

Semaphore sind also die Verkehrsampeln und Verkehrsregeln zugleich durch Constraints (also Zusammenhänge) die mit den Semaphoren paarweise auftreten.

Es gibt zwei Arten von Semaphoren:

Den Mutex (mutual exclusive) und dem alternierenden Semaphor mit Hilfsmittel Warteschlange, der Prozessumreihungen durchführt, das was in Windows und Linux usw. die Grundlage für Prozessverwaltung darstellt - dem "präemptiven Multitasking" ... im Gegensatz zu kooperativem Multitasking wie es Windows 3.11 darstellt.

Es musste in Windows 3.11 unbedingt die gesamte Windows Funktion verlassen werden UND eine neue Windows 3.11 API Funktion (außerdem noch alles in 16bit Adressraum gehalten) aufgerufen werden, bevor ein anderes Programm weiterarbeiten durfte bzw. konnte, weil erst dann festgestellt wurde durch Windows 3.11, daß die Zeitspanne für diesen Prozess bereits verkonsumiert wurde.

Mutual heisst 'beiderseitig', exclusive heißt 'ausschließlich'.

Was das ganze tatsächlich bedeutet ist:

Stillschweigendes Sperren oder Binärer Vorrangszugriff.

D.h. ein Semaphor dient der Kapselung von Ressourcezugriffen und damit dem Sicherstellen von nachvollziehbaren Systemzuständen, nicht jedoch Applikationszuständen, dafür sind wiederum file locks und memory locks in erster Linie und eben nicht Semaphore zuständig.
kikakater ist offline   Mit Zitat antworten
Alt 28.05.2004, 13:14   #16
paux
Veteran
 
Registriert seit: 25.09.2001
Beiträge: 386


Standard

@eAnic: Die Semaphore beschränken in meinem Script die gleichzeitigen Zugriffe auf höchstens 20 Stück. Das vermeidet, daß der Server bei allzu gierigen Spidern in die Knie geht.

lg
____________________________________
SpamAssassin - The only pne|s en|@rgement p|II that really works!
paux ist offline   Mit Zitat antworten
Alt 29.05.2004, 00:19   #17
eAnic
Inventar
 
Benutzerbild von eAnic
 
Registriert seit: 23.01.2000
Alter: 46
Beiträge: 2.135


eAnic eine Nachricht über ICQ schicken
Standard

So, ich hab nun php neu kompiliert und das script funktioniert nun wunderbar.
Vielen Dank für eure Hilfe!
____________________________________
... back in business
eAnic ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:36 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag