Hausübung 13 Aufgabe 5

Benutzeravatar
der Interpeter
Mausschubser
Mausschubser
Beiträge: 73
Registriert: 30. Okt 2007 22:24

Hausübung 13 Aufgabe 5

Beitrag von der Interpeter »

"Wenn zu einem Zeitpunkt in der Warteschlange sowohl ein neuer Prozess als auch ein alter, noch nicht fertig
gerechneter, gerade aus dem Prozessor ausgelagerter Prozess eintreffen, nehmen Sie an, dass der neue Prozess minimal
früher eintrifft und daher vor dem alten Prozess in der Warteschlange eingereiht wird."

Mir ist noch nicht ganz klar wie das gedacht ist.

Mal als Beispiel: Wie ginge es da jetzt weiter, würde P2 oder P3 als nächstes bearbeitet?

Bild
I never comment my sourcecode. What's HARD to write must be HARD to read!

flofalk
Neuling
Neuling
Beiträge: 6
Registriert: 17. Nov 2011 21:43

Re: Hausübung 13 Aufgabe 5

Beitrag von flofalk »

Die gleiche Frage habe ich mir auch schon gestellt.

Ich würde aus deinem Beispiel jetzt P2 bearbeiten, denn es heißt ja "ein alter, noch nicht fertig gerechneter, gerade aus dem Prozessor ausgelagerter Prozess". Das bedeutet meiner Ansicht nach, dass nur Prozesse die schonmal (teilweise) gelaufen sind darunter fallen. Was für P2 aus dem Beispiel ja nicht gilt, da P2 nur wartet.

mw1039
Computerversteher
Computerversteher
Beiträge: 346
Registriert: 12. Apr 2011 12:18

Re: Hausübung 13 Aufgabe 5

Beitrag von mw1039 »

Angenommen timeslices waeren 3 Zeiteinheiten lang und P2 wuerde zum Zeitpunkt 3 ankommen: Dann wuerde ja auch zum Zeitpunkt 3 P1 aus dem Prozessor aus- und in die Queue eingelagert werden. Dann muss man sich entscheiden: Kommt erst P2 dran, oder kommt erst P1 mit seinem naechsten timeslice dran. Oder noch genauer: Kommt erst P2 in die Queue oder erst P1 vom Prozessor in die Queue?
Und immer wenn ein solcher Fall auftritt, soll angenommen werden, dass der neue Thread (hier P2) ein Stueckchen frueher ankommt und deshalb vor dem alten (hier P1) in die Queue kommt.

Benutzeravatar
der Interpeter
Mausschubser
Mausschubser
Beiträge: 73
Registriert: 30. Okt 2007 22:24

Re: Hausübung 13 Aufgabe 5

Beitrag von der Interpeter »

Das ist klar.

Aber wie verhält es sich wenn ältere noch nicht bearbeitete Prozesse in der Queue sind?
Kommt dann der älteste nicht bearbeitete Prozess an die Reihe oder der zum passenden Zeitpunkt (wie von dir beschrieben) neu in die Queue eingelagerte?

Darum auch das Beispiel mit den 3 Prozessen. Wenn der timeslice von P1 fertig ist wartet P2 schon 1ZE, P3 kommt frisch in die Queue.

Da würde ich jetzt als nächstes P2 bearbeiten da es schon 1ZE wartet.
Ich denke der Fall mit dem früher ankommenden Prozess aus deinem Beispiel kommt nur zum Tragen wenn die Queue leer ist.

Ist das richtig?
I never comment my sourcecode. What's HARD to write must be HARD to read!

mw1039
Computerversteher
Computerversteher
Beiträge: 346
Registriert: 12. Apr 2011 12:18

Re: Hausübung 13 Aufgabe 5

Beitrag von mw1039 »

Jobs werden immer hinten in die Queue eingehaengt. D.h. es kommen erstmal die Jobs dran, die schon laenger in der Queue sind. Wenn das anders gehandhabt wuerde, koennte es passieren, dass Jobs, die schon laenger in der Queue sind, dort verhungern, weil immer wieder neue Jobs hinzukommen und sich vordraengeln duerfen.

Und bei der Frage, wer zuerst (hinten) an die Queue angehaengt wird, wird so verfahren, dass erst der neue Prozess reinkommt und dann der alte, gerade ausgelagerte.

studypad
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 158
Registriert: 30. Mär 2011 11:46

Re: Hausübung 13 Aufgabe 5

Beitrag von studypad »

Ich habe das Gefühl die Aufgabenstellung widerspricht sich mit den hier getroffenen Aussagen:
Angenommen die 3 Zeiteinheiten sind rum und gerade zu diesem Zeitpunkt fängt Prozess P3 an obwohl P2 in der Warteschlange ist.
Nach Aufgabenblatt wäre jetzt P3 an der Reihe und nach der Aussage hier wäre nun P2 an der Reihe da P3 ja hinten angehängt wird..

Wie sollen wir es nun verstehen?
Vielleicht steh ich auch aufm Schlauch...

Dennis Albrecht
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 222
Registriert: 4. Okt 2010 18:15

Re: Hausübung 13 Aufgabe 5

Beitrag von Dennis Albrecht »

Grundsätzlich gibt es erstmal eine Warteschlange, welche sich mit jeder Ankunft erweitert. Kommen nun zwei Prozesse gleichzeitig an, wird der Prozess bevorzugt, der gerade nicht bearbeitet wurde. Abgearbeitet wird immer am anderen Ende der Warteschlange. Das widerspricht auch nicht der Aufgabenstellung auf dem Aufgabenblatt. Einziger Unterschied zwischen den beiden Erklärungen ist, dass das Aufgabenblatt nur den Sonderfall behandelt und hier das gesamte (aber eigentlich bekannte) Verfahren erklärt wurde.

Als Beispiel: nach drei Zeiteinheiten wird Prozess zwei angefangen, da der schon am längsten in der Warteschlange wartet. Kannst dir auch für jeden Zeitpunkt aufschreiben, wie die ganze Warteschlange aussieht, dann musst du immer nur noch den ersten nehmen und die anderen aufrücken.

Gruß

mw1039
Computerversteher
Computerversteher
Beiträge: 346
Registriert: 12. Apr 2011 12:18

Re: Hausübung 13 Aufgabe 5

Beitrag von mw1039 »

Dennis Albrecht hat geschrieben:Kannst dir auch für jeden Zeitpunkt aufschreiben, wie die ganze Warteschlange aussieht,
Das sollte man auf jeden Fall tun. Es sei denn man kann die Warteschlange zu jedem Zeitpunkt im Kopf behalten.

Antworten

Zurück zu „Archiv“