FB18 - Das Forum für Informatik

fb18.de / Bachelorstudieng / PM Technische Informatik

GSS GProt 08

GSS GProt 08 2008-07-17 12:33
TieKei
Hier Wiki und so

RE: GSS GProt 08 2008-07-17 18:57
DualJ
Hab da mal einiges ergänzt, was mir einfiel.
Fehlen tun da aber unter anderem noch diese Kryptoaufgabe (Keystream-Generator, XOR…, 10 Punkte) und die phi-Berechnungen.
Ich war in der Klausur einmal kurz über die Punkte geflogen und kam auf eine Aufteilung 90/60, hab ich mich da verguckt oder kann das jemand bestätigen?

RE: GSS GProt 08 2008-07-17 19:22
doodles
ich denke du hast dich verguckt. Meines Erachtens war es 100/50

RE: GSS GProt 08 2008-07-18 16:02
Anonymer User
Ich denke auch Teil1 100 und Teil2 50

RE: GSS GProt 08 2008-08-13 18:49
Anonymer User
Mal ne Frage zur 2. Aufgabe im GP, die mit den Semaphoren..
Die gegebene Lösung ist doch sinnvoll oder?
Immerhin werden die jeweiligen kritischen Abschnitte betretten und auch wieder verlassen..das einzige Problem, das ich sehe ist evtl Verklemmung..
Und ändert sich denn irgendwas wenn der 1.Prozess wegfällt?

Und von welcher Problemstellung ist bei b3 die Rede?

Wär echt toll wenn mir hier jemand weiterhelfen könnte.

RE: GSS GProt 08 2008-08-13 19:55
T
Immerhin werden die jeweiligen kritischen Abschnitte betretten und auch wieder verlassen..das einzige Problem, das ich sehe ist evtl Verklemmung..
Und ändert sich denn irgendwas wenn der 1.Prozess wegfällt?
es ist keine verklemmung mehr möglich. (der vierte prozess kann auf jeden fall beide semaphoren 'bekommen', weil keiner sonst A will und D nur vom dritten angefordert wird, der dritte aber nach D nichts mehr anfordert und den semaphor somit wieder freigeben kann. daraus folgen die verklemmungsfreiheit vom dritten und schliesslich vom zweiten prozess)

RE: GSS GProt 08 2008-08-14 10:44
Anonymer User
Also ohne den 1.Prozess tritt keine Verklemmung mehr auf..
Aber wo genau tretten denn überhaupt die Verklemmungen auf, wenn der 1.Prozess noch dabei ist? Ich meine, es sind doch auch wenn sie geschachtelt sind eigentlich alles kritische Bereiche in denen eh jeweils nur 1 Prozess auf nen Semaphor zugreifen kann..
Und wenn es zu Verklemmungen kommt, dann kann man doch bei der ersten Frage eigentlich nicht schreiben, daß es eine sinnvolle Lösung ist oder?
Tut mir leid, aber mit Semaphoren komme ich irgendwie nicht zurecht..
Ist mir echt peinlich.
Kann jemand bitte erläutern?

RE: GSS GProt 08 2008-08-14 13:50
Anonymer User
wenn du alle Semaphore mit 1 initialisierst und jeder Prozess den ersten kritischen Abschnitt betritt, den zweiten aber nicht, dann kann ja keiner mehr den zweiten kritischen Abschnitt betreten. P1 braucht B, was aber schon von P2 reserviert ist. P2 braucht C, was aber schon von P3 reserviert ist.. P3 braucht D, was aber schon von P4 reserviert ist. P4 braucht A, was aber schon von P1 reserviert ist. Da ist dann die Verklemmung, die durch die zyklische Abhängigkeit verursacht wird.

RE: GSS GProt 08 2008-08-14 14:50
Anonymer User
Oh Toll! Vielen Dank! Jetzt hab ich's endlich kapiert.:-)

RE: GSS GProt 08 2008-08-30 13:55
Mr.Powers
Also wenn mann dann P1 weg lassen würde dann könnten die Semaphoren in der reinfolge P4,P3,P2 ausgeführt werden?Weil P4 benötigt A in seinem Kritischen abschnitt und A ist auch frei dann führt P4 A aus dann kann P3 weiter machen usw ?
Ist das richtig????

RE: GSS GProt 08 2008-09-19 13:09
Mr.Powers
Habe eine frage zu Teil eins der Gss Klausur und zwar Dateiverwaltung
Aufgabe 3: Dateiverwaltung
c)Warum ist es notwendig eine Datei zu öffnen, bevor der Inhalt gelesen wird? Mindestens 2 Gründe.

Damit das System weiß das sie benutzt bzw bearbeitet wird??Und um eventuell Zugriffs Rechte zu prüfen?
Was habt ihr da geschrieben?

RE: GSS GProt 08 2008-09-19 13:33
Wulf
Grund 1: weil's so im API steht
Grund 2: fällt mir keiner ein. Vorschläge? :)

Was ne dämliche Frage..

Damit das System weiß das sie benutzt bzw bearbeitet wird??
Und warum muss das System sowas wissen?! Man muss natürlich irgendwie dafür sorgen, dass es keine gar zu schlimmen races gib. Aber das lässt sich anders lösen.

Und um eventuell Zugriffs Rechte zu prüfen?
Das kannst du auch direkt bei jeder Operation prüfen.

RE: GSS GProt 08 2008-09-19 14:29
Mr.Powers
[10] ja die frage ist was sie als Antwort erwartet haben ich habe Null Punkte für meine Antwort gekriegt[20]

und das nicht wegen der Rechtschreibung [3]

RE: GSS GProt 08 2008-09-19 14:39
Fred
Beim Lesen aus einer Datei benötigst Du einen Haufen an Zustandsinformationen (in welchem Modus soll die Datei gelesen werden, wo bin ich gerade, sind wir schon am Ende, ist ein Fehler aufgetreten). Diese Informationen werden über ein Handle transparent verwaltet, welches man beim Öffnen einer Datei erhält und beim Schließen wieder freigibt.

RE: GSS GProt 08 2008-09-19 14:40
Fred
Interessant, ich darf offenbar folgendes nicht posten, sonst kommt ne sehr merkwürdige Fehlermeldung (Method not implemented):

F I L E
f o p e n
f c l o s e

RE: GSS GProt 08 2008-09-19 14:47
Wulf
Vorschlag für eine Lese-Schnittstelle ohne 0pen():
ssize_t readf1le(char *path, size_t offset, size_t length, void *buf);

path - Pfad/Datei - Angabe
offset - ab hier wird gelesen
length - so viele bytes werden maximal gelesen
buf - hier wird das gelesene reingeschrieben

r3turn:
>= 0 Anzahl der gelesenen Bytes
< 0 Fehler

Das System muss sich keinerlei Informationen merken, das kann alles die Anwendung machen!

RE: GSS GProt 08 2008-09-19 15:03
Muelli
*hust* das ist unsere firewall…

Naja, also ich koennte mir schon vorstellen, dass man den Modus, wo man gerade ist, ob man am Ende ist oder Fehler auch ohne einen Handle auf eine Datei rauskriegen und verwalten kann. Macht vielleicht sogar Sinn, weil ich eben nicht jede im System gespeicherte Information fuer mein Programm benoetige…

RE: GSS GProt 08 2008-09-19 15:10
Fred
ssize_t readf1le(char *path, size_t offset, size_t length, void *buf);
Und was ist mit Textdateien? Wie willst Du da einen vernünftigen Offset angeben?

RE: GSS GProt 08 2008-09-19 15:21
Wulf
Und was ist mit Textdateien? Wie willst Du da einen vernünftigen Offset angeben?

unter UNIX gibt es in 0pen() nicht einmal den Ansatz einer Möglichkeit, zwischen Binär- und Textdateien zu unterscheiden.

in `man 3 f0pen' habe ich gefunden:
The mode string can also include the letter 'b' either as a last character or as a character between the characters in any of the two-character strings described above. This is strictly for compatibility with C89 and has no effect; the 'b' is ignored on all POSIX conforming systems, including Linux.

Offenbar unterscheidet POSIX nicht zwischen Binär- und Textdateien. Und nun behaupte blos nicht, POSIX hätte keine weite Verbreitung gefunden ;-)

RE: GSS GProt 08 2008-09-19 16:06
Fred
Unterschiede zwischen Betriebssystem sind doch gerade ein Argument für ein Handle! So sind Dateioperationen portabel. Schau Dir mal an, was Du sonst (unter Windows) alles selber verwalten müsstest (aus der stdio.h von mingw):
typedef struct _iobuf { char* _ptr; int _cnt; char* _base; int _flag; int _file; int _charbuf; int _bufsiz; char* _tmpfname; } FILE;

RE: GSS GProt 08 2008-09-19 17:03
Wulf
c)Warum ist es notwendig eine Datei zu öffnen, bevor der Inhalt gelesen wird? Mindestens 2 Gründe.

Unterschiede zwischen Betriebssystem sind doch gerade ein Argument für ein Handle!

Das eine was man unbedingt braucht, das andere was lediglich ein paar Vorteile bietet…

RE: GSS GProt 08 2008-09-26 14:47
Anonymer User
Frage zu Aufgabe 1 aus dem Gprot
a) Illustriere Sie den zeitlichen Ablauf CPU Auslastung Zeitintervall 0-16ms
Wie habt ihr das gemacht?
Wie ist den die Bediengüte von P5 wenn P5 erst zum Zeitpunkt 11 startet sehe ich dann wenn ich die Bediengüte ausrechnen die zeit zb zwischen dem ende von P1 und dem start von P5 als warte zeit?
Wie habt ihr es Illustriere?Welche rein folge habt ihr raus ?P1,P4,P2,P3,P5?
Und was wollten sie bei b) hören? das für 16 ms der Schedule nicht gültig ist ? und für 20ms er bei einer Auslastung von 0.9 liegt???