matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Hochschulmathe
  Status Uni-Analysis
    Status Reelle Analysis
    Status UKomplx
    Status Uni-Kompl. Analysis
    Status Differentialgl.
    Status Maß/Integrat-Theorie
    Status Funktionalanalysis
    Status Transformationen
    Status UAnaSon
  Status Uni-Lin. Algebra
    Status Abbildungen
    Status ULinAGS
    Status Matrizen
    Status Determinanten
    Status Eigenwerte
    Status Skalarprodukte
    Status Moduln/Vektorraum
    Status Sonstiges
  Status Algebra+Zahlentheo.
    Status Algebra
    Status Zahlentheorie
  Status Diskrete Mathematik
    Status Diskrete Optimierung
    Status Graphentheorie
    Status Operations Research
    Status Relationen
  Status Fachdidaktik
  Status Finanz+Versicherung
    Status Uni-Finanzmathematik
    Status Uni-Versicherungsmat
  Status Logik+Mengenlehre
    Status Logik
    Status Mengenlehre
  Status Numerik
    Status Lin. Gleich.-systeme
    Status Nichtlineare Gleich.
    Status Interpol.+Approx.
    Status Integr.+Differenz.
    Status Eigenwertprobleme
    Status DGL
  Status Uni-Stochastik
    Status Kombinatorik
    Status math. Statistik
    Status Statistik (Anwend.)
    Status stoch. Analysis
    Status stoch. Prozesse
    Status Wahrscheinlichkeitstheorie
  Status Topologie+Geometrie
  Status Uni-Sonstiges

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenSonstiges - InformatikSemaphor grafisch darstellen
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Geschichte • Erdkunde • Sozialwissenschaften • Politik/Wirtschaft
Forum "Sonstiges - Informatik" - Semaphor grafisch darstellen
Semaphor grafisch darstellen < Sonstige < Schule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges - Informatik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Semaphor grafisch darstellen: Tipp
Status: (Frage) beantwortet Status 
Datum: 11:45 Mi 03.09.2008
Autor: tomu

Hallo,

ich habe zwei Prozesse mit Semaphoroperationen:
Prozess1: p(S2) .. v(S2) .. p(S2) .. v(S2)
Prozess2: p(S2) .. v(S2) .. p(S1) .. v(S1)

Wie kann ich das am besten grafisch darstellen um eine evtl. Verklemmung festzustellen?




Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
Semaphor grafisch darstellen: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:55 Mi 03.09.2008
Autor: smarty

Hallo Tomu,

und herzlich [willkommenvh]


gibt es zu der Aufgabe noch mehr Informationen?


Grüße
Smarty

Bezug
                
Bezug
Semaphor grafisch darstellen: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 14:02 Mi 03.09.2008
Autor: tomu

Hallo Smarty,

leider nicht viel mehr..
Nur das man bei diesen beiden Prozessen die "parallel" laufen, herausfinden soll, ob hier eine Verklemmung (also ein deadlock) entsteht. Und das ganze dann auch noch "Beweisen". Beim Beweisen habe ich gedacht das es am besten grafisch gezeigt werden kann. Aber ich weiß eben noch nicht was hier eine gute und verständliche Lösung ist...

Das ist auch nur eine Aufgabe von vielen. Die anderen sind aber ähnlich aufgebaut.

Bezug
        
Bezug
Semaphor grafisch darstellen: Antwort
Status: (Antwort) fertig Status 
Datum: 12:53 Do 04.09.2008
Autor: smarty

Hallo Tomu,

ich habe für dich mal einen Link (einfach draufklicken) herausgesucht.

[]http://dbs.uni-leipzig.de/buecher/mrdbs/mrdbs-83.html#MARKER-9-103

Ich hoffe das hilft ein wenig. Wenn du die Antwort/Lösung hast, kannst du sie ja hier auch reinstellen. Es würde mich interessieren, wie man aus so wenig Informationen irgendwas bastelt :-)


Grüße
Smarty

Bezug
        
Bezug
Semaphor grafisch darstellen: Antwort
Status: (Antwort) fertig Status 
Datum: 13:11 Do 04.09.2008
Autor: Somebody


> Hallo,
>  
> ich habe zwei Prozesse mit Semaphoroperationen:
>  Prozess1: p(S2) .. v(S2) .. p(S2) .. v(S2)
>  Prozess2: p(S2) .. v(S2) .. p(S1) .. v(S1)
>  
> Wie kann ich das am besten grafisch darstellen um eine
> evtl. Verklemmung festzustellen?

Dafür verwendet man in der Regel einen "resource allocation graph" mit zwei Arten von Knoten: Prozessknoten und Resourceknoten. Ein Pfeil von einem Prozessknoten zu einem Resourceknoten bedeutet: der Prozess versucht die Resource zu allozieren. Ein Pfeil von einer Resource zu einem Prozess bedeutet: die Resouce ist dem betreffenden Prozess zugeteilt worden. Ganz grob vereinfachend bedeutet Deadlock in einen solchen Graphen die Existenz eines gerichteten Zyklus. (Vereinfachend: es wird insbesondere angenommen, dass kein nachträgliches Entziehen einer bereits zugeteilten Resource möglich ist und dass eine Resource auch nicht mehreren Prozessen zugeteilt werden kann.) Für die Details: suche auf dem Netz einfach nach "resource allocation graph", eventuell mit dem zusätzlichen Stichwort "deadlock".

Ein offensichtliches Problem ist natürlich, dass der resource allocation graph eigentlich nur ein Schnappschuss der augenblicklichen Situation darstellt. Weshalb man zur Klärung der Frage der Existenz eines Deadlocks alle Zustände des resource allocation graphs untersuchen müsste, die aufgrund der Programmlogik überhaupt möglich sind.
Allerdings frage ich mich, ob es Deine Aufgabe wirklich erfordert, mit einem so "primitiven" Synchronisationsmechanismus wie Semaphoren zu arbeiten. Kannst Du nicht einen etwas "strukturierteren" Synchronisationsmechanismus wie z.B. "Monitore" oder Lösungen eines bereits hinreichend analysierten Synchronisationsproblems wie dem (multiple)Reader/(multiple)Writer-Problem (z.B. synchronized message queues) verwenden?

Bezug
                
Bezug
Semaphor grafisch darstellen: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 14:56 Do 04.09.2008
Autor: tomu

Hi,

danke für die Antwort.

Ich habs jetzt mal so dargestellt:
[Dateianhang nicht öffentlich]
Beim unteren Teil sollte es keine Probleme geben, Prozess1 greift auf S2 zu und Prozess2 auf S1.
Im oberen Teil wollen beide Prozesse S2 zur gleichen Zeit nutzen. Aber eigentlich kann es doch gar nicht zu einem deadlock kommen, wenn das ganze durch Semaphoren abgesichert ist, oder?

Irgendwie scheint mir da nochwas unklar zu sein...

Dateianhänge:
Anhang Nr. 1 (Typ: png) [nicht öffentlich]
Bezug
                        
Bezug
Semaphor grafisch darstellen: Antwort
Status: (Antwort) fertig Status 
Datum: 15:40 Do 04.09.2008
Autor: Somebody


> Hi,
>  
> danke für die Antwort.
>  
> Ich habs jetzt mal so dargestellt:
>  [Dateianhang nicht öffentlich]
>  Beim unteren Teil sollte es keine Probleme geben, Prozess1
> greift auf S2 zu und Prozess2 auf S1.
>  Im oberen Teil wollen beide Prozesse S2 zur gleichen Zeit
> nutzen. Aber eigentlich kann es doch gar nicht zu einem
> deadlock kommen, wenn das ganze durch Semaphoren
> abgesichert ist, oder?

Bei dieser speziellen Reihenfolge der Verwendung der Semaphoren kann es, wie Du richtig bemerkst, nicht zu einem Deadlock kommen: dies liegt einfach daran, dass keiner der Prozesse eine $p$-Operation auf einer der Semaphoren ausführt, während er sich bezüglich einer anderen Semaphore zwischen einer $p$ und der zugehörigen $v$-Operation befindet. Er gibt also jede Resource (hier: Semaphore) wieder frei, bevor er sich um eine weitere Resource bewirbt.

> Irgendwie scheint mir da nochwas unklar zu sein...

Wenn Dein System keine Prozesse mit in einander verschachtelten, mittels [mm] $p(S_n)\ldots v(S_n)$ [/mm] geschützte Codeblöcke besitzt, kann kein Deadlock auftreten. Denn jeder Prozess gibt nach einer [mm] $p(S_n)$-Operation [/mm] in endlicher Zeit die Semaphore [mm] $S_n$ [/mm] mittels [mm] $v(S_n)$ [/mm] wieder frei, ohne daran durch eine blockierende [mm] $p(S_m)$-Operation [/mm] auf einer anderen Semaphore [mm] $S_m$ [/mm] gehindert werden zu können. Gefährlich wird's erst, wenn Dein Code (dynamisch) in einander verschachtelte [mm] $p(S_n)\ldots v(S_n)$ [/mm] Blöcke besitzt. Wichtig ist der Zusatz: dynamisch. Du musst also die Möglichkeit in Betracht ziehen, dass eine solche Verschachtelung im Quellcode nicht unmittelbar (statisch) sichtbar ist.

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges - Informatik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.unimatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]