jens.ebinger Geschrieben 17. Juni 2007 Geschrieben 17. Juni 2007 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* Zitieren
Klotzkopp Geschrieben 17. Juni 2007 Geschrieben 17. Juni 2007 *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. Zitieren
jens.ebinger Geschrieben 17. Juni 2007 Autor Geschrieben 17. Juni 2007 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. Zitieren
Klotzkopp Geschrieben 17. Juni 2007 Geschrieben 17. Juni 2007 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. Zitieren
jens.ebinger Geschrieben 18. Juni 2007 Autor Geschrieben 18. Juni 2007 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? Zitieren
carstenj Geschrieben 18. Juni 2007 Geschrieben 18. Juni 2007 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.... Zitieren
Klotzkopp Geschrieben 18. Juni 2007 Geschrieben 18. Juni 2007 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. Zitieren
jens.ebinger Geschrieben 19. Juni 2007 Autor Geschrieben 19. Juni 2007 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. Zitieren
carstenj Geschrieben 21. Juni 2007 Geschrieben 21. Juni 2007 nein, ich sehe da nix, weil: Eine person befindet sich auf meiner Ignorier-Liste. Wat? :confused: Zitieren
Empfohlene Beiträge
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.