Zum Inhalt springen

Fragen zum "Wechselseitigen Ausschluss"


jens.ebinger

Empfohlene Beiträge

Hallo.

Ich brauche eure Hilfe bei folgenden dicken Brocken:

------------------------------------------------------------------------------------------------------------

Betrachten Sie ein Einprozessorsystem mit Mehrprogrammbetrieb, in dem mehrere Benutzerprozesse lesend und schreibend auf einen gemeinsamen Speicher zugreifen (shared memory).

* Warum muss zwischen diesen Prozessen ein wechselseitiger Ausschluss realisiert werden?

* Wie wird das Problem des wechselseitigen Ausschlusses durch die drei folgenden Mechanismen gelöst:

o Synchronisationsvariable

o Semaphor und

o Monitore?

Geben Sie zu jedem dieser drei Mechanismen zudem die Vor- oder Nachteile bei ihrem Einsatz aus Sicht der Benutzerprozesse bzw. ihrer Programmierer an.

------------------------------------------------------------------------------------------------------------

*nixblick*

Link zu diesem Kommentar
Auf anderen Seiten teilen

*nixblick*
Was soll uns das sagen?

Verstehst du die Aufgabenstellung nicht? Soll hier jemand deine Hausaufgaben machen?

Wenn du "nix blickst", dann ist diese Aufgabe zu hoch für dich. Dann wäre Nachhilfe angebracht, oder die Wiederholung des Kurses bzw. der Vorlesung, in der diese Themen behandelt wurden. Dann ist das auch kein "dicker Brocken".

Ansonsten solltest du konkrete Fragen stellen, nicht einfach nur "Brauche Hilfe" rufen und die Aufgabenstellung hinklatschen. Das wird allgemein als unhöflich angesehen und kaum zum Erfolg führen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was soll uns das sagen?

Ich wollte die gesamte "Aufgaben"stellung präsentieren, nachdem ich keinen Wikipedia-Eintrag zum Thema "Synchronisationsvariable" gefunden hab. Nur "was ist ne Synchronisationsvariable" hätte sicher auch Haue gegeben.

Ich muss da keine Klausur liefern (jedenfalls nicht in diesem Jahrzehnt), bin einfach neugierig, so wie mit dem "selbstkompilierenden Compiler" oder dem "10% kleineren/grösseren Abstand zwischen Erde und Sonne".

Neugier ist (meiner Meinung nach) eine Pflichtdisziplin im Informatikfeld.

So, jetzt verhaut mich.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich wollte die gesamte "Aufgaben"stellung präsentieren, nachdem ich keinen Wikipedia-Eintrag zum Thema "Synchronisationsvariable" gefunden hab.
Das heißt, mit Semaphore und Monitor kannst du etwas anfangen? Dann stimmt es ja schon mal nicht, dass du "nix blickst".

Nur "was ist ne Synchronisationsvariable" hätte sicher auch Haue gegeben.
Du hast keine "Haue" bekommen. Ich habe dir nur gesagt, wie dein Beitrag hier aufgenommen wird.

Du hättest deine Frage auch so stellen können:

"Was ist denn hier mit Synchronisationsvariable gemeint? Unter den anderen beiden kann ich mir ja was vorstellen, aber mit diesem Begriff kann ich nichts anfangen. Wikipedia hat mir auch nicht weitergeholfen."

Ich hätte darauf ungefähr so geantwortet:

Ich vermute, damit ist einfach eine ganz normale Variable gemeint, im Shared Memory selbst angelegt, die zur Synchronisation genutzt wird. Wer auf den Speicher zugreifen will, prüft den Wert dieser Variablen, setzt sie auf einen "Lock"-Wert, bevor der Zugriff beginnt und setzt den Wert zurück, wenn er fertig ist. Der einfachste und zugleich am wenigstens funktionierende Synchronisationsmechanismus.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das heißt, mit Semaphore und Monitor kannst du etwas anfangen?

Zumindest weiss ich dass es drei Methoden gibt, so wie es dreierlei Besteck zum Essen gibt.

Zu den "Vor- oder Nachteile bei ihrem Einsatz aus Sicht der Benutzerprozesse bzw. ihrer Programmierer " habe ich noch keine Information bei Wikipedia (oder anderswo) gefunden. Warum hat sich nicht eine Methode durchgesetzt?

Der einfachste und zugleich am wenigstens funktionierende Synchronisationsmechanismus.

Warum ist das der "am wenigstens funktionierende Synchronisationsmechanismus"? Warum benutzt man sowas, wenn es funktionierende Code-Schnipsel für die anderen beiden Methoden gratis bei Wikipedia gibt?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

Warum benutzt man sowas, wenn es funktionierende Code-Schnipsel für die anderen beiden Methoden gratis bei Wikipedia gibt?

Wer benutzt sowas denn? Evtl. gab es das, bevor Semaphoren erfunden wurden? Abgesehen davon würde ich den Begriff "Synchronisationsvariable" eher als Oberbegriff einordnen, denn Semaphore sind ja auch nix anderes als Variablen, die zum Synchronisieren dienen.

Gefunden habe ich nur hier was:

Java ist auch eine Insel – 9.9 Synchronisation über Warten und Benachrichtigen

Das stehen u.a. dann auch die Nachteile....

Link zu diesem Kommentar
Auf anderen Seiten teilen

Zumindest weiss ich dass es drei Methoden gibt, so wie es dreierlei Besteck zum Essen gibt.
So absolut würde ich das nicht formulieren. Welche drei meinst du denn (Methoden, nicht Bestecke ;))?

Zu den "Vor- oder Nachteile bei ihrem Einsatz aus Sicht der Benutzerprozesse bzw. ihrer Programmierer " habe ich noch keine Information bei Wikipedia (oder anderswo) gefunden.
Es handelt sich doch offensichtlich um eine Übungs- oder Prüfungsaufgabe. Sie steht also nicht allein, sondern im Kontext zu einer Lektion in einem Buch, einem Kurs oder einer Vorlesung. Der Autor / Dozent hat gewisse Inhalte besprochen und Begriffe eingeführt, die er in der Aufgabe benutzt. Auch für die Antwort braucht man unter Umständen diesen Kontext. Du siehst ja an carstenjs Antwort, dass er sich etwas anderes unter "Synchronisationsvariable" vorstellt.

Warum hat sich nicht eine Methode durchgesetzt?
Warum hat sich nicht eine Art Besteck durchgesetzt?

Warum ist das der "am wenigstens funktionierende Synchronisationsmechanismus"?
Weil es dabei leicht zu Race Conditions kommen kann, wenn man nicht genau weiß, was man tut.

Warum benutzt man sowas, wenn es funktionierende Code-Schnipsel für die anderen beiden Methoden gratis bei Wikipedia gibt?
Es gibt viele, die es nicht besser wissen. Zudem ist das bei Wikipedia nur Pseudocode zur Veranschaulichung eines theoretischen Konzepts. Die Umsetzung in wirklichen Code kann (je nach Sprache) ganz anders aussehen.
Link zu diesem Kommentar
Auf anderen Seiten teilen

Du siehst ja an ...s Antwort, dass er sich etwas anderes unter "Synchronisationsvariable" vorstellt.

nein, ich sehe da nix, weil: Eine person befindet sich auf meiner Ignorier-Liste.

Das mit den "Wechselseitigen Ausschluss" muss ich mir mit ner guten Zigarre nochmal anguggen, so z.B. die drei Beispiele "Erzeuger-Verbraucher-Problem", "essende Philosophen" und das "Leser-Schreiber-Problem".

Die nächsten Tage beschäftige ich mich wahrscheinlich mit klumbatschigen Programmierversuchen, vsl. Sieb des Erastothenes in C++

Daher: Erstma danke.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...