This post has been edited 1 times, last edit by "Markus" (Mar 8th 2005, 10:49am)
![]() |
Source code |
1 2 3 |
0 5 10 15 20 25 30 35 |======| |=====.... ^ Deadline für vorherigen Prozess |
Date of registration: Oct 9th 2002
Location: Hannover
Occupation: Design and Research Team Lead at Automattic, ex-FGSE WiMi
This post has been edited 1 times, last edit by "Dot" (Mar 9th 2005, 1:16pm)
Date of registration: Feb 18th 2003
Location: Göttingen
Occupation: Linux Coder (ex Mathe SR Inf Student)
Quoted
Original von Flu
Wenn ich es richtig sehe, sind die beiden Lösungen vertauscht.
Das Prinzip ist einfach: Du hast eine Ressource, auf die nur ein Prozess zur selben Zeit zugreifen darf. Immer wenn ein Prozess die Ressource benutzen will, ruft er die Systemfunktion up() (eingänger: wait()) auf. Nachdem up() verlassen wurde, kann der Prozess die Ressource benutzen. Nachdem der Prozess fertig ist, ruft er die Systemfunktion down() (eingängiger: signal()) auf.
Quoted
Original von snoopy
diese blöden blöden Semaphoren...
kann mir mal einer erklären, was das Geheimnis dran is?
Ich sehe nicht, wann ich den mutex up/down sezten muss genau!
Die Reihenfolge ist glaube ich dann unwichtig, wenn die beiden Aufrufe von down() direkt nacheinander stattfinden. Das müsste ich aber im Zusammenhang sehen, um es beurteilen zu können. Poste doch mal ein vollständiges Beispiel.
Quoted
down(mutex)
down(Lastwagen1)
...
Quoted
Original von Dot
0,7= 1-(1-x)(1-1/2)(1-1/4)
![]() |
Source code |
1 2 3 4 5 6 7 8 |
0,7 = 1-(1-x)(1-1/2)(1-1/4) 1 - 0,7 = (1-x)(1-1/2)(1-1/4) 0,3 = (1-x)(1/2)(3/4) 3/10 = (1-x)(3/8) 8/3*3/10 = 1-x 4/5 =1-x 1-4/5 =x x=1/5 |
This post has been edited 1 times, last edit by "Markus" (Mar 9th 2005, 8:40pm)